From: "Michael S. Tsirkin" <mst@redhat.com>
To: David Hildenbrand <david@redhat.com>
Cc: qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
Paolo Bonzini <pbonzini@redhat.com>,
Richard Henderson <richard.henderson@linaro.org>,
Eduardo Habkost <eduardo@habkost.net>,
Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
Igor Mammedov <imammedo@redhat.com>,
qemu-arm@nongnu.org, Gavin Shan <gshan@redhat.com>,
Mario Casquero <mcasquer@redhat.com>
Subject: Re: [PATCH v4 0/7] virtio-mem: Device unplug support
Date: Tue, 11 Jul 2023 11:37:27 -0400 [thread overview]
Message-ID: <20230711113716-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20230711153445.514112-1-david@redhat.com>
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
next prev parent reply other threads:[~2023-07-11 15:38 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-11 15:34 [PATCH v4 0/7] virtio-mem: Device unplug support David Hildenbrand
2023-07-11 15:34 ` [PATCH v4 1/7] virtio-md-pci: New parent type for virtio-mem-pci and virtio-pmem-pci David Hildenbrand
2023-07-11 15:34 ` [PATCH v4 2/7] pc: Factor out (un)plug handling of virtio-md-pci devices David Hildenbrand
2023-07-11 15:34 ` [PATCH v4 3/7] arm/virt: Use virtio-md-pci (un)plug functions David Hildenbrand
2023-07-11 15:34 ` [PATCH v4 4/7] virtio-md-pci: Handle unplug of virtio based memory devices David Hildenbrand
2023-07-11 15:34 ` [PATCH v4 5/7] virtio-md-pci: Support unplug requests for compatible devices David Hildenbrand
2023-07-11 15:34 ` [PATCH v4 6/7] virtio-mem: Prepare for device unplug support David Hildenbrand
2023-07-11 15:34 ` [PATCH v4 7/7] virtio-mem-pci: Device " David Hildenbrand
2023-07-11 15:37 ` Michael S. Tsirkin [this message]
2023-07-11 15:38 ` [PATCH v4 0/7] virtio-mem: " David Hildenbrand
2023-07-12 7:27 ` 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=20230711113716-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=david@redhat.com \
--cc=eduardo@habkost.net \
--cc=gshan@redhat.com \
--cc=imammedo@redhat.com \
--cc=marcel.apfelbaum@gmail.com \
--cc=mcasquer@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).