qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v5 0/6] Allow hotplug of s390 CPUs
@ 2016-02-19  4:03 Matthew Rosato
  2016-02-19  4:03 ` [Qemu-devel] [PATCH v5 1/6] s390x/cpu: Cleanup init in preparation for hotplug Matthew Rosato
                   ` (5 more replies)
  0 siblings, 6 replies; 11+ messages in thread
From: Matthew Rosato @ 2016-02-19  4:03 UTC (permalink / raw)
  To: qemu-devel
  Cc: dahi, agraf, borntraeger, imammedo, bharata, cornelia.huck,
	pbonzini, afaerber, rth

Changes from v4->v5:
* Patch #3 - Drop static next_cpu_id (Igor)
* Patch #4 - Drop register_cpustate in favor of machine hotplug handler.
  Re-write commit message as a result. (Igor)
* Patch #5 - Revive hotplug handler code from previous patch set.  Use 
  plug callback to update property links instead of register_cpustate. (Igor)
* Patch #6 - Use last_cpu instead of next_cpu_id to sanity-check hotplugged 
  CPU id (Igor)

**************

As discussed in the KVM call, we will go ahead with cpu_add for 
s390x to get cpu hotplug functionality in s390x now, until
architectures that require a more robust hotplug interface
settle on a design.

To configure a guest with 2 CPUs online at 
boot and 4 maximum:

qemu -smp 2,maxcpus=4

Or, when using libvirt:
  <domain>
    ...
    <vcpu current="2">4</vcpu>
    ...
  </domain> 


To subsequently hotplug a CPU:

Issue 'cpu-add <id>' from qemu monitor, or use virsh setvcpus --count <n> 
<domain>, where <n> is the total number of desired guest CPUs.

At this point, the guest must bring the CPU online for use -- This can be 
achieved via "echo 1 > /sys/devices/system/cpu/cpuX/online" or via a management 
tool like cpuplugd.

This patch set is based on work previously done by Jason Herne.

Matthew Rosato (6):
  s390x/cpu: Cleanup init in preparation for hotplug
  s390x/cpu: Set initial CPU state in common routine
  s390x/cpu: Move some CPU initialization into realize
  s390x/cpu: Add CPU property links
  s390/virtio-ccw: Add hotplug handler
  s390x/cpu: Allow hotplug of CPUs

 hw/s390x/s390-virtio-ccw.c | 43 ++++++++++++++++++++++++++++++++++-
 hw/s390x/s390-virtio.c     | 36 ++++++++++++++++-------------
 hw/s390x/s390-virtio.h     |  2 +-
 target-s390x/cpu.c         | 56 +++++++++++++++++++++++++++++++++++++++++++---
 target-s390x/cpu.h         |  1 +
 5 files changed, 117 insertions(+), 21 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2016-02-19 16:18 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-19  4:03 [Qemu-devel] [PATCH v5 0/6] Allow hotplug of s390 CPUs Matthew Rosato
2016-02-19  4:03 ` [Qemu-devel] [PATCH v5 1/6] s390x/cpu: Cleanup init in preparation for hotplug Matthew Rosato
2016-02-19  4:03 ` [Qemu-devel] [PATCH v5 2/6] s390x/cpu: Set initial CPU state in common routine Matthew Rosato
2016-02-19  4:03 ` [Qemu-devel] [PATCH v5 3/6] s390x/cpu: Move some CPU initialization into realize Matthew Rosato
2016-02-19  4:03 ` [Qemu-devel] [PATCH v5 4/6] s390x/cpu: Add CPU property links Matthew Rosato
2016-02-19  4:03 ` [Qemu-devel] [PATCH v5 5/6] s390/virtio-ccw: Add hotplug handler Matthew Rosato
2016-02-19 14:33   ` Igor Mammedov
2016-02-19  4:03 ` [Qemu-devel] [PATCH v5 6/6] s390x/cpu: Allow hotplug of CPUs Matthew Rosato
2016-02-19 14:28   ` Igor Mammedov
2016-02-19 14:40     ` Matthew Rosato
2016-02-19 16:18       ` Igor Mammedov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).