mbox

[PULL,00/10] Hyper-V Dynamic Memory Protocol driver (hv-balloon) pull req fixed

Message ID cover.1699279190.git.maciej.szmigiero@oracle.com
State New
Headers show

Pull-request

https://github.com/maciejsszmigiero/qemu.git tags/pull-hv-balloon-20231106

Message

Maciej S. Szmigiero Nov. 6, 2023, 2:20 p.m. UTC
From: "Maciej S. Szmigiero" <maciej.szmigiero@oracle.com>

Hi Stefan,

Fixed the CI pipeline issues with yesterday's pull request, and:
the following changes since commit d762bf97931b58839316b68a570eecc6143c9e3e:

  Merge tag 'pull-target-arm-20231102' of https://git.linaro.org/people/pmaydell/qemu-arm into staging (2023-11-03 10:04:12 +0800)

are available in the Git repository at:

  https://github.com/maciejsszmigiero/qemu.git tags/pull-hv-balloon-20231106

for you to fetch changes up to 00313b517d09c0b141fb32997791f911c28fd3ff:

  MAINTAINERS: Add an entry for Hyper-V Dynamic Memory Protocol (2023-11-06 14:08:10 +0100)

----------------------------------------------------------------
Hyper-V Dynamic Memory protocol driver.

This driver is like virtio-balloon on steroids for Windows guests:
it allows both changing the guest memory allocation via ballooning and
inserting pieces of extra RAM into it on demand from a provided memory
backend via Windows-native Hyper-V Dynamic Memory protocol.

* Preparatory patches to support empty memory devices and ones with
large alignment requirements.

* Revert of recently added "hw/virtio/virtio-pmem: Replace impossible
check by assertion" commit 5960f254dbb4 since this series makes this
situation possible again.

* Protocol definitions.

* Hyper-V DM protocol driver (hv-balloon) base (ballooning only).

* Hyper-V DM protocol driver (hv-balloon) hot-add support.

* qapi query-memory-devices support for the driver.

* qapi HV_BALLOON_STATUS_REPORT event.

* The relevant PC machine plumbing.

* New MAINTAINERS entry for the above.

----------------------------------------------------------------
David Hildenbrand (2):
      memory-device: Support empty memory devices
      memory-device: Drop size alignment check

Maciej S. Szmigiero (8):
      Revert "hw/virtio/virtio-pmem: Replace impossible check by assertion"
      Add Hyper-V Dynamic Memory Protocol definitions
      Add Hyper-V Dynamic Memory Protocol driver (hv-balloon) base
      Add Hyper-V Dynamic Memory Protocol driver (hv-balloon) hot-add support
      qapi: Add query-memory-devices support to hv-balloon
      qapi: Add HV_BALLOON_STATUS_REPORT event and its QMP query command
      hw/i386/pc: Support hv-balloon
      MAINTAINERS: Add an entry for Hyper-V Dynamic Memory Protocol

 Kconfig.host                              |    3 +
 MAINTAINERS                               |    8 +
 hw/core/machine-hmp-cmds.c                |   15 +
 hw/hyperv/Kconfig                         |   10 +
 hw/hyperv/hv-balloon-internal.h           |   33 +
 hw/hyperv/hv-balloon-our_range_memslots.c |  201 ++++
 hw/hyperv/hv-balloon-our_range_memslots.h |  110 ++
 hw/hyperv/hv-balloon-page_range_tree.c    |  228 ++++
 hw/hyperv/hv-balloon-page_range_tree.h    |  118 ++
 hw/hyperv/hv-balloon-stub.c               |   19 +
 hw/hyperv/hv-balloon.c                    | 1769 +++++++++++++++++++++++++++++
 hw/hyperv/meson.build                     |    1 +
 hw/hyperv/trace-events                    |   18 +
 hw/i386/Kconfig                           |    1 +
 hw/i386/pc.c                              |   22 +
 hw/mem/memory-device.c                    |   49 +-
 hw/virtio/virtio-pmem.c                   |    5 +-
 include/hw/hyperv/dynmem-proto.h          |  423 +++++++
 include/hw/hyperv/hv-balloon.h            |   18 +
 include/hw/mem/memory-device.h            |    7 +-
 meson.build                               |   28 +-
 meson_options.txt                         |    2 +
 monitor/monitor.c                         |    1 +
 qapi/machine.json                         |  101 +-
 scripts/meson-buildoptions.sh             |    3 +
 tests/qtest/qmp-cmd-test.c                |    1 +
 26 files changed, 3180 insertions(+), 14 deletions(-)
 create mode 100644 hw/hyperv/hv-balloon-internal.h
 create mode 100644 hw/hyperv/hv-balloon-our_range_memslots.c
 create mode 100644 hw/hyperv/hv-balloon-our_range_memslots.h
 create mode 100644 hw/hyperv/hv-balloon-page_range_tree.c
 create mode 100644 hw/hyperv/hv-balloon-page_range_tree.h
 create mode 100644 hw/hyperv/hv-balloon-stub.c
 create mode 100644 hw/hyperv/hv-balloon.c
 create mode 100644 include/hw/hyperv/dynmem-proto.h
 create mode 100644 include/hw/hyperv/hv-balloon.h

Comments

Stefan Hajnoczi Nov. 7, 2023, 3:02 a.m. UTC | #1
Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/8.2 for any user-visible changes.