s390x cleanups and CPU hotplug via device_add
Status from this message: Thanks, applied.
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v5 Latest22 patches 33 repliesApplied
- v421 patches 17 repliesSuperseded
- v321 patches 15 repliesSuperseded
Earlier versions · 2
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v2 | 19 patches | 45 replies | Superseded | |
| v1 | 11 patches | 41 replies | Superseded |
Changes in v5 from the cover letter
* Only moving code around, no conceptual changes.
* "s390x: allow only 1 CPU with TCG"
- Drop the ifdef stuff again.
* "s390x: implement query-hotpluggable-cpus"
- Don't move s390_cpu_addr2state(), we can clean that up later.
- Moved dropping "cpu_states" to next patch.
- Drop s390_find_cpu_slot().
* "s390x: get rid of cpu_states and use possible_cpus instead"
- Added as requested by Igor.
Patches in v5 Applied
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/22 | exec, dump, i386, ppc, s390x: don't include exec/cpu-all.h explicitlydump.c exec.c target/ +4 more | +0 | 0 replies | |
| 2/22 | cpu: drop old comments describing membersinclude/ | +3 | 0 replies | |
| 3/22 | s390x: get rid of s390-virtio.chw/ hw/ hw/ +1 more | +156 | 2 replies | |
| 4/22 | s390x: rename s390-virtio.h to s390-virtio-hcall.hhw/ hw/ hw/ | +6 | 0 replies | |
| 5/22 | s390x: move s390_virtio_hypercall() to s390-virtio-hcall.hhw/ target/ target/ +1 more | +3 | 0 replies | |
| 6/22 | s390x: move subsystem_reset() to s390-virtio-ccw.hinclude/ target/ target/ | +3 | 0 replies | |
| 7/22 | target/s390x: move some s390x typedefs to cpu-qom.htarget/ target/ target/ | +11 | 3 replies | |
| 8/22 | s390x: move sclp_service_call() to sclp.hinclude/ target/ target/ | +3 | 4 replies | |
| 9/22 | target/s390x: use trigger_pgm_exception() in s390_cpu_handle_mmu_fault()target/ | +1 | 0 replies | |
| 10/22 | target/s390x: use program_interrupt() in per_check_exception()target/ | +9 | 0 replies | |
| 11/22 | s390x: allow only 1 CPU with TCGhw/ | +6 | 5 replies | |
| 12/22 | target/s390x: set cpu->id for linux user when realizingtarget/ | +4 | 0 replies | |
| 13/22 | target/s390x: use "core-id" for cpu number/address/id handlinghw/ target/ target/ +5 more | +30 | 0 replies | |
| 14/22 | target/s390x: rename next_cpu_id to next_core_idtarget/ target/ | +6 | 0 replies | |
| 15/22 | s390x: print CPU definitions in sorted ordertarget/ | +41 | 0 replies | |
| 16/22 | s390x: allow cpu hotplug via device_addtarget/ | +1 | 3 replies | |
| 17/22 | s390x: CPU hot unplug via device_del cannot work for nowhw/ | +10 | 1 reply | |
| 18/22 | s390x: implement query-hotpluggable-cpushw/ qapi-schema.json | +57 | 9 replies | |
| 19/22 | s390x: get rid of cpu_states and use possible_cpus insteadhw/ | +10 | 1 reply | |
| 20/22 | s390x: get rid of cpu_s390x_create()hw/ target/ target/ +1 more | +30 | 0 replies | |
| 21/22 | s390x: generate sclp cpu information from possible_cpushw/ | +14 | 0 replies | |
| 22/22 | s390x: allow CPU hotplug in random core-id ordertarget/ | +1 | 1 reply |
Reviews trailers per patch
20 of 22 patches have a Reviewed-by or Acked-by.
| Patch | Thomas Huth | Cornelia Huck | Christian Borntraeger | Matthew Rosato | Igor Mammedov |
|---|---|---|---|---|---|
| 1/22 | R-b | ||||
| 2/22 | A-b | ||||
| 3/22 | R-b | A-b | |||
| 4/22 | R-b | A-b | |||
| 5/22 | R-b | ||||
| 6/22 | R-b | A-b | |||
| 7/22 | R-b | ||||
| 8/22 | R-b | ||||
| 9/22 | R-b | ||||
| 10/22 | |||||
| 11/22 | T-b | R-b | |||
| 12/22 | R-b | R-b | |||
| 13/22 | R-b | ||||
| 14/22 | R-b | ||||
| 15/22 | A-b | ||||
| 16/22 | R-b | ||||
| 17/22 | R-b | ||||
| 18/22 | A-b | ||||
| 19/22 | R-b | ||||
| 20/22 | A-b | ||||
| 21/22 | |||||
| 22/22 | R-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 5 reviewers.
Cover letter [Qemu-devel] [PATCH v5 00/22] s390x cleanups and CPU hotplug via device_add
The first patches are a bunch of cleanups. I decided to go the extra mile and implement CPU hotplug via "device_add", as well as "query-hotpluggable-cpus".
On s390x, only complete cores can be plugged. CPU hot unplug is currently not supported by the architecture.
Support for hotplugging CPUs in random core-id order (last two patches) is added. We once hat a KVM bug preventing this, but the stable patch should now be included in relevant places - 152e9f65d66f ("KVM: s390: fix wrong lookup of VCPUs by array index"). Current tooling will plug them in sequential order anyway, so it should not hurt.
v4 -> v5:
* Only moving code around, no conceptual changes.
* "s390x: allow only 1 CPU with TCG"
- Drop the ifdef stuff again.
* "s390x: implement query-hotpluggable-cpus"
- Don't move s390_cpu_addr2state(), we can clean that up later.
- Moved dropping "cpu_states" to next patch.
- Drop s390_find_cpu_slot().
* "s390x: get rid of cpu_states and use possible_cpus instead"
- Added as requested by Igor.
David Hildenbrand (22):
exec,dump,i386,ppc,s390x: don't include exec/cpu-all.h explicitly
cpu: drop old comments describing members
s390x: get rid of s390-virtio.c
s390x: rename s390-virtio.h to s390-virtio-hcall.h
s390x: move s390_virtio_hypercall() to s390-virtio-hcall.h
s390x: move subsystem_reset() to s390-virtio-ccw.h target/s390x: move some s390x typedefs to cpu-qom.h
s390x: move sclp_service_call() to sclp.h target/s390x: use trigger_pgm_exception() in
s390_cpu_handle_mmu_fault()
target/s390x: use program_interrupt() in per_check_exception()
s390x: allow only 1 CPU with TCG
target/s390x: set cpu->id for linux user when realizing target/s390x: use "core-id" for cpu number/address/id handling target/s390x: rename next_cpu_id to next_core_id
s390x: print CPU definitions in sorted order
s390x: allow cpu hotplug via device_add
s390x: CPU hot unplug via device_del cannot work for now
s390x: implement query-hotpluggable-cpus
s390x: get rid of cpu_states and use possible_cpus instead
s390x: get rid of cpu_s390x_create()
s390x: generate sclp cpu information from possible_cpus
s390x: allow CPU hotplug in random core-id order
dump.c | 1 - exec.c | 1 - hw/s390x/Makefile.objs | 1 - hw/s390x/s390-virtio-ccw.c | 239 +++++++++++++++++++++++++++++++++++-- hw/s390x/s390-virtio-hcall.c | 2 +- hw/s390x/s390-virtio-hcall.h | 21 ++++ hw/s390x/s390-virtio.c | 37 ------ hw/s390x/s390-virtio.h | 35 ------ hw/s390x/sclp.c | 34 +++--- include/hw/s390x/s390-virtio-ccw.h | 2 + include/hw/s390x/sclp.h | 2 + include/qom/cpu.h | 6 +- qapi-schema.json | 16 +++ target/i386/arch_dump.c | 1 - target/i386/arch_memory_mapping.c | 1 - target/i386/svm_helper.c | 1 - target/ppc/arch_dump.c | 1 - target/s390x/arch_dump.c | 1 - target/s390x/cpu-qom.h | 7 +- target/s390x/cpu.c | 85 ++++--------- target/s390x/cpu.h | 13 +- target/s390x/cpu_models.c | 58 ++++++--- target/s390x/cpu_models.h | 8 +- target/s390x/diag.c | 1 + target/s390x/excp_helper.c | 5 +- target/s390x/helper.c | 47 +------- target/s390x/internal.h | 1 - target/s390x/kvm.c | 1 + target/s390x/misc_helper.c | 21 ++-- target/s390x/translate.c | 5 +- 30 files changed, 388 insertions(+), 266 deletions(-) create mode 100644 hw/s390x/s390-virtio-hcall.h delete mode 100644 hw/s390x/s390-virtio.h
Signature · 1 line
2.13.5