[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC v3 0/3] prebuild cpu QOM tree /machine/node/socket/cor
From: |
chen.fan.fnst |
Subject: |
[Qemu-devel] [RFC v3 0/3] prebuild cpu QOM tree /machine/node/socket/core ->link-cpu |
Date: |
Tue, 11 Mar 2014 18:58:51 +0800 |
From: "chen.fan.fnst" <address@hidden>
at present, after hotplug a discontinuous cpu id on source, then done migration,
on target, it will fail to add the unoccupied cpu id which was skipped at
source,
this cause is on target Qemu prebuild CPU with continuous cpu_index. so after
migration, the cpu infrastructure bewteen source and target are different.
I suppose we could use apic_id as instance_id which was used at registering
vmstate
when create cpu. on target, we prebuild the specified cpu topology using comand
line:
-device /machine/node[]/socket[]/core[]/cpu[], then migration, we could keep
the same
cpu infrastructure on both side.
V3: get rid of thread object and tie link<cpu> to <core> directly. and prebuild
full
core[] and thread[] as init socket[] according to smp_cores and smp_threads.
TODO:
1. add cpu "path" property which used for specifying the QOM path.
2. add -device cpu-foo.path supported.
3. then we could introduce hot-remove cpu probably.
I don't know wether this way is right or not. pls tell me. :)
chen.fan.fnst (3):
cpu: introduce CpuTopoInfo structure for argument simplification
i386: use CpuTopoInfo instead apic_id as argument for pc_new_cpu()
i386: introduce cpu QOM hierarchy tree
hw/i386/pc.c | 15 +++-
target-i386/Makefile.objs | 2 +-
target-i386/cpu-topology.c | 198 +++++++++++++++++++++++++++++++++++++++++++++
target-i386/cpu-topology.h | 71 ++++++++++++++++
target-i386/cpu.c | 15 +++-
target-i386/cpu.h | 6 ++
target-i386/topology.h | 33 ++++----
7 files changed, 317 insertions(+), 23 deletions(-)
create mode 100644 target-i386/cpu-topology.c
create mode 100644 target-i386/cpu-topology.h
--
1.8.1.4
- [Qemu-devel] [RFC v2 0/2] prebuild cpu QOM tree /machine/node/socket/core/thread/.., Chen Fan, 2014/03/04
- [Qemu-devel] [RFC v2 1/2] i386: introduce "struct X86TopoInfo" for saving cpu topology information, Chen Fan, 2014/03/04
- Re: [Qemu-devel] [RFC v2 1/2] i386: introduce "struct X86TopoInfo" for saving cpu topology information, Eduardo Habkost, 2014/03/04
- [Qemu-devel] [RFC v3 2/3] i386: use CpuTopoInfo instead apic_id as argument for pc_new_cpu(), chen.fan.fnst, 2014/03/11
- Re: [Qemu-devel] [RFC v3 2/3] i386: use CpuTopoInfo instead apic_id as argument for pc_new_cpu(), Eduardo Habkost, 2014/03/11
- Re: [Qemu-devel] [RFC v3 2/3] i386: use CpuTopoInfo instead apic_id as argument for pc_new_cpu(), Chen Fan, 2014/03/12
- [Qemu-devel] [RFC v4 0/3] prebuild cpu QOM tree /machine/node/socket/core ->link-cpu, Chen Fan, 2014/03/12
- [Qemu-devel] [RFC v4 1/3] cpu: introduce CpuTopoInfo structure for argument simplification, Chen Fan, 2014/03/12
- Re: [Qemu-devel] [RFC v4 1/3] cpu: introduce CpuTopoInfo structure for argument simplification, Eduardo Habkost, 2014/03/12
- [Qemu-devel] [PATCH v1 0/4] prebuild cpu QOM tree /machine/node/socket/core ->link-cpu, Chen Fan, 2014/03/19
- [Qemu-devel] [PATCH v1 2/4] i386: use CpuTopoInfo instead apic_id as argument for pc_new_cpu(), Chen Fan, 2014/03/19