Skip to content
  • Peter Maydell's avatar
    5cd1475d
    Merge remote-tracking branch 'remotes/borntraeger/tags/kvm-s390-20140901' into staging · 5cd1475d
    Peter Maydell authored
    
    
    s390x/kvm: Several updates/fixes/features
    
    1. s390x/kvm: avoid synchronize_rcu's in kernel
    ----------------------------------------------
    The first patches change s390x/kvm code to issue VCPU specific ioctls
    from the VCPU thread. This will avoid unnecessary synchronize_rcu in
    the kernel, which caused a noticably slowdown with many guest CPUs.
    It speeds up all start/restart/reset operations involving cpus
    drastically.
    
    2. s390-ccw.img: block size and DASD format support
    ---------------------------------------------------
    The second part changes the s390-ccw bios to IPL (boot)  more disk
    formats than before. Furthermore a small fix is made to the console
    output of the bios.
    
    3. s390: Support for Hotplug of Standby Memory
    ----------------------------------------------
    The third part adds support in s390 for a pool of standby memory,
    which can be set online/offline by the guest (ie, via chmem).
    The standby pool of memory is allocated as the difference between
    the initial memory setting and the maxmem setting.
    As part of this work, additional results are provided for the
    Read SCP Information SCLP, and new implentation is added for the
    Read Storage Element Information, Attach Storage Element,
    Assign Storage and Unassign Storage SCLPs, which enables the s390
    guest to manipulate the standby memory pool.
    
    This patchset is based on work originally done by Jeng-Fang (Nick)
    Wang.
    
    Sample qemu command snippet:
    
    qemu -machine s390-ccw-virtio  -m 1024M,maxmem=2048M,slots=32 -enable-kvm
    
    This will allocate 1024M of active memory, and another 1024M
    of standby memory.  Example output from s390-tools lsmem:
    =============================================================================
    0x0000000000000000-0x000000000fffffff        256  online   no         0-127
    0x0000000010000000-0x000000001fffffff        256  online   yes        128-255
    0x0000000020000000-0x000000003fffffff        512  online   no         256-511
    0x0000000040000000-0x000000007fffffff       1024  offline  -          512-1023
    
    Memory device size  : 2 MB
    Memory block size   : 256 MB
    Total online memory : 1024 MB
    Total offline memory: 1024 MB
    
    The guest can dynamically enable part or all of the standby pool
    via the s390-tools chmem, for example:
    
    chmem -e 512M
    
    And can attempt to dynamically disable:
    
    chmem -d 512M
    
    4. s390x/gdb: various fixes
    ---------------------------
    * Patch 1 fixes a bug where the cc was changed accidentally.
    * Patch 2 adds the gdb feature XML files for s390x
    * Patch 3 Define acr and fpr registers as coprocessor registers. This allows us
       to reuse the feature XML files.
    * Patch 4 whitespace fixes
    
    # gpg: Signature made Mon 01 Sep 2014 12:53:39 BST using RSA key ID B5A61C7C
    # gpg: Can't check signature: public key not found
    
    * remotes/borntraeger/tags/kvm-s390-20140901:
      s390x/gdb: coding style fixes
      s390x/gdb: generate target.xml and handle fp/ac as coprocessors
      s390x/gdb: add the feature xml files for s390x
      s390x/gdb: don't touch the cc if tcg is not enabled
      sclp-s390: Add memory hotplug SCLPs
      s390-virtio: Apply same memory boundaries as virtio-ccw
      virtio-ccw: Include standby memory when calculating storage increment
      sclp-s390: Add device to manage s390 memory hotplug
      pc-bios/s390-ccw.img binary update
      pc-bios/s390-ccw: Do proper console setup
      pc-bios/s390-ccw: IPL from DASD with format variations
      pc-bios/s390-ccw Really big EAV ECKD DASD handling
      pc-bios/s390-ccw Improve ECKD informational message
      pc-bios/s390-ccw: handle more ECKD DASD block sizes
      pc-bios/s390-ccw: support all virtio block size
      s390x/kvm: execute the first cpu reset on the vcpu thread
      s390x/kvm: execute "system reset" cpu resets on the vcpu thread
      s390x/kvm: execute sigp orders on the target vcpu thread
      s390x/kvm: run guest triggered resets on the target vcpu thread
    
    Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
    5cd1475d
    Merge remote-tracking branch 'remotes/borntraeger/tags/kvm-s390-20140901' into staging
    Peter Maydell authored
    
    
    s390x/kvm: Several updates/fixes/features
    
    1. s390x/kvm: avoid synchronize_rcu's in kernel
    ----------------------------------------------
    The first patches change s390x/kvm code to issue VCPU specific ioctls
    from the VCPU thread. This will avoid unnecessary synchronize_rcu in
    the kernel, which caused a noticably slowdown with many guest CPUs.
    It speeds up all start/restart/reset operations involving cpus
    drastically.
    
    2. s390-ccw.img: block size and DASD format support
    ---------------------------------------------------
    The second part changes the s390-ccw bios to IPL (boot)  more disk
    formats than before. Furthermore a small fix is made to the console
    output of the bios.
    
    3. s390: Support for Hotplug of Standby Memory
    ----------------------------------------------
    The third part adds support in s390 for a pool of standby memory,
    which can be set online/offline by the guest (ie, via chmem).
    The standby pool of memory is allocated as the difference between
    the initial memory setting and the maxmem setting.
    As part of this work, additional results are provided for the
    Read SCP Information SCLP, and new implentation is added for the
    Read Storage Element Information, Attach Storage Element,
    Assign Storage and Unassign Storage SCLPs, which enables the s390
    guest to manipulate the standby memory pool.
    
    This patchset is based on work originally done by Jeng-Fang (Nick)
    Wang.
    
    Sample qemu command snippet:
    
    qemu -machine s390-ccw-virtio  -m 1024M,maxmem=2048M,slots=32 -enable-kvm
    
    This will allocate 1024M of active memory, and another 1024M
    of standby memory.  Example output from s390-tools lsmem:
    =============================================================================
    0x0000000000000000-0x000000000fffffff        256  online   no         0-127
    0x0000000010000000-0x000000001fffffff        256  online   yes        128-255
    0x0000000020000000-0x000000003fffffff        512  online   no         256-511
    0x0000000040000000-0x000000007fffffff       1024  offline  -          512-1023
    
    Memory device size  : 2 MB
    Memory block size   : 256 MB
    Total online memory : 1024 MB
    Total offline memory: 1024 MB
    
    The guest can dynamically enable part or all of the standby pool
    via the s390-tools chmem, for example:
    
    chmem -e 512M
    
    And can attempt to dynamically disable:
    
    chmem -d 512M
    
    4. s390x/gdb: various fixes
    ---------------------------
    * Patch 1 fixes a bug where the cc was changed accidentally.
    * Patch 2 adds the gdb feature XML files for s390x
    * Patch 3 Define acr and fpr registers as coprocessor registers. This allows us
       to reuse the feature XML files.
    * Patch 4 whitespace fixes
    
    # gpg: Signature made Mon 01 Sep 2014 12:53:39 BST using RSA key ID B5A61C7C
    # gpg: Can't check signature: public key not found
    
    * remotes/borntraeger/tags/kvm-s390-20140901:
      s390x/gdb: coding style fixes
      s390x/gdb: generate target.xml and handle fp/ac as coprocessors
      s390x/gdb: add the feature xml files for s390x
      s390x/gdb: don't touch the cc if tcg is not enabled
      sclp-s390: Add memory hotplug SCLPs
      s390-virtio: Apply same memory boundaries as virtio-ccw
      virtio-ccw: Include standby memory when calculating storage increment
      sclp-s390: Add device to manage s390 memory hotplug
      pc-bios/s390-ccw.img binary update
      pc-bios/s390-ccw: Do proper console setup
      pc-bios/s390-ccw: IPL from DASD with format variations
      pc-bios/s390-ccw Really big EAV ECKD DASD handling
      pc-bios/s390-ccw Improve ECKD informational message
      pc-bios/s390-ccw: handle more ECKD DASD block sizes
      pc-bios/s390-ccw: support all virtio block size
      s390x/kvm: execute the first cpu reset on the vcpu thread
      s390x/kvm: execute "system reset" cpu resets on the vcpu thread
      s390x/kvm: execute sigp orders on the target vcpu thread
      s390x/kvm: run guest triggered resets on the target vcpu thread
    
    Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
Loading