qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 00/19] s390x cleanups and CPU hotplug via dev


From: Christian Borntraeger
Subject: Re: [Qemu-devel] [PATCH v2 00/19] s390x cleanups and CPU hotplug via device_add
Date: Tue, 5 Sep 2017 09:51:19 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0

I think we certainly want to have device_add as well (as long as the old
interface stays for a while).

Adding Matt. Can you have a look at the cpu hotplug bits?



On 09/04/2017 05:42 PM, David Hildenbrand wrote:
> 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". So the last patches in this series differ
> to v1. I tried to stick as much as possible to x86.
> 
> On s390x, only complete cores can be plugged. Cores have to be plugged in
> the right order (core-id 0, 1, 2 ...). CPU hot unplug is not supported
> by the architecture.
> 
> In addition, we now also print the CPU model list in sorted order and allow
> only 1 CPU for TCG.
> 
> v1 -> v2:
> - "exec,dump,i386,ppc,s390x: don't include exec/cpu-all.h explicitly"
> -- added a few instances I missed
> - "s390x: get rid of s390-virtio.c"
> -- move everything in the first shot and clean the "cpu_states" stuff up
>    in later patches, when we have ms->possible_cpus.
> - Added "target/s390x: move typedef of S390CPU to its definition"
> - Added "s390x: move s390_virtio_hypercall() to s390-virtio-hcall.h"
> - Added "s390x: move two function declarations to s390-virtio-ccw.h"
> - Added "s390x: move sclp_service_call() to interrupt.c"
> - "target/s390x: use program_interrupt() in per_check_exception()"
> -- Add a comment describing my concern
> - "s390x: allow only 1 CPU with TCG"
> -- Add a #define to easily be able to change it (e.g. for development)
> - Added "target/s390x: set cpu->id for linux user when realizing"
> - "target/s390x: use "core-id" for cpu number/address/id handling"
> -- I now use "core-id" as property name, because that will be used by
>    device_add
> - "target/s390x: rename next_cpu_id to next_core_id"
> -- Also change to the term "core_id"
> - Added "s390x: print CPU definitions in sorted order"
> - Added "s390x: allow cpu hotplug via device_add"
> - Added "s390x: CPU hot unplug via device_del cannot work"
> - Added "s390x: implement query-hotpluggable-cpu"
> - Added "s390x: get rid of cpu_s390x_create()"
> 
> David Hildenbrand (19):
>   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
>   target/s390x: move typedef of S390CPU to its definition
>   s390x: move s390_virtio_hypercall() to s390-virtio-hcall.h
>   s390x: move two function declarations to s390-virtio-ccw.h
>   s390x: move sclp_service_call() to interrupt.c
>   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
>   s390x: implement query-hotpluggable-cpus
>   s390x: get rid of cpu_s390x_create()
> 
>  dump.c                             |   1 -
>  exec.c                             |   2 -
>  hw/s390x/Makefile.objs             |   1 -
>  hw/s390x/s390-virtio-ccw.c         | 259 
> +++++++++++++++++++++++++++++++++++--
>  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                    |  51 +-------
>  include/hw/s390x/s390-virtio-ccw.h |   3 +
>  include/hw/s390x/sclp.h            |   1 +
>  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             |   4 +-
>  target/s390x/cpu.c                 |  86 ++++--------
>  target/s390x/cpu.h                 |  19 +--
>  target/s390x/cpu_models.c          |  65 ++++++----
>  target/s390x/diag.c                |   1 +
>  target/s390x/excp_helper.c         |   5 +-
>  target/s390x/helper.c              |  47 +------
>  target/s390x/internal.h            |   1 -
>  target/s390x/interrupt.c           |  52 ++++++++
>  target/s390x/kvm.c                 |   3 +-
>  target/s390x/misc_helper.c         |  22 ++--
>  target/s390x/translate.c           |   5 +-
>  30 files changed, 443 insertions(+), 307 deletions(-)
>  create mode 100644 hw/s390x/s390-virtio-hcall.h
>  delete mode 100644 hw/s390x/s390-virtio.h
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]