All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eduardo Otubo <eduardo.otubo@profitbricks.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>,
	qemu-devel@nongnu.org, pkrempa@redhat.com, ehabkost@redhat.com,
	Bandan Das <bdas@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v4 00/16] pc: add CPU hot-add/hot-remove with device_add/device_del
Date: Wed, 10 Aug 2016 15:56:24 +0200	[thread overview]
Message-ID: <20160810135624.GA31198@vader> (raw)
In-Reply-To: <20160719005027-mutt-send-email-mst@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 4509 bytes --]

On Tue, Jul 19, 2016 at 12=59=36AM +0300, Michael S. Tsirkin wrote:
> On Thu, Jul 14, 2016 at 06:54:29PM +0200, Igor Mammedov wrote:
> > Changelog:
> 
> So for pc and apic bits:
> 
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> 
> Since Eduardo picked up first part of this, feel free
> to merge the rest too.

Hi Igor,

I was a little curios about the state of this feature. Is this going to
make it to 2.7?

Best regards,

> 
> 
> 
> >   since v3:
> >     * rebase on top of x86-next tree as it's already applied 1-6/19 from v3
> >       (so they are could be omitted from v4)
> >     * set apic-state to NULL after destroying it in unrealize()
> >     * fix places where I forgot to print X86CPUTopoInfo fields as %u
> >     * move "pc: implement query-hotpluggable-cpus callback" after
> >       patch that enables device_add cpu
> >     * extract counting of present cpus in possible_cpus into a separate helper
> >     * newly added patches:
> >         * pc: forbid BSP removal
> >         * pc: enforce adding CPUs contiguously and removing them in opposit order
> >         * apic: kvm-apic: fix crash due to access to freed memory region
> >     * update Reviewed-bys
> >   since v2:
> >     * use 0xFFFFFFFF for UNASSIGNED_APIC_ID instead of UINT32_MAX
> >     * add comment why 0xFFFFFFFF could be used for UNASSIGNED_APIC_ID
> >     * print topo ids is unsigned
> >     * print APIC ID as hex
> >     * print topo ids calculated from APIC ID beside it
> >     * add extra patch to fix migration failure due to APIC's instance_id mismatch
> >   since v1:
> >     * s/pc_find_cpu/pc_find_cpu_slot/ + add comment to it
> >     * add more sanity checks for socket-id/core-id/thread-id and 'apic'
> >       properties
> >     * include device_del cpu patches and related fixes to x86 CPU/apic
> > 
> > Series enabling usage of -device/device_add for adding CPUs as devices
> > and device_del for removing them. Using -device/device_add in combination
> > with query-hotpluggable-cpus QMP command allows to hotplug CPUs at any
> > not used possition and then safely migrate QEMU instance by specifying
> > hotadded CPUs on target with help of -device CLI option like with any
> > other device.
> > Having been able to replicate exact topology on taggert with -device CPUs
> > also opens poosibility to hot-remove CPUs, which this series does by
> > enabling to use device_del with x86 CPUs.
> > 
> > 
> > git tree for testing:
> >   https://github.com/imammedo/qemu.git dev_del_cpu_v4
> > for viewing:
> >   https://github.com/imammedo/qemu/commits/dev_del_cpu_v4
> > 
> > Tested with RHEL7.2 guest including ping/pong migration with adding/removing
> > CPUs in between.
> > 
> > CC: pkrempa@redhat.com
> > CC: ehabkost@redhat.com
> > CC: mst@redhat.com
> > CC: eduardo.otubo@profitbricks.com
> > CC: Bandan Das <bdas@redhat.com>
> > 
> > Igor Mammedov (16):
> >   pc: set APIC ID based on socket/core/thread ids if it's not been set
> >     yet
> >   pc: delay setting number of boot CPUs to machine_done time
> >   pc: register created initial and hotpluged CPUs in one place
> >     pc_cpu_plug()
> >   pc: forbid BSP removal
> >   pc: enforce adding CPUs contiguously and removing them in opposit
> >     order
> >   pc: cpu: allow device_add to be used with x86 cpu
> >   pc: implement query-hotpluggable-cpus callback
> >   apic: move MAX_APICS check to 'apic' class
> >   apic: drop APICCommonState.idx and use APIC ID as index in
> >     local_apics[]
> >   apic: kvm-apic: fix crash due to access to freed memory region
> >   (kvm)apic: add unrealize callbacks
> >   apic: use apic_id as apic's migration instance_id
> >   target-i386: cpu: do not ignore error and fix apic parent
> >   target-i386: fix apic object leak when CPU is deleted
> >   target-i386: add x86_cpu_unrealizefn()
> >   pc: make device_del CPU work for x86 CPUs
> > 
> >  include/hw/i386/apic_internal.h |   5 +-
> >  include/hw/i386/pc.h            |   5 ++
> >  hw/i386/kvm/apic.c              |   9 +-
> >  hw/i386/pc.c                    | 183 ++++++++++++++++++++++++++++++++++------
> >  hw/intc/apic.c                  |  26 +++++-
> >  hw/intc/apic_common.c           |  33 ++++++--
> >  qmp-commands.hx                 |  15 ++++
> >  target-i386/cpu.c               |  23 ++++-
> >  8 files changed, 251 insertions(+), 48 deletions(-)
> > 
> > -- 
> > 2.7.4

-- 
Eduardo Otubo
ProfitBricks GmbH

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

  reply	other threads:[~2016-08-10 13:56 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-14 16:54 [Qemu-devel] [PATCH v4 00/16] pc: add CPU hot-add/hot-remove with device_add/device_del Igor Mammedov
2016-07-14 16:54 ` [Qemu-devel] [PATCH v4 01/16] pc: set APIC ID based on socket/core/thread ids if it's not been set yet Igor Mammedov
2016-07-14 16:54 ` [Qemu-devel] [PATCH v4 02/16] pc: delay setting number of boot CPUs to machine_done time Igor Mammedov
2016-07-14 17:37   ` Eduardo Habkost
2016-07-14 16:54 ` [Qemu-devel] [PATCH v4 03/16] pc: register created initial and hotpluged CPUs in one place pc_cpu_plug() Igor Mammedov
2016-07-14 16:54 ` [Qemu-devel] [PATCH v4 04/16] pc: forbid BSP removal Igor Mammedov
2016-07-14 17:49   ` Bandan Das
2016-07-14 17:54   ` Eduardo Habkost
2016-07-14 18:16     ` Bandan Das
2016-07-14 20:55       ` Eduardo Habkost
2016-07-14 21:02         ` Bandan Das
2016-07-15  9:25     ` Igor Mammedov
2016-07-18  8:31   ` [Qemu-devel] [PATCH v5 " Igor Mammedov
2016-07-19 12:55     ` Eduardo Habkost
2016-07-14 16:54 ` [Qemu-devel] [PATCH v4 05/16] pc: enforce adding CPUs contiguously and removing them in opposit order Igor Mammedov
2016-07-14 18:10   ` Bandan Das
2016-07-15  9:33     ` Igor Mammedov
2016-07-15 15:57       ` Bandan Das
2016-07-18  8:32   ` [Qemu-devel] [PATCH v5 " Igor Mammedov
2016-07-18 21:05   ` [Qemu-devel] [PATCH v4 " Eric Blake
2016-07-19 12:25     ` Igor Mammedov
2016-07-19 12:30       ` Eduardo Habkost
2016-07-14 16:54 ` [Qemu-devel] [PATCH v4 06/16] pc: cpu: allow device_add to be used with x86 cpu Igor Mammedov
2016-07-14 16:54 ` [Qemu-devel] [PATCH v4 07/16] pc: implement query-hotpluggable-cpus callback Igor Mammedov
2016-07-18 20:46   ` Michael S. Tsirkin
2016-07-14 16:54 ` [Qemu-devel] [PATCH v4 08/16] apic: move MAX_APICS check to 'apic' class Igor Mammedov
2016-07-18 16:35   ` Radim Krčmář
2016-07-14 16:54 ` [Qemu-devel] [PATCH v4 09/16] apic: drop APICCommonState.idx and use APIC ID as index in local_apics[] Igor Mammedov
2016-07-18 16:58   ` Radim Krčmář
2016-07-14 16:54 ` [Qemu-devel] [PATCH v4 10/16] apic: kvm-apic: fix crash due to access to freed memory region Igor Mammedov
2016-07-14 16:54 ` [Qemu-devel] [PATCH v4 11/16] (kvm)apic: add unrealize callbacks Igor Mammedov
2016-07-14 16:54 ` [Qemu-devel] [PATCH v4 12/16] apic: use apic_id as apic's migration instance_id Igor Mammedov
2016-07-14 16:54 ` [Qemu-devel] [PATCH v4 13/16] target-i386: cpu: do not ignore error and fix apic parent Igor Mammedov
2016-07-14 16:54 ` [Qemu-devel] [PATCH v4 14/16] target-i386: fix apic object leak when CPU is deleted Igor Mammedov
2016-07-14 16:54 ` [Qemu-devel] [PATCH v4 15/16] target-i386: add x86_cpu_unrealizefn() Igor Mammedov
2016-07-19 17:05   ` Eduardo Habkost
2016-07-14 16:54 ` [Qemu-devel] [PATCH v4 16/16] pc: make device_del CPU work for x86 CPUs Igor Mammedov
2016-07-18 21:59 ` [Qemu-devel] [PATCH v4 00/16] pc: add CPU hot-add/hot-remove with device_add/device_del Michael S. Tsirkin
2016-08-10 13:56   ` Eduardo Otubo [this message]
2016-08-10 14:07     ` Igor Mammedov

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=20160810135624.GA31198@vader \
    --to=eduardo.otubo@profitbricks.com \
    --cc=bdas@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=mst@redhat.com \
    --cc=pkrempa@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /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.