From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49183) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XOMDX-0005CK-Kq for qemu-devel@nongnu.org; Mon, 01 Sep 2014 03:40:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XOMDP-00029C-Nu for qemu-devel@nongnu.org; Mon, 01 Sep 2014 03:39:59 -0400 Received: from e06smtp17.uk.ibm.com ([195.75.94.113]:44779) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XOMDP-000255-Dl for qemu-devel@nongnu.org; Mon, 01 Sep 2014 03:39:51 -0400 Received: from /spool/local by e06smtp17.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 1 Sep 2014 08:39:48 +0100 Received: from b06cxnps4076.portsmouth.uk.ibm.com (d06relay13.portsmouth.uk.ibm.com [9.149.109.198]) by d06dlp03.portsmouth.uk.ibm.com (Postfix) with ESMTP id 51F4E1B08023 for ; Mon, 1 Sep 2014 08:40:45 +0100 (BST) Received: from d06av09.portsmouth.uk.ibm.com (d06av09.portsmouth.uk.ibm.com [9.149.37.250]) by b06cxnps4076.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id s817djAS32833678 for ; Mon, 1 Sep 2014 07:39:45 GMT Received: from d06av09.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av09.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id s817diq8020972 for ; Mon, 1 Sep 2014 01:39:45 -0600 Message-ID: <540422BF.5030000@de.ibm.com> Date: Mon, 01 Sep 2014 09:39:43 +0200 From: Christian Borntraeger MIME-Version: 1.0 References: <1409239536-29691-1-git-send-email-mjrosato@linux.vnet.ibm.com> In-Reply-To: <1409239536-29691-1-git-send-email-mjrosato@linux.vnet.ibm.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v8 0/4] s390: Support for Hotplug of Standby Memory List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Matthew Rosato , qemu-devel@nongnu.org Cc: agraf@suse.de, aliguori@amazon.com, imammedo@redhat.com, cornelia.huck@de.ibm.com, pbonzini@redhat.com, rth@twiddle.net On 28/08/14 17:25, Matthew Rosato wrote: > This patchset 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 > > Changes for v8: > * In unassign_storage, replace memory_region_destroy with a call to > object_unparent. We need a call to object_unparent here, as the region > may be re-used later. > > Changes for v7: > * Added patch to enforce the same memory alignments in s390-virtio.c, > so that shared code (like sclp) doesn't need to be dual paths. > > Changes for v6: > * Fix in sclp.h - DeviceState parent --> SysBusDevice parent > in struct sclpMemoryHotplugDev. > * Fix in assign_storage - int this_subregion_size, should > be uint64_t. > * Added information on how to test in the cover letter. > > Changes for v5: > * Since ACPI memory hotplug is now in, removed Igor's patches > from this set. > * Updated sclp.c to use object_resolve_path() instead of > object_property_find(). > > Matthew Rosato (4): > sclp-s390: Add device to manage s390 memory hotplug > virtio-ccw: Include standby memory when calculating storage increment > s390-virtio: Apply same memory boundaries as virtio-ccw > sclp-s390: Add memory hotplug SCLPs > > hw/s390x/s390-virtio-ccw.c | 46 +++++-- > hw/s390x/s390-virtio.c | 15 ++- > hw/s390x/sclp.c | 289 +++++++++++++++++++++++++++++++++++++++++++- > include/hw/s390x/sclp.h | 20 +++ > qemu-options.hx | 3 +- > target-s390x/cpu.h | 18 +++ > target-s390x/kvm.c | 5 + > 7 files changed, 375 insertions(+), 21 deletions(-) > Applied. There was a small mismatch due to the latest nmi qomification. Can you double check my tree git://github.com/borntraeger/qemu.git s390-next that your patches made it properly into this tree? Christian