Documentation/virt/kvm/s390/s390-diag.rst | 32 ++++++++++++---- arch/s390/boot/physmem_info.c | 46 +++++++++++++++++++++-- arch/s390/include/asm/kexec.h | 4 ++ arch/s390/include/asm/physmem_info.h | 3 ++ arch/s390/include/asm/sparsemem.h | 2 +- arch/s390/kernel/crash_dump.c | 6 +++ drivers/virtio/Kconfig | 12 +++--- lib/Kconfig.debug | 2 +- 8 files changed, 89 insertions(+), 18 deletions(-)
Let's finally add s390 support for virtio-mem; my last RFC was sent 4 years ago, and a lot changed in the meantime. The latest QEMU series is available at [1], which contains some more details and a usage example on s390 (last patch). There is not too much in here: The biggest part is querying a new diag(500) STORAGE_LIMIT hypercall to obtain the proper "max_physmem_end". The last two patches are not strictly required but certainly nice-to-have. Note that -- in contrast to standby memory -- virtio-mem memory must be configured to be automatically onlined as soon as hotplugged. The easiest approach is using the "memhp_default_state=" kernel parameter or by using proper udev rules. More details can be found at [2]. I have reviving+upstreaming a systemd service to handle configuring that on my todo list, but for some reason I keep getting distracted ... I tested various things, including: * Various memory hotplug/hotunplug combinations * Device hotplug/hotunplug * /proc/iomem output * reboot * kexec * kdump: make sure we don't hotplug memory One remaining work item is kdump support for virtio-mem memory. This will be sent out separately once initial support landed. [1] https://lkml.kernel.org/r/20241008105455.2302628-1-david@redhat.com [2] https://virtio-mem.gitlab.io/user-guide/user-guide-linux.html v1 -> v2: * Document the new diag500 subfunction * Use "s390" instead of "s390x" consistently Cc: Heiko Carstens <hca@linux.ibm.com> Cc: Vasily Gorbik <gor@linux.ibm.com> Cc: Alexander Gordeev <agordeev@linux.ibm.com> Cc: Christian Borntraeger <borntraeger@linux.ibm.com> Cc: Sven Schnelle <svens@linux.ibm.com> Cc: Thomas Huth <thuth@redhat.com> Cc: Cornelia Huck <cohuck@redhat.com> Cc: Janosch Frank <frankja@linux.ibm.com> Cc: Claudio Imbrenda <imbrenda@linux.ibm.com> Cc: "Michael S. Tsirkin" <mst@redhat.com> Cc: Jason Wang <jasowang@redhat.com> Cc: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Cc: "Eugenio Pérez" <eperezma@redhat.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Jonathan Corbet <corbet@lwn.net> David Hildenbrand (7): s390/kdump: implement is_kdump_kernel() Documentation: s390-diag.rst: make diag500 a generic KVM hypercall Documentation: s390-diag.rst: document diag500(STORAGE LIMIT) subfunction s390/physmem_info: query diag500(STORAGE LIMIT) to support QEMU/KVM memory devices virtio-mem: s390 support lib/Kconfig.debug: default STRICT_DEVMEM to "y" on s390 s390/sparsemem: reduce section size to 128 MiB Documentation/virt/kvm/s390/s390-diag.rst | 32 ++++++++++++---- arch/s390/boot/physmem_info.c | 46 +++++++++++++++++++++-- arch/s390/include/asm/kexec.h | 4 ++ arch/s390/include/asm/physmem_info.h | 3 ++ arch/s390/include/asm/sparsemem.h | 2 +- arch/s390/kernel/crash_dump.c | 6 +++ drivers/virtio/Kconfig | 12 +++--- lib/Kconfig.debug | 2 +- 8 files changed, 89 insertions(+), 18 deletions(-) base-commit: 6485cf5ea253d40d507cd71253c9568c5470cd27 -- 2.46.1
On Mon, Oct 14, 2024 at 04:46:12PM +0200, David Hildenbrand wrote: > Let's finally add s390 support for virtio-mem; my last RFC was sent > 4 years ago, and a lot changed in the meantime. > > The latest QEMU series is available at [1], which contains some more > details and a usage example on s390 (last patch). > > There is not too much in here: The biggest part is querying a new diag(500) > STORAGE_LIMIT hypercall to obtain the proper "max_physmem_end". > > The last two patches are not strictly required but certainly nice-to-have. > > Note that -- in contrast to standby memory -- virtio-mem memory must be > configured to be automatically onlined as soon as hotplugged. The easiest > approach is using the "memhp_default_state=" kernel parameter or by using > proper udev rules. More details can be found at [2]. > > I have reviving+upstreaming a systemd service to handle configuring > that on my todo list, but for some reason I keep getting distracted ... > > I tested various things, including: > * Various memory hotplug/hotunplug combinations > * Device hotplug/hotunplug > * /proc/iomem output > * reboot > * kexec > * kdump: make sure we don't hotplug memory > > One remaining work item is kdump support for virtio-mem memory. This will > be sent out separately once initial support landed. Besides the open kdump question, which I think is quite important, how is this supposed to go upstream? This could go via s390, however in any case this needs reviews and/or Acks from kvm folks.
On Mon, 14 Oct 2024 20:56:59 +0200 Heiko Carstens <hca@linux.ibm.com> wrote: > On Mon, Oct 14, 2024 at 04:46:12PM +0200, David Hildenbrand wrote: > > Let's finally add s390 support for virtio-mem; my last RFC was sent > > 4 years ago, and a lot changed in the meantime. > > > > The latest QEMU series is available at [1], which contains some more > > details and a usage example on s390 (last patch). > > > > There is not too much in here: The biggest part is querying a new diag(500) > > STORAGE_LIMIT hypercall to obtain the proper "max_physmem_end". > > > > The last two patches are not strictly required but certainly nice-to-have. > > > > Note that -- in contrast to standby memory -- virtio-mem memory must be > > configured to be automatically onlined as soon as hotplugged. The easiest > > approach is using the "memhp_default_state=" kernel parameter or by using > > proper udev rules. More details can be found at [2]. > > > > I have reviving+upstreaming a systemd service to handle configuring > > that on my todo list, but for some reason I keep getting distracted ... > > > > I tested various things, including: > > * Various memory hotplug/hotunplug combinations > > * Device hotplug/hotunplug > > * /proc/iomem output > > * reboot > > * kexec > > * kdump: make sure we don't hotplug memory > > > > One remaining work item is kdump support for virtio-mem memory. This will > > be sent out separately once initial support landed. > > Besides the open kdump question, which I think is quite important, how > is this supposed to go upstream? > > This could go via s390, however in any case this needs reviews and/or > Acks from kvm folks. we're working on it :)
On 15.10.24 09:57, Claudio Imbrenda wrote: > On Mon, 14 Oct 2024 20:56:59 +0200 > Heiko Carstens <hca@linux.ibm.com> wrote: > >> On Mon, Oct 14, 2024 at 04:46:12PM +0200, David Hildenbrand wrote: >>> Let's finally add s390 support for virtio-mem; my last RFC was sent >>> 4 years ago, and a lot changed in the meantime. >>> >>> The latest QEMU series is available at [1], which contains some more >>> details and a usage example on s390 (last patch). >>> >>> There is not too much in here: The biggest part is querying a new diag(500) >>> STORAGE_LIMIT hypercall to obtain the proper "max_physmem_end". >>> >>> The last two patches are not strictly required but certainly nice-to-have. >>> >>> Note that -- in contrast to standby memory -- virtio-mem memory must be >>> configured to be automatically onlined as soon as hotplugged. The easiest >>> approach is using the "memhp_default_state=" kernel parameter or by using >>> proper udev rules. More details can be found at [2]. >>> >>> I have reviving+upstreaming a systemd service to handle configuring >>> that on my todo list, but for some reason I keep getting distracted ... >>> >>> I tested various things, including: >>> * Various memory hotplug/hotunplug combinations >>> * Device hotplug/hotunplug >>> * /proc/iomem output >>> * reboot >>> * kexec >>> * kdump: make sure we don't hotplug memory >>> >>> One remaining work item is kdump support for virtio-mem memory. This will >>> be sent out separately once initial support landed. >> >> Besides the open kdump question, which I think is quite important, how >> is this supposed to go upstream? >> >> This could go via s390, however in any case this needs reviews and/or >> Acks from kvm folks. > > we're working on it :) I'll be sending a v3 later today, and a v1 of kdump support (which involves a bunch of changes to fs/proc/vmcore.c and virtio-mem) separately. -- Cheers, David / dhildenb
On 14.10.24 20:56, Heiko Carstens wrote: > On Mon, Oct 14, 2024 at 04:46:12PM +0200, David Hildenbrand wrote: >> Let's finally add s390 support for virtio-mem; my last RFC was sent >> 4 years ago, and a lot changed in the meantime. >> >> The latest QEMU series is available at [1], which contains some more >> details and a usage example on s390 (last patch). >> >> There is not too much in here: The biggest part is querying a new diag(500) >> STORAGE_LIMIT hypercall to obtain the proper "max_physmem_end". >> >> The last two patches are not strictly required but certainly nice-to-have. >> >> Note that -- in contrast to standby memory -- virtio-mem memory must be >> configured to be automatically onlined as soon as hotplugged. The easiest >> approach is using the "memhp_default_state=" kernel parameter or by using >> proper udev rules. More details can be found at [2]. >> >> I have reviving+upstreaming a systemd service to handle configuring >> that on my todo list, but for some reason I keep getting distracted ... >> >> I tested various things, including: >> * Various memory hotplug/hotunplug combinations >> * Device hotplug/hotunplug >> * /proc/iomem output >> * reboot >> * kexec >> * kdump: make sure we don't hotplug memory >> >> One remaining work item is kdump support for virtio-mem memory. This will >> be sent out separately once initial support landed. > > Besides the open kdump question, which I think is quite important, how > is this supposed to go upstream? MST suggested via the s390 tree in v1. > > This could go via s390, however in any case this needs reviews and/or > Acks from kvm folks. Yes, hoping there will be some review (there was some on the QEMU series). -- Cheers, David / dhildenb
© 2016 - 2024 Red Hat, Inc.