From: "Andreas Färber" <afaerber@suse.de>
To: Peter Crosthwaite <crosthwaitepeter@gmail.com>, qemu-devel@nongnu.org
Cc: rth@twiddle.net, Bharata B Rao <bharata@linux.vnet.ibm.com>,
ehabkost@redhat.com, aurelien@aurel32.net,
Peter Crosthwaite <crosthwaite.peter@gmail.com>
Subject: Re: [Qemu-devel] [PATCH qom v4 2/7] cpus: Convert cpu_index into a bitmap
Date: Wed, 24 Jun 2015 15:53:35 +0200 [thread overview]
Message-ID: <558AB65F.3010108@suse.de> (raw)
In-Reply-To: <703168841e3f440be5ea6f6bc314fbeaaa33aaf1.1435112834.git.crosthwaite.peter@gmail.com>
Am 24.06.2015 um 04:31 schrieb Peter Crosthwaite:
> From: Bharata B Rao <bharata@linux.vnet.ibm.com>
>
> Currently CPUState.cpu_index is monotonically increasing and a newly
> created CPU always gets the next higher index. The next available
> index is calculated by counting the existing number of CPUs. This is
> fine as long as we only add CPUs, but there are architectures which
> are starting to support CPU removal too. For an architecture like PowerPC
> which derives its CPU identifier (device tree ID) from cpu_index, the
> existing logic of generating cpu_index values causes problems.
>
> With the currently proposed method of handling vCPU removal by parking
> the vCPU fd in QEMU
> (Ref: http://lists.gnu.org/archive/html/qemu-devel/2015-02/msg02604.html),
> generating cpu_index this way will not work for PowerPC.
>
> This patch changes the way cpu_index is handed out by maintaining
> a bit map of the CPUs that tracks both addition and removal of CPUs.
>
> The CPU bitmap allocation logic is part of cpu_exec_init() which is
> called by instance_init routines of various CPU targets. Newly added
> cpu_exec_exit() API handles the deallocation part and this routine is
> called from generic CPU::instance_finalize().
>
> Note: This new CPU enumeration is for !CONFIG_USER_ONLY only.
> CONFIG_USER_ONLY continues to have the old enumeration logic.
>
> Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com>
> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
> Reviewed-by: Igor Mammedov <imammedo@redhat.com>
> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
> Acked-by: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com>
> ---
> exec.c | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
> include/qom/cpu.h | 1 +
> qom/cpu.c | 7 +++++++
> 3 files changed, 58 insertions(+), 5 deletions(-)
Doesn't apply on my tree, trying manually...
Andreas
--
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Dilip Upmanyu, Graham Norton; HRB
21284 (AG Nürnberg)
next prev parent reply other threads:[~2015-06-24 13:53 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-24 2:31 [Qemu-devel] [PATCH qom v4 0/7] More core code ENV_GET_CPU removals Peter Crosthwaite
2015-06-24 2:31 ` [Qemu-devel] [PATCH qom v4 1/7] cpus: Add Error argument to cpu_exec_init() Peter Crosthwaite
2015-06-24 13:37 ` Andreas Färber
2015-06-24 2:31 ` [Qemu-devel] [PATCH qom v4 2/7] cpus: Convert cpu_index into a bitmap Peter Crosthwaite
2015-06-24 13:53 ` Andreas Färber [this message]
2015-06-24 15:39 ` Andreas Färber
2015-06-24 2:31 ` [Qemu-devel] [PATCH qom v4 3/7] ppc: Move cpu_exec_init() call to realize function Peter Crosthwaite
2015-06-24 2:31 ` [Qemu-devel] [PATCH qom v4 4/7] translate-all: Change tb_flush() env argument to cpu Peter Crosthwaite
2015-06-24 15:30 ` Andreas Färber
2015-06-24 17:06 ` Peter Crosthwaite
2015-06-24 17:23 ` Andreas Färber
2015-06-24 17:29 ` Peter Crosthwaite
2015-06-24 2:31 ` [Qemu-devel] [PATCH qom v4 5/7] gdbserver: _fork: Change fn to accept cpu instead of env Peter Crosthwaite
2015-06-24 2:31 ` [Qemu-devel] [PATCH qom v4 6/7] cpus: Change tcg_cpu_exec() arg to cpu, not env Peter Crosthwaite
2015-06-24 2:31 ` [Qemu-devel] [PATCH qom v4 7/7] cpus: Change exec_init() " Peter Crosthwaite
2015-07-02 15:55 ` Andreas Färber
2015-06-24 17:13 ` [Qemu-devel] [PATCH qom v4 0/7] More core code ENV_GET_CPU removals Andreas Färber
2015-06-24 17:16 ` Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=558AB65F.3010108@suse.de \
--to=afaerber@suse.de \
--cc=aurelien@aurel32.net \
--cc=bharata@linux.vnet.ibm.com \
--cc=crosthwaite.peter@gmail.com \
--cc=crosthwaitepeter@gmail.com \
--cc=ehabkost@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.