[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 0/3] Bitmap based CPU enumeration
From: |
Bharata B Rao |
Subject: |
[Qemu-devel] [PATCH v2 0/3] Bitmap based CPU enumeration |
Date: |
Tue, 12 May 2015 11:06:23 +0530 |
This patch changes the way cpu_index is handed out to newly created
CPUs by tracking the allocted CPUs in a bitmap. More information and
the need for this patch is described in patch 2/3 of this series. These
generic changes are needed to support CPU hot plug/unplug on PowerPC.
An open question is about handling of holes correctly in the allocated
bitmap to support VM migration after CPU unplug. This was briefly discussed
here:
https://lists.gnu.org/archive/html/qemu-devel/2015-04/msg00560.html
Should cpu_exec_init() API support specifying of a particular cpu_index
in addition to returning the next available cpu_index by default ? I know
that QEMU cmdline semantics for CPU device add/delele haven't been defined
yet, but should we now make provision in cpu_exec_init() to allocate the
required cpu_index ?
Changes in v2
-------------
Following changes to address Eduardo's comments:
- Call cpu_exec_init() from generic CPU::instance_finalize() instead
of touching all archs.
- Initialize cpu_index to -1 from generic CPU::instance_init().
- Callers of cpu_exec_init() now pass error_abort argument instead of NULL.
- Consolidate the older CPU enumeration code for CONFIG_USER_ONLY under
cpu_get_free_index().
v1: https://lists.gnu.org/archive/html/qemu-devel/2015-05/msg01385.html
v0: https://lists.gnu.org/archive/html/qemu-devel/2015-03/msg02950.html
Bharata B Rao (3):
cpus: Add Error argument to cpu_exec_init()
cpus: Convert cpu_index into a bitmap
ppc: Move cpu_exec_init() call to realize function
exec.c | 57 ++++++++++++++++++++++++++++++++++++++++-----
include/exec/exec-all.h | 2 +-
include/qom/cpu.h | 1 +
qom/cpu.c | 7 ++++++
target-alpha/cpu.c | 2 +-
target-arm/cpu.c | 2 +-
target-cris/cpu.c | 2 +-
target-i386/cpu.c | 2 +-
target-lm32/cpu.c | 2 +-
target-m68k/cpu.c | 2 +-
target-microblaze/cpu.c | 2 +-
target-mips/cpu.c | 2 +-
target-moxie/cpu.c | 2 +-
target-openrisc/cpu.c | 2 +-
target-ppc/translate_init.c | 9 +++++--
target-s390x/cpu.c | 2 +-
target-sh4/cpu.c | 2 +-
target-sparc/cpu.c | 2 +-
target-tricore/cpu.c | 2 +-
target-unicore32/cpu.c | 2 +-
target-xtensa/cpu.c | 2 +-
21 files changed, 83 insertions(+), 25 deletions(-)
--
2.1.0