From: Eric Blake <eblake@redhat.com>
To: David Hildenbrand <david@redhat.com>, qemu-devel@nongnu.org
Cc: Eduardo Habkost <ehabkost@redhat.com>,
kvm@vger.kernel.org, "Michael S . Tsirkin" <mst@redhat.com>,
"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
Markus Armbruster <armbru@redhat.com>,
qemu-s390x@nongnu.org, Igor Mammedov <imammedo@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Richard Henderson <rth@twiddle.net>
Subject: Re: [PATCH v1 10/17] virtio-mem: Paravirtualized memory hot(un)plug
Date: Wed, 6 May 2020 11:12:23 -0500 [thread overview]
Message-ID: <051610a8-4773-2de5-0d4c-48e39791f05e@redhat.com> (raw)
In-Reply-To: <20200506094948.76388-11-david@redhat.com>
On 5/6/20 4:49 AM, David Hildenbrand wrote:
> This is the very basic/initial version of virtio-mem. An introduction to
> virtio-mem can be found in the Linux kernel driver [1]. While it can be
> used in the current state for hotplug of a smaller amount of memory, it
> will heavily benefit from resizeable memory regions in the future.
>
> Each virtio-mem device manages a memory region (provided via a memory
> backend). After requested by the hypervisor ("requested-size"), the
> guest can try to plug/unplug blocks of memory within that region, in order
> to reach the requested size. Initially, and after a reboot, all memory is
> unplugged (except in special cases - reboot during postcopy).
>
> The guest may only try to plug/unplug blocks of memory within the usable
> region size. The usable region size is a little bigger than the
> requested size, to give the device driver some flexibility. The usable
> region size will only grow, except on reboots or when all memory is
> requested to get unplugged. The guest can never plug more memory than
> requested. Unplugged memory will get zapped/discarded, similar to in a
> balloon device.
>
> The block size is variable, however, it is always chosen in a way such that
> THP splits are avoided (e.g., 2MB). The state of each block
> (plugged/unplugged) is tracked in a bitmap.
>
> As virtio-mem devices (e.g., virtio-mem-pci) will be memory devices, we now
> expose "VirtioMEMDeviceInfo" via "query-memory-devices".
>
> +++ b/qapi/misc.json
> @@ -1354,19 +1354,56 @@
> }
> }
>
> +##
> +# @VirtioMEMDeviceInfo:
> +#
> +# @memdev: memory backend linked with the region
> +#
> +# Since: 5.1
Here you claim 5.1,
> +##
> +{ 'struct': 'VirtioMEMDeviceInfo',
> + 'data': { '*id': 'str',
> + 'memaddr': 'size',
> + 'requested-size': 'size',
> + 'size': 'size',
> + 'max-size': 'size',
> + 'block-size': 'size',
> + 'node': 'int',
> + 'memdev': 'str'
> + }
> +}
> +
> ##
> # @MemoryDeviceInfo:
> #
> # Union containing information about a memory device
> #
> # nvdimm is included since 2.12. virtio-pmem is included since 4.1.
> +# virtio-mem is included since 5.2.
but here 5.2. They should probably be the same :)
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org
next prev parent reply other threads:[~2020-05-06 16:13 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-06 9:49 [PATCH v1 00/17] virtio-mem: Paravirtualized memory hot(un)plug David Hildenbrand
2020-05-06 9:49 ` [PATCH v1 01/17] exec: Introduce ram_block_discard_set_(unreliable|required)() David Hildenbrand
2020-05-15 9:54 ` Dr. David Alan Gilbert
2020-05-15 14:40 ` David Hildenbrand
2020-05-15 14:54 ` David Hildenbrand
2020-05-15 16:15 ` Dr. David Alan Gilbert
2020-05-06 9:49 ` [PATCH v1 02/17] vfio: Convert to ram_block_discard_set_broken() David Hildenbrand
2020-05-15 12:01 ` David Hildenbrand
2020-05-06 9:49 ` [PATCH v1 03/17] accel/kvm: " David Hildenbrand
2020-05-15 11:57 ` Dr. David Alan Gilbert
2020-05-06 9:49 ` [PATCH v1 04/17] s390x/pv: " David Hildenbrand
2020-05-06 9:49 ` [PATCH v1 05/17] virtio-balloon: Rip out qemu_balloon_inhibit() David Hildenbrand
2020-05-15 12:09 ` Dr. David Alan Gilbert
2020-05-15 12:12 ` David Hildenbrand
2020-05-06 9:49 ` [PATCH v1 06/17] target/i386: sev: Use ram_block_discard_set_broken() David Hildenbrand
2020-05-15 15:51 ` Dr. David Alan Gilbert
2020-05-06 9:49 ` [PATCH v1 07/17] migration/rdma: " David Hildenbrand
2020-05-15 12:45 ` Dr. David Alan Gilbert
2020-05-15 14:09 ` David Hildenbrand
2020-05-15 17:51 ` Dr. David Alan Gilbert
2020-05-15 17:59 ` David Hildenbrand
2020-05-15 18:36 ` Dr. David Alan Gilbert
2020-05-18 13:52 ` David Hildenbrand
2020-05-06 9:49 ` [PATCH v1 08/17] migration/colo: " David Hildenbrand
2020-05-15 13:58 ` Dr. David Alan Gilbert
2020-05-15 14:05 ` David Hildenbrand
2020-05-06 9:49 ` [PATCH v1 09/17] linux-headers: update to contain virtio-mem David Hildenbrand
2020-05-06 9:49 ` [PATCH v1 10/17] virtio-mem: Paravirtualized memory hot(un)plug David Hildenbrand
2020-05-06 16:12 ` Eric Blake [this message]
2020-05-06 16:14 ` David Hildenbrand
2020-05-15 15:37 ` Dr. David Alan Gilbert
2020-05-15 16:48 ` David Hildenbrand
2020-05-18 14:23 ` David Hildenbrand
2020-05-06 9:49 ` [PATCH v1 11/17] virtio-pci: Proxy for virtio-mem David Hildenbrand
2020-05-06 18:57 ` Pankaj Gupta
2020-05-18 13:34 ` David Hildenbrand
2020-05-06 9:49 ` [PATCH v1 12/17] MAINTAINERS: Add myself as virtio-mem maintainer David Hildenbrand
2020-05-15 15:55 ` Dr. David Alan Gilbert
2020-05-06 9:49 ` [PATCH v1 13/17] hmp: Handle virtio-mem when printing memory device info David Hildenbrand
2020-05-06 19:03 ` Pankaj Gupta
2020-05-06 9:49 ` [PATCH v1 14/17] numa: Handle virtio-mem in NUMA stats David Hildenbrand
2020-05-06 9:49 ` [PATCH v1 15/17] pc: Support for virtio-mem-pci David Hildenbrand
2020-05-06 12:19 ` Pankaj Gupta
2020-05-06 9:49 ` [PATCH v1 16/17] virtio-mem: Allow notifiers for size changes David Hildenbrand
2020-05-15 16:46 ` Dr. David Alan Gilbert
2020-05-06 9:49 ` [PATCH v1 17/17] virtio-pci: Send qapi events when the virtio-mem " David Hildenbrand
2020-05-15 15:18 ` 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=051610a8-4773-2de5-0d4c-48e39791f05e@redhat.com \
--to=eblake@redhat.com \
--cc=armbru@redhat.com \
--cc=david@redhat.com \
--cc=dgilbert@redhat.com \
--cc=ehabkost@redhat.com \
--cc=imammedo@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=rth@twiddle.net \
/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).