mbox series

[v3,0/7] virtio-mem: s390 support

Message ID 20241025141453.1210600-1-david@redhat.com (mailing list archive)
Headers show
Series virtio-mem: s390 support | expand

Message

David Hildenbrand Oct. 25, 2024, 2:14 p.m. UTC
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 three 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 properly enter the "kdump mode" in the virtio-mem
   driver

kdump support for virtio-mem memory on s390 will be sent out separately.

v2 -> v3
* "s390/kdump: make is_kdump_kernel() consistently return "true" in kdump
   environments only"
 -> Sent out separately [3]
* "s390/physmem_info: query diag500(STORAGE LIMIT) to support QEMU/KVM memory
   devices"
 -> No query function for diag500 for now.
 -> Update comment above setup_ident_map_size().
 -> Optimize/rewrite diag500_storage_limit() [Heiko]
 -> Change handling in detect_physmem_online_ranges [Alexander]
 -> Improve documentation.
* "s390/sparsemem: provide memory_add_physaddr_to_nid() with CONFIG_NUMA"
 -> Added after testing on systems with CONFIG_NUMA=y

v1 -> v2:
* Document the new diag500 subfunction
* Use "s390" instead of "s390x" consistently

[1] https://lkml.kernel.org/r/20241008105455.2302628-1-david@redhat.com
[2] https://virtio-mem.gitlab.io/user-guide/user-guide-linux.html
[3] https://lkml.kernel.org/r/20241023090651.1115507-1-david@redhat.com

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: Eric Farman <farman@linux.ibm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Jonathan Corbet <corbet@lwn.net>

David Hildenbrand (7):
  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
  s390/sparsemem: provide memory_add_physaddr_to_nid() with CONFIG_NUMA

 Documentation/virt/kvm/s390/s390-diag.rst | 35 +++++++++++++----
 arch/s390/boot/physmem_info.c             | 47 ++++++++++++++++++++++-
 arch/s390/boot/startup.c                  |  7 +++-
 arch/s390/include/asm/physmem_info.h      |  3 ++
 arch/s390/include/asm/sparsemem.h         | 10 ++++-
 drivers/virtio/Kconfig                    | 12 +++---
 lib/Kconfig.debug                         |  2 +-
 7 files changed, 98 insertions(+), 18 deletions(-)


base-commit: ae90f6a6170d7a7a1aa4fddf664fbd093e3023bc

Comments

Heiko Carstens Oct. 30, 2024, 9:34 a.m. UTC | #1
On Fri, Oct 25, 2024 at 04:14:45PM +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".

...

> David Hildenbrand (7):
>   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
>   s390/sparsemem: provide memory_add_physaddr_to_nid() with CONFIG_NUMA
> 
>  Documentation/virt/kvm/s390/s390-diag.rst | 35 +++++++++++++----
>  arch/s390/boot/physmem_info.c             | 47 ++++++++++++++++++++++-
>  arch/s390/boot/startup.c                  |  7 +++-
>  arch/s390/include/asm/physmem_info.h      |  3 ++
>  arch/s390/include/asm/sparsemem.h         | 10 ++++-
>  drivers/virtio/Kconfig                    | 12 +++---
>  lib/Kconfig.debug                         |  2 +-
>  7 files changed, 98 insertions(+), 18 deletions(-)

I'll apply the whole series as soon as there are ACKs for the third
patch, and from the KVM guys for the whole series.
Christian, Janosch, Claudio?
Christian Borntraeger Oct. 30, 2024, 4:49 p.m. UTC | #2
Am 30.10.24 um 10:34 schrieb Heiko Carstens:
> On Fri, Oct 25, 2024 at 04:14:45PM +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".
> 
> ...
> 
>> David Hildenbrand (7):
>>    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
>>    s390/sparsemem: provide memory_add_physaddr_to_nid() with CONFIG_NUMA
>>
>>   Documentation/virt/kvm/s390/s390-diag.rst | 35 +++++++++++++----
>>   arch/s390/boot/physmem_info.c             | 47 ++++++++++++++++++++++-
>>   arch/s390/boot/startup.c                  |  7 +++-
>>   arch/s390/include/asm/physmem_info.h      |  3 ++
>>   arch/s390/include/asm/sparsemem.h         | 10 ++++-
>>   drivers/virtio/Kconfig                    | 12 +++---
>>   lib/Kconfig.debug                         |  2 +-
>>   7 files changed, 98 insertions(+), 18 deletions(-)
> 
> I'll apply the whole series as soon as there are ACKs for the third
> patch, and from the KVM guys for the whole series.
> Christian, Janosch, Claudio?

Acked-by: Christian Borntraeger <borntraeger@linux.ibm.com>
for the series.

@Eric Farman,
Was someone from your team planning to look into this (testing, review whatever)?
Eric Farman Oct. 31, 2024, 2:52 p.m. UTC | #3
On Wed, 2024-10-30 at 17:49 +0100, Christian Borntraeger wrote:
> 
> Am 30.10.24 um 10:34 schrieb Heiko Carstens:
> > On Fri, Oct 25, 2024 at 04:14:45PM +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".
> > 
> > ...
> > 
> > > David Hildenbrand (7):
> > >    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
> > >    s390/sparsemem: provide memory_add_physaddr_to_nid() with CONFIG_NUMA
> > > 
> > >   Documentation/virt/kvm/s390/s390-diag.rst | 35 +++++++++++++----
> > >   arch/s390/boot/physmem_info.c             | 47 ++++++++++++++++++++++-
> > >   arch/s390/boot/startup.c                  |  7 +++-
> > >   arch/s390/include/asm/physmem_info.h      |  3 ++
> > >   arch/s390/include/asm/sparsemem.h         | 10 ++++-
> > >   drivers/virtio/Kconfig                    | 12 +++---
> > >   lib/Kconfig.debug                         |  2 +-
> > >   7 files changed, 98 insertions(+), 18 deletions(-)
> > 
> > I'll apply the whole series as soon as there are ACKs for the third
> > patch, and from the KVM guys for the whole series.
> > Christian, Janosch, Claudio?
> 
> Acked-by: Christian Borntraeger <borntraeger@linux.ibm.com>
> for the series.
> 
> @Eric Farman,
> Was someone from your team planning to look into this (testing, review whatever)?

The guy that was testing it just got back from a long holiday. I'll ping him and see if he can chime
in here.
Sumanth Korikkar Oct. 31, 2024, 4:27 p.m. UTC | #4
On Fri, Oct 25, 2024 at 04:14:45PM +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 three 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 properly enter the "kdump mode" in the virtio-mem
>    driver
> 
> kdump support for virtio-mem memory on s390 will be sent out separately.
> 
> v2 -> v3
> * "s390/kdump: make is_kdump_kernel() consistently return "true" in kdump
>    environments only"
>  -> Sent out separately [3]
> * "s390/physmem_info: query diag500(STORAGE LIMIT) to support QEMU/KVM memory
>    devices"
>  -> No query function for diag500 for now.
>  -> Update comment above setup_ident_map_size().
>  -> Optimize/rewrite diag500_storage_limit() [Heiko]
>  -> Change handling in detect_physmem_online_ranges [Alexander]
>  -> Improve documentation.
> * "s390/sparsemem: provide memory_add_physaddr_to_nid() with CONFIG_NUMA"
>  -> Added after testing on systems with CONFIG_NUMA=y
> 
> v1 -> v2:
> * Document the new diag500 subfunction
> * Use "s390" instead of "s390x" consistently
> 
> [1] https://lkml.kernel.org/r/20241008105455.2302628-1-david@redhat.com
> [2] https://virtio-mem.gitlab.io/user-guide/user-guide-linux.html
> [3] https://lkml.kernel.org/r/20241023090651.1115507-1-david@redhat.com
> 
> 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: Eric Farman <farman@linux.ibm.com>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: Jonathan Corbet <corbet@lwn.net>
> 
> David Hildenbrand (7):
>   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
>   s390/sparsemem: provide memory_add_physaddr_to_nid() with CONFIG_NUMA
> 
>  Documentation/virt/kvm/s390/s390-diag.rst | 35 +++++++++++++----
>  arch/s390/boot/physmem_info.c             | 47 ++++++++++++++++++++++-
>  arch/s390/boot/startup.c                  |  7 +++-
>  arch/s390/include/asm/physmem_info.h      |  3 ++
>  arch/s390/include/asm/sparsemem.h         | 10 ++++-
>  drivers/virtio/Kconfig                    | 12 +++---
>  lib/Kconfig.debug                         |  2 +-
>  7 files changed, 98 insertions(+), 18 deletions(-)
> 
> 
> base-commit: ae90f6a6170d7a7a1aa4fddf664fbd093e3023bc
> -- 
> 2.46.1
> 

Tested successfully various memory hotplug operations on lpar.

Tested-by: Sumanth Korikkar <sumanthk@linux.ibm.com>
Sumanth Korikkar Oct. 31, 2024, 4:47 p.m. UTC | #5
On Thu, Oct 31, 2024 at 05:27:06PM +0100, Sumanth Korikkar wrote:
> On Fri, Oct 25, 2024 at 04:14:45PM +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 three 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 properly enter the "kdump mode" in the virtio-mem
> >    driver
> > 
> > kdump support for virtio-mem memory on s390 will be sent out separately.
> > 
> > v2 -> v3
> > * "s390/kdump: make is_kdump_kernel() consistently return "true" in kdump
> >    environments only"
> >  -> Sent out separately [3]
> > * "s390/physmem_info: query diag500(STORAGE LIMIT) to support QEMU/KVM memory
> >    devices"
> >  -> No query function for diag500 for now.
> >  -> Update comment above setup_ident_map_size().
> >  -> Optimize/rewrite diag500_storage_limit() [Heiko]
> >  -> Change handling in detect_physmem_online_ranges [Alexander]
> >  -> Improve documentation.
> > * "s390/sparsemem: provide memory_add_physaddr_to_nid() with CONFIG_NUMA"
> >  -> Added after testing on systems with CONFIG_NUMA=y
> > 
> > v1 -> v2:
> > * Document the new diag500 subfunction
> > * Use "s390" instead of "s390x" consistently
> > 
> > [1] https://lkml.kernel.org/r/20241008105455.2302628-1-david@redhat.com
> > [2] https://virtio-mem.gitlab.io/user-guide/user-guide-linux.html
> > [3] https://lkml.kernel.org/r/20241023090651.1115507-1-david@redhat.com
> > 
> > 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: Eric Farman <farman@linux.ibm.com>
> > Cc: Andrew Morton <akpm@linux-foundation.org>
> > Cc: Jonathan Corbet <corbet@lwn.net>
> > 
> > David Hildenbrand (7):
> >   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
> >   s390/sparsemem: provide memory_add_physaddr_to_nid() with CONFIG_NUMA
> > 
> >  Documentation/virt/kvm/s390/s390-diag.rst | 35 +++++++++++++----
> >  arch/s390/boot/physmem_info.c             | 47 ++++++++++++++++++++++-
> >  arch/s390/boot/startup.c                  |  7 +++-
> >  arch/s390/include/asm/physmem_info.h      |  3 ++
> >  arch/s390/include/asm/sparsemem.h         | 10 ++++-
> >  drivers/virtio/Kconfig                    | 12 +++---
> >  lib/Kconfig.debug                         |  2 +-
> >  7 files changed, 98 insertions(+), 18 deletions(-)
> > 
> > 
> > base-commit: ae90f6a6170d7a7a1aa4fddf664fbd093e3023bc
> > -- 
> > 2.46.1
> > 
> 
> Tested successfully various memory hotplug operations on lpar.
> 
Just to be more precise, tested memory hotplug/hotunplug combinations +
Device hotplug/hotunplug operations on guest.

> Tested-by: Sumanth Korikkar <sumanthk@linux.ibm.com>
David Hildenbrand Oct. 31, 2024, 5:30 p.m. UTC | #6
On 31.10.24 17:47, Sumanth Korikkar wrote:
> On Thu, Oct 31, 2024 at 05:27:06PM +0100, Sumanth Korikkar wrote:
>> On Fri, Oct 25, 2024 at 04:14:45PM +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 three 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 properly enter the "kdump mode" in the virtio-mem
>>>     driver
>>>
>>> kdump support for virtio-mem memory on s390 will be sent out separately.
>>>
>>> v2 -> v3
>>> * "s390/kdump: make is_kdump_kernel() consistently return "true" in kdump
>>>     environments only"
>>>   -> Sent out separately [3]
>>> * "s390/physmem_info: query diag500(STORAGE LIMIT) to support QEMU/KVM memory
>>>     devices"
>>>   -> No query function for diag500 for now.
>>>   -> Update comment above setup_ident_map_size().
>>>   -> Optimize/rewrite diag500_storage_limit() [Heiko]
>>>   -> Change handling in detect_physmem_online_ranges [Alexander]
>>>   -> Improve documentation.
>>> * "s390/sparsemem: provide memory_add_physaddr_to_nid() with CONFIG_NUMA"
>>>   -> Added after testing on systems with CONFIG_NUMA=y
>>>
>>> v1 -> v2:
>>> * Document the new diag500 subfunction
>>> * Use "s390" instead of "s390x" consistently
>>>
>>> [1] https://lkml.kernel.org/r/20241008105455.2302628-1-david@redhat.com
>>> [2] https://virtio-mem.gitlab.io/user-guide/user-guide-linux.html
>>> [3] https://lkml.kernel.org/r/20241023090651.1115507-1-david@redhat.com
>>>
>>> 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: Eric Farman <farman@linux.ibm.com>
>>> Cc: Andrew Morton <akpm@linux-foundation.org>
>>> Cc: Jonathan Corbet <corbet@lwn.net>
>>>
>>> David Hildenbrand (7):
>>>    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
>>>    s390/sparsemem: provide memory_add_physaddr_to_nid() with CONFIG_NUMA
>>>
>>>   Documentation/virt/kvm/s390/s390-diag.rst | 35 +++++++++++++----
>>>   arch/s390/boot/physmem_info.c             | 47 ++++++++++++++++++++++-
>>>   arch/s390/boot/startup.c                  |  7 +++-
>>>   arch/s390/include/asm/physmem_info.h      |  3 ++
>>>   arch/s390/include/asm/sparsemem.h         | 10 ++++-
>>>   drivers/virtio/Kconfig                    | 12 +++---
>>>   lib/Kconfig.debug                         |  2 +-
>>>   7 files changed, 98 insertions(+), 18 deletions(-)
>>>
>>>
>>> base-commit: ae90f6a6170d7a7a1aa4fddf664fbd093e3023bc
>>> -- 
>>> 2.46.1
>>>
>>
>> Tested successfully various memory hotplug operations on lpar.
>>
> Just to be more precise, tested memory hotplug/hotunplug combinations +
> Device hotplug/hotunplug operations on guest.

Thanks a bunch!
Heiko Carstens Nov. 4, 2024, 10:14 a.m. UTC | #7
On Fri, Oct 25, 2024 at 04:14:45PM +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.

...

> David Hildenbrand (7):
>   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
>   s390/sparsemem: provide memory_add_physaddr_to_nid() with CONFIG_NUMA
> 
>  Documentation/virt/kvm/s390/s390-diag.rst | 35 +++++++++++++----
>  arch/s390/boot/physmem_info.c             | 47 ++++++++++++++++++++++-
>  arch/s390/boot/startup.c                  |  7 +++-
>  arch/s390/include/asm/physmem_info.h      |  3 ++
>  arch/s390/include/asm/sparsemem.h         | 10 ++++-
>  drivers/virtio/Kconfig                    | 12 +++---
>  lib/Kconfig.debug                         |  2 +-
>  7 files changed, 98 insertions(+), 18 deletions(-)

Series applied. Thanks a lot!