Message ID | 20230711153445.514112-1-david@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | virtio-mem: Device unplug support | expand |
On Tue, Jul 11, 2023 at 05:34:38PM +0200, David Hildenbrand wrote: > One limitation of virtio-mem is that we cannot currently unplug virtio-mem > devices that have all memory unplugged from the VM. > > Let's properly handle forced unplug (as can be triggered by the VM) and > add support for ordinary unplug (requests) of virtio-mem devices that are > in a compatible state (no legacy mode, no plugged memory, no plug request). > > Briefly tested on both, x86_64 and aarch64. Reviewed-by: Michael S. Tsirkin <mst@redhat.com> feel free to merge. > v3 -> v4: > - "pc: Factor out (un)plug handling of virtio-md-pci devices" > -> Add stubs to fix arm64 compilation under mingw > - Added Tested-by's > > v2 -> v3: > - "virtio-md-pci: New parent type for virtio-mem-pci and virtio-pmem-pci" > -> Add MAINTAINERS entry > > v1 -> v2: > - Reduce code duplication and implement it in a cleaner way using a > new abstract virtio-md-pci parent class > - "virtio-md-pci: New parent type for virtio-mem-pci and virtio-pmem-pci" > -> Added, use a new aprent type like virtio-input-pci > - "pc: Factor out (un)plug handling of virtio-md-pci devices" > -> Added, factor it cleanly out > - "arm/virt: Use virtio-md-pci (un)plug functions" > -> Added, reduce code duplciation > - "virtio-md-pci: Handle unplug of virtio based memory devices" > -> More generic without any device-specifics > - "virtio-md-pci: Support unplug requests for compatible devices" > -> More generic without any device-specifics > - "virtio-mem: Prepare for device unplug support" > -> Use callback, separated from virtio-mem-pci device change > - "virtio-mem-pci: Device unplug support" > -> Use callback, separated from virtio-mem device change > > Cc: Peter Maydell <peter.maydell@linaro.org> > Cc: Paolo Bonzini <pbonzini@redhat.com> > Cc: Richard Henderson <richard.henderson@linaro.org> > Cc: Eduardo Habkost <eduardo@habkost.net> > Cc: "Michael S. Tsirkin" <mst@redhat.com> > Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com> > Cc: Igor Mammedov <imammedo@redhat.com> > Cc: qemu-arm@nongnu.org > Cc: Gavin Shan <gshan@redhat.com> > Cc: Mario Casquero <mcasquer@redhat.com> > > David Hildenbrand (7): > virtio-md-pci: New parent type for virtio-mem-pci and virtio-pmem-pci > pc: Factor out (un)plug handling of virtio-md-pci devices > arm/virt: Use virtio-md-pci (un)plug functions > virtio-md-pci: Handle unplug of virtio based memory devices > virtio-md-pci: Support unplug requests for compatible devices > virtio-mem: Prepare for device unplug support > virtio-mem-pci: Device unplug support > > MAINTAINERS | 7 ++ > hw/arm/virt.c | 81 +++------------- > hw/i386/pc.c | 90 +++--------------- > hw/virtio/Kconfig | 8 +- > hw/virtio/meson.build | 1 + > hw/virtio/virtio-md-pci.c | 151 ++++++++++++++++++++++++++++++ > hw/virtio/virtio-mem-pci.c | 54 +++++++++-- > hw/virtio/virtio-mem-pci.h | 6 +- > hw/virtio/virtio-mem.c | 25 +++++ > hw/virtio/virtio-pmem-pci.c | 5 +- > hw/virtio/virtio-pmem-pci.h | 6 +- > include/hw/virtio/virtio-md-pci.h | 44 +++++++++ > include/hw/virtio/virtio-mem.h | 1 + > stubs/meson.build | 1 + > stubs/virtio-md-pci.c | 24 +++++ > 15 files changed, 337 insertions(+), 167 deletions(-) > create mode 100644 hw/virtio/virtio-md-pci.c > create mode 100644 include/hw/virtio/virtio-md-pci.h > create mode 100644 stubs/virtio-md-pci.c > > -- > 2.41.0
On 11.07.23 17:37, Michael S. Tsirkin wrote: > On Tue, Jul 11, 2023 at 05:34:38PM +0200, David Hildenbrand wrote: >> One limitation of virtio-mem is that we cannot currently unplug virtio-mem >> devices that have all memory unplugged from the VM. >> >> Let's properly handle forced unplug (as can be triggered by the VM) and >> add support for ordinary unplug (requests) of virtio-mem devices that are >> in a compatible state (no legacy mode, no plugged memory, no plug request). >> >> Briefly tested on both, x86_64 and aarch64. > > > Reviewed-by: Michael S. Tsirkin <mst@redhat.com> > > > feel free to merge. Will queue tomorrow (and send a PR soonish) if there is no more feedback, thanks!
On 11.07.23 17:34, David Hildenbrand wrote: > One limitation of virtio-mem is that we cannot currently unplug virtio-mem > devices that have all memory unplugged from the VM. > > Let's properly handle forced unplug (as can be triggered by the VM) and > add support for ordinary unplug (requests) of virtio-mem devices that are > in a compatible state (no legacy mode, no plugged memory, no plug request). > > Briefly tested on both, x86_64 and aarch64. Queued to https://github.com/davidhildenbrand/qemu.git mem-next