On 1/27/25 13:44, David Hildenbrand wrote: > On 27.01.25 13:01, Boris Fiuczynski wrote: >> On 1/24/25 13:35, David Hildenbrand wrote: >>> On 24.01.25 13:21, Michal Privoznik wrote: >>>> Drop explicit request to place virtio-mem on PCI bus from the >>>> input memory-hotplug-virtio-mem-s390x.xml and demonstrate how the >>>> device is automatically placed onto CCW. >>>> >>> >>> Could it still be manually placed on the PCI bus? It can, but as you point out, qemu refuses to start. >>> >>> As of now, virtio-mem-pci is not supported on s390x -- IIRC plugging the >>> device would fail -- but maybe, in a distant future it might be >>> supported. >>> >> >> David, > > Hi Boris, > >> the libvirt probing of capabilities with qemu v9.2.0-1203-gd6430c17d7 >> returns virtio-mem-pci support based on the QOM. Should that be fixed? > > Right, it's similar to virtio-balloon-pci: while it is compiled into > QEMU, plugging these devices will fail due to lack of MSI-X support. [1] > > For virtio-mem-pci, in addition to MSI-X support, we'll have to wire up > the (un)plug handlers in the machine, which are currently blocked: > > Which leaves us with three options: > > (1) Leave it as is: device is compiled in but cannot be used, just like > virtio-balloon-pci > (2) Implement MSI-X and (un)plug support > (3) Do not compile the device in This last option is something I've experimented with, but then got lost in the weeds of code interdeps. In the end I've decided it's not a huge problem, is it. In my patches (e.g. 5/8) I look what bus is virtio-mem attached to and check for corresponding capability. OTOH, support for .prealloc and .dynamic-memslots is detected from virtio-mem-pci device. If virtio-mem-pci device would be compiled out then libvirt would need a code to check these attributes for virtio-mem-ccw. Michal