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

Changes from v6->v7:

* Patch 1 - Cannot move cpu_model default setting to machine instance_init, 
  as vl.c can overwrite it again with a NULL during startup.  Left check 
  in s390_init_cpus.
* Drop cpu_last patch (Andreas)
* Patch 4 - merged with patch that adds hotplug handler / set cpu property.
* New patch 5 - Add cpu_s390x_create and s390_new_cpu to allow for error 
  handling during cpu creation (Andreas).  Re-add mechanism for tracking next
  cpu ID.  Encapsulate IDs as a CPU property & perform checking (David) -- 
  I used x86 apic_id as a template. 
* Patch 6 - Add error handling to s390_hot_add_cpu via s390_new_cpu. (Andreas)

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

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
  s390x/cpu: Add error handling to cpu creation
  s390x/cpu: Allow hotplug of CPUs

 hw/s390x/s390-virtio-ccw.c | 78 +++++++++++++++++++++++++++++++++++++++++++-
 hw/s390x/s390-virtio.c     | 36 +++++++++++----------
 hw/s390x/s390-virtio.h     |  3 +-
 target-s390x/cpu-qom.h     |  3 ++
 target-s390x/cpu.c         | 80 +++++++++++++++++++++++++++++++++++++++++++---
 target-s390x/cpu.h         |  1 +
 target-s390x/helper.c      | 31 ++++++++++++++++--
 7 files changed, 208 insertions(+), 24 deletions(-)

-- 
1.9.1

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

end of thread, other threads:[~2016-03-04  9:33 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-01 21:13 [Qemu-devel] [PATCH v7 0/6] Allow hotplug of s390 CPUs Matthew Rosato
2016-03-01 21:13 ` [Qemu-devel] [PATCH v7 1/6] s390x/cpu: Cleanup init in preparation for hotplug Matthew Rosato
2016-03-01 21:13 ` [Qemu-devel] [PATCH v7 2/6] s390x/cpu: Set initial CPU state in common routine Matthew Rosato
2016-03-01 21:13 ` [Qemu-devel] [PATCH v7 3/6] s390x/cpu: Move some CPU initialization into realize Matthew Rosato
2016-03-02  7:41   ` David Hildenbrand
2016-03-01 21:13 ` [Qemu-devel] [PATCH v7 4/6] s390x/cpu: Add CPU property links Matthew Rosato
2016-03-02 10:06   ` Igor Mammedov
2016-03-01 21:13 ` [Qemu-devel] [PATCH v7 5/6] s390x/cpu: Add error handling to cpu creation Matthew Rosato
2016-03-02  7:57   ` David Hildenbrand
2016-03-02 19:50     ` Matthew Rosato
2016-03-03  7:47       ` David Hildenbrand
2016-03-03 17:52     ` Matthew Rosato
2016-03-04  9:33       ` Igor Mammedov
2016-03-02  7:59   ` David Hildenbrand
2016-03-02 22:16     ` Matthew Rosato
2016-03-01 21:13 ` [Qemu-devel] [PATCH v7 6/6] s390x/cpu: Allow hotplug of CPUs Matthew Rosato
2016-03-02  8:00   ` David Hildenbrand

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).