From: David Hildenbrand <david@redhat.com> To: qemu-devel@nongnu.org Cc: kvm@vger.kernel.org, qemu-s390x@nongnu.org, Richard Henderson <rth@twiddle.net>, Paolo Bonzini <pbonzini@redhat.com>, "Dr . David Alan Gilbert" <dgilbert@redhat.com>, Eduardo Habkost <ehabkost@redhat.com>, "Michael S . Tsirkin" <mst@redhat.com>, David Hildenbrand <david@redhat.com>, Alex Williamson <alex.williamson@redhat.com>, Christian Borntraeger <borntraeger@de.ibm.com>, Cornelia Huck <cohuck@redhat.com>, Eric Blake <eblake@redhat.com>, Eric Farman <farman@linux.ibm.com>, Hailiang Zhang <zhang.zhanghailiang@huawei.com>, Halil Pasic <pasic@linux.ibm.com>, Igor Mammedov <imammedo@redhat.com>, Janosch Frank <frankja@linux.ibm.com>, Juan Quintela <quintela@redhat.com>, Keith Busch <kbusch@kernel.org>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Markus Armbruster <armbru@redhat.com>, Peter Maydell <peter.maydell@linaro.org>, Pierre Morel <pmorel@linux.ibm.com>, Tony Krowiak <akrowiak@linux.ibm.com> Subject: [PATCH v1 00/17] virtio-mem: Paravirtualized memory hot(un)plug Date: Wed, 6 May 2020 11:49:31 +0200 [thread overview] Message-ID: <20200506094948.76388-1-david@redhat.com> (raw) This is the very basic, initial version of virtio-mem. More info on virtio-mem in general can be found in the Linux kernel driver posting [1] and in patch #10. "The basic idea of virtio-mem is to provide a flexible, cross-architecture memory hot(un)plug solution that avoids many limitations imposed by existing technologies, architectures, and interfaces." There are a lot of addons in the works (esp. protection of unplugged memory, better hugepage support (esp. when reading unplugged memory), resizeable memory backends, migration optimizations, support for more architectures, ...), this is the very basic version to get the ball rolling. The first 8 patches make sure we don't have any sudden surprises e.g., if somebody tries to pin all memory in RAM blocks, resulting in a higher memory consumption than desired. The remaining patches add basic virtio-mem along with support for x86-64. [1] https://lkml.kernel.org/r/20200311171422.10484-1-david@redhat.com David Hildenbrand (17): exec: Introduce ram_block_discard_set_(unreliable|required)() vfio: Convert to ram_block_discard_set_broken() accel/kvm: Convert to ram_block_discard_set_broken() s390x/pv: Convert to ram_block_discard_set_broken() virtio-balloon: Rip out qemu_balloon_inhibit() target/i386: sev: Use ram_block_discard_set_broken() migration/rdma: Use ram_block_discard_set_broken() migration/colo: Use ram_block_discard_set_broken() linux-headers: update to contain virtio-mem virtio-mem: Paravirtualized memory hot(un)plug virtio-pci: Proxy for virtio-mem MAINTAINERS: Add myself as virtio-mem maintainer hmp: Handle virtio-mem when printing memory device info numa: Handle virtio-mem in NUMA stats pc: Support for virtio-mem-pci virtio-mem: Allow notifiers for size changes virtio-pci: Send qapi events when the virtio-mem size changes MAINTAINERS | 8 + accel/kvm/kvm-all.c | 3 +- balloon.c | 17 - exec.c | 48 ++ hw/core/numa.c | 6 + hw/i386/Kconfig | 1 + hw/i386/pc.c | 49 +- hw/s390x/s390-virtio-ccw.c | 22 +- hw/vfio/ap.c | 10 +- hw/vfio/ccw.c | 11 +- hw/vfio/common.c | 53 +- hw/vfio/pci.c | 6 +- hw/virtio/Kconfig | 11 + hw/virtio/Makefile.objs | 2 + hw/virtio/virtio-balloon.c | 12 +- hw/virtio/virtio-mem-pci.c | 159 ++++ hw/virtio/virtio-mem-pci.h | 34 + hw/virtio/virtio-mem.c | 781 ++++++++++++++++++++ include/exec/memory.h | 41 + include/hw/pci/pci.h | 1 + include/hw/vfio/vfio-common.h | 4 +- include/hw/virtio/virtio-mem.h | 85 +++ include/migration/colo.h | 2 +- include/standard-headers/linux/virtio_ids.h | 1 + include/standard-headers/linux/virtio_mem.h | 208 ++++++ include/sysemu/balloon.h | 2 - migration/migration.c | 8 +- migration/postcopy-ram.c | 23 - migration/rdma.c | 18 +- migration/savevm.c | 11 +- monitor/hmp-cmds.c | 16 + monitor/monitor.c | 1 + qapi/misc.json | 64 +- target/i386/sev.c | 1 + 34 files changed, 1598 insertions(+), 121 deletions(-) create mode 100644 hw/virtio/virtio-mem-pci.c create mode 100644 hw/virtio/virtio-mem-pci.h create mode 100644 hw/virtio/virtio-mem.c create mode 100644 include/hw/virtio/virtio-mem.h create mode 100644 include/standard-headers/linux/virtio_mem.h -- 2.25.3
WARNING: multiple messages have this Message-ID (diff)
From: David Hildenbrand <david@redhat.com> To: qemu-devel@nongnu.org Cc: Peter Maydell <peter.maydell@linaro.org>, kvm@vger.kernel.org, "Michael S . Tsirkin" <mst@redhat.com>, Janosch Frank <frankja@linux.ibm.com>, Juan Quintela <quintela@redhat.com>, David Hildenbrand <david@redhat.com>, Markus Armbruster <armbru@redhat.com>, Halil Pasic <pasic@linux.ibm.com>, Christian Borntraeger <borntraeger@de.ibm.com>, Richard Henderson <rth@twiddle.net>, Eric Farman <farman@linux.ibm.com>, Eduardo Habkost <ehabkost@redhat.com>, "Dr . David Alan Gilbert" <dgilbert@redhat.com>, Alex Williamson <alex.williamson@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Keith Busch <kbusch@kernel.org>, Hailiang Zhang <zhang.zhanghailiang@huawei.com>, Tony Krowiak <akrowiak@linux.ibm.com>, Pierre Morel <pmorel@linux.ibm.com>, Cornelia Huck <cohuck@redhat.com>, qemu-s390x@nongnu.org, Igor Mammedov <imammedo@redhat.com> Subject: [PATCH v1 00/17] virtio-mem: Paravirtualized memory hot(un)plug Date: Wed, 6 May 2020 11:49:31 +0200 [thread overview] Message-ID: <20200506094948.76388-1-david@redhat.com> (raw) This is the very basic, initial version of virtio-mem. More info on virtio-mem in general can be found in the Linux kernel driver posting [1] and in patch #10. "The basic idea of virtio-mem is to provide a flexible, cross-architecture memory hot(un)plug solution that avoids many limitations imposed by existing technologies, architectures, and interfaces." There are a lot of addons in the works (esp. protection of unplugged memory, better hugepage support (esp. when reading unplugged memory), resizeable memory backends, migration optimizations, support for more architectures, ...), this is the very basic version to get the ball rolling. The first 8 patches make sure we don't have any sudden surprises e.g., if somebody tries to pin all memory in RAM blocks, resulting in a higher memory consumption than desired. The remaining patches add basic virtio-mem along with support for x86-64. [1] https://lkml.kernel.org/r/20200311171422.10484-1-david@redhat.com David Hildenbrand (17): exec: Introduce ram_block_discard_set_(unreliable|required)() vfio: Convert to ram_block_discard_set_broken() accel/kvm: Convert to ram_block_discard_set_broken() s390x/pv: Convert to ram_block_discard_set_broken() virtio-balloon: Rip out qemu_balloon_inhibit() target/i386: sev: Use ram_block_discard_set_broken() migration/rdma: Use ram_block_discard_set_broken() migration/colo: Use ram_block_discard_set_broken() linux-headers: update to contain virtio-mem virtio-mem: Paravirtualized memory hot(un)plug virtio-pci: Proxy for virtio-mem MAINTAINERS: Add myself as virtio-mem maintainer hmp: Handle virtio-mem when printing memory device info numa: Handle virtio-mem in NUMA stats pc: Support for virtio-mem-pci virtio-mem: Allow notifiers for size changes virtio-pci: Send qapi events when the virtio-mem size changes MAINTAINERS | 8 + accel/kvm/kvm-all.c | 3 +- balloon.c | 17 - exec.c | 48 ++ hw/core/numa.c | 6 + hw/i386/Kconfig | 1 + hw/i386/pc.c | 49 +- hw/s390x/s390-virtio-ccw.c | 22 +- hw/vfio/ap.c | 10 +- hw/vfio/ccw.c | 11 +- hw/vfio/common.c | 53 +- hw/vfio/pci.c | 6 +- hw/virtio/Kconfig | 11 + hw/virtio/Makefile.objs | 2 + hw/virtio/virtio-balloon.c | 12 +- hw/virtio/virtio-mem-pci.c | 159 ++++ hw/virtio/virtio-mem-pci.h | 34 + hw/virtio/virtio-mem.c | 781 ++++++++++++++++++++ include/exec/memory.h | 41 + include/hw/pci/pci.h | 1 + include/hw/vfio/vfio-common.h | 4 +- include/hw/virtio/virtio-mem.h | 85 +++ include/migration/colo.h | 2 +- include/standard-headers/linux/virtio_ids.h | 1 + include/standard-headers/linux/virtio_mem.h | 208 ++++++ include/sysemu/balloon.h | 2 - migration/migration.c | 8 +- migration/postcopy-ram.c | 23 - migration/rdma.c | 18 +- migration/savevm.c | 11 +- monitor/hmp-cmds.c | 16 + monitor/monitor.c | 1 + qapi/misc.json | 64 +- target/i386/sev.c | 1 + 34 files changed, 1598 insertions(+), 121 deletions(-) create mode 100644 hw/virtio/virtio-mem-pci.c create mode 100644 hw/virtio/virtio-mem-pci.h create mode 100644 hw/virtio/virtio-mem.c create mode 100644 include/hw/virtio/virtio-mem.h create mode 100644 include/standard-headers/linux/virtio_mem.h -- 2.25.3
next reply other threads:[~2020-05-06 9:50 UTC|newest] Thread overview: 94+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-05-06 9:49 David Hildenbrand [this message] 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-06 9:49 ` David Hildenbrand 2020-05-15 9:54 ` Dr. David Alan Gilbert 2020-05-15 9:54 ` Dr. David Alan Gilbert 2020-05-15 14:40 ` David Hildenbrand 2020-05-15 14:40 ` David Hildenbrand 2020-05-15 14:54 ` David Hildenbrand 2020-05-15 14:54 ` David Hildenbrand 2020-05-15 16:15 ` Dr. David Alan Gilbert 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-06 9:49 ` David Hildenbrand 2020-05-15 12:01 ` David Hildenbrand 2020-05-15 12:01 ` David Hildenbrand 2020-05-06 9:49 ` [PATCH v1 03/17] accel/kvm: " David Hildenbrand 2020-05-06 9:49 ` David Hildenbrand 2020-05-15 11:57 ` Dr. David Alan Gilbert 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 ` David Hildenbrand 2020-05-06 9:49 ` [PATCH v1 05/17] virtio-balloon: Rip out qemu_balloon_inhibit() David Hildenbrand 2020-05-06 9:49 ` David Hildenbrand 2020-05-15 12:09 ` Dr. David Alan Gilbert 2020-05-15 12:09 ` Dr. David Alan Gilbert 2020-05-15 12:12 ` David Hildenbrand 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-06 9:49 ` David Hildenbrand 2020-05-15 15:51 ` Dr. David Alan Gilbert 2020-05-15 15:51 ` Dr. David Alan Gilbert 2020-05-06 9:49 ` [PATCH v1 07/17] migration/rdma: " David Hildenbrand 2020-05-06 9:49 ` David Hildenbrand 2020-05-15 12:45 ` Dr. David Alan Gilbert 2020-05-15 12:45 ` Dr. David Alan Gilbert 2020-05-15 14:09 ` David Hildenbrand 2020-05-15 14:09 ` David Hildenbrand 2020-05-15 17:51 ` Dr. David Alan Gilbert 2020-05-15 17:51 ` Dr. David Alan Gilbert 2020-05-15 17:59 ` David Hildenbrand 2020-05-15 17:59 ` David Hildenbrand 2020-05-15 18:36 ` Dr. David Alan Gilbert 2020-05-15 18:36 ` Dr. David Alan Gilbert 2020-05-18 13:52 ` David Hildenbrand 2020-05-18 13:52 ` David Hildenbrand 2020-05-06 9:49 ` [PATCH v1 08/17] migration/colo: " David Hildenbrand 2020-05-06 9:49 ` David Hildenbrand 2020-05-15 13:58 ` Dr. David Alan Gilbert 2020-05-15 13:58 ` Dr. David Alan Gilbert 2020-05-15 14:05 ` David Hildenbrand 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 ` David Hildenbrand 2020-05-06 9:49 ` [PATCH v1 10/17] virtio-mem: Paravirtualized memory hot(un)plug David Hildenbrand 2020-05-06 9:49 ` David Hildenbrand 2020-05-06 16:12 ` Eric Blake 2020-05-06 16:12 ` Eric Blake 2020-05-06 16:14 ` David Hildenbrand 2020-05-06 16:14 ` David Hildenbrand 2020-05-15 15:37 ` Dr. David Alan Gilbert 2020-05-15 15:37 ` Dr. David Alan Gilbert 2020-05-15 16:48 ` David Hildenbrand 2020-05-15 16:48 ` David Hildenbrand 2020-05-18 14:23 ` 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 9:49 ` David Hildenbrand 2020-05-06 18:57 ` Pankaj Gupta 2020-05-06 18:57 ` Pankaj Gupta 2020-05-18 13:34 ` David Hildenbrand 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-06 9:49 ` David Hildenbrand 2020-05-15 15:55 ` Dr. David Alan Gilbert 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 9:49 ` David Hildenbrand 2020-05-06 19:03 ` Pankaj Gupta 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 ` David Hildenbrand 2020-05-06 9:49 ` [PATCH v1 15/17] pc: Support for virtio-mem-pci David Hildenbrand 2020-05-06 9:49 ` David Hildenbrand 2020-05-06 12:19 ` Pankaj Gupta 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-06 9:49 ` David Hildenbrand 2020-05-15 16:46 ` Dr. David Alan Gilbert 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-06 9:49 ` David Hildenbrand 2020-05-15 15:18 ` 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=20200506094948.76388-1-david@redhat.com \ --to=david@redhat.com \ --cc=akrowiak@linux.ibm.com \ --cc=alex.williamson@redhat.com \ --cc=armbru@redhat.com \ --cc=borntraeger@de.ibm.com \ --cc=cohuck@redhat.com \ --cc=dgilbert@redhat.com \ --cc=eblake@redhat.com \ --cc=ehabkost@redhat.com \ --cc=farman@linux.ibm.com \ --cc=frankja@linux.ibm.com \ --cc=imammedo@redhat.com \ --cc=kbusch@kernel.org \ --cc=kvm@vger.kernel.org \ --cc=marcel.apfelbaum@gmail.com \ --cc=mst@redhat.com \ --cc=pasic@linux.ibm.com \ --cc=pbonzini@redhat.com \ --cc=peter.maydell@linaro.org \ --cc=pmorel@linux.ibm.com \ --cc=qemu-devel@nongnu.org \ --cc=qemu-s390x@nongnu.org \ --cc=quintela@redhat.com \ --cc=rth@twiddle.net \ --cc=zhang.zhanghailiang@huawei.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: linkBe 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.