From: David Hildenbrand <david@redhat.com>
To: linux-kernel@vger.kernel.org
Cc: linux-mm@kvack.org, linux-s390@vger.kernel.org,
virtualization@lists.linux.dev,
"David Hildenbrand" <david@redhat.com>,
"Heiko Carstens" <hca@linux.ibm.com>,
"Vasily Gorbik" <gor@linux.ibm.com>,
"Alexander Gordeev" <agordeev@linux.ibm.com>,
"Christian Borntraeger" <borntraeger@linux.ibm.com>,
"Sven Schnelle" <svens@linux.ibm.com>,
"Thomas Huth" <thuth@redhat.com>,
"Cornelia Huck" <cohuck@redhat.com>,
"Janosch Frank" <frankja@linux.ibm.com>,
"Claudio Imbrenda" <imbrenda@linux.ibm.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Jason Wang" <jasowang@redhat.com>,
"Xuan Zhuo" <xuanzhuo@linux.alibaba.com>,
"Eugenio Pérez" <eperezma@redhat.com>,
"Andrew Morton" <akpm@linux-foundation.org>
Subject: [PATCH v1 0/5] virtio-mem: s390x support
Date: Tue, 10 Sep 2024 21:15:34 +0200 [thread overview]
Message-ID: <20240910191541.2179655-1-david@redhat.com> (raw)
Let's finally add s390x support for virtio-mem; my last RFC was sent
4 years ago, and a lot changed in the meantime.
This is based on mm/stable.
I sent out the QEMU part earlier today [1], that contains some more details
and a usage example on s390x (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". Once this
and the QEMU part will go upstream, it will get documented in [2]
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 [3].
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. I
am working on a prototype that will be fairly straight forward,
because the virtio-mem driver already supports a special kdump mode and
dracut will already include it in the initrd as default. With
holiday and conferences coming up I rather sent this out now.
[1] https://lkml.kernel.org/r/20240910175809.2135596-1-david@redhat.com
[2] https://gitlab.com/davidhildenbrand/s390x-os-virt-spec
[3] https://virtio-mem.gitlab.io/user-guide/user-guide-linux.html
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>
David Hildenbrand (5):
s390/kdump: implement is_kdump_kernel()
s390/physmem_info: query diag500(STORAGE_LIMIT) to support QEMU/KVM
memory devices
virtio-mem: s390x support
lib/Kconfig.debug: default STRICT_DEVMEM to "y" on s390x
s390/sparsemem: reduce section size to 128 MiB
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 +-
7 files changed, 64 insertions(+), 11 deletions(-)
--
2.46.0
next reply other threads:[~2024-09-10 19:15 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-10 19:15 David Hildenbrand [this message]
2024-09-10 19:15 ` [PATCH v1 1/5] s390/kdump: implement is_kdump_kernel() David Hildenbrand
2024-09-10 19:15 ` [PATCH v1 2/5] s390/physmem_info: query diag500(STORAGE_LIMIT) to support QEMU/KVM memory devices David Hildenbrand
2024-09-10 19:15 ` [PATCH v1 3/5] virtio-mem: s390x support David Hildenbrand
2024-09-10 20:18 ` Michael S. Tsirkin
2024-09-10 19:15 ` [PATCH v1 4/5] lib/Kconfig.debug: default STRICT_DEVMEM to "y" on s390x David Hildenbrand
2024-09-10 19:15 ` [PATCH v1 5/5] s390/sparsemem: reduce section size to 128 MiB David Hildenbrand
2024-09-10 20:19 ` [PATCH v1 0/5] virtio-mem: s390x support Michael S. Tsirkin
2024-10-10 8:41 ` Mario Casquero
2024-10-10 12:31 ` David Hildenbrand
2024-10-10 14:41 ` Heiko Carstens
2024-10-10 14:42 ` David Hildenbrand
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240910191541.2179655-1-david@redhat.com \
--to=david@redhat.com \
--cc=agordeev@linux.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=borntraeger@linux.ibm.com \
--cc=cohuck@redhat.com \
--cc=eperezma@redhat.com \
--cc=frankja@linux.ibm.com \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=imbrenda@linux.ibm.com \
--cc=jasowang@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-s390@vger.kernel.org \
--cc=mst@redhat.com \
--cc=svens@linux.ibm.com \
--cc=thuth@redhat.com \
--cc=virtualization@lists.linux.dev \
--cc=xuanzhuo@linux.alibaba.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.