Message ID | cover.1699184105.git.maciej.szmigiero@oracle.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Sun, 5 Nov 2023 at 19:49, Maciej S. Szmigiero <mail@maciej.szmigiero.name> wrote: > > From: "Maciej S. Szmigiero" <maciej.szmigiero@oracle.com> > > 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-20231105 > > for you to fetch changes up to 2b49ecabc6bf15efa6aa05f20a7c319ff65c4e11: > > MAINTAINERS: Add an entry for Hyper-V Dynamic Memory Protocol (2023-11-03 20:31:10 +0100) Hi Maciej, Please take a look at this CI system build failure: /usr/bin/ld: libqemuutil.a.p/meson-generated_.._qapi_qapi-commands-machine.c.o: in function `qmp_marshal_query_hv_balloon_status_report': /builds/qemu-project/qemu/build/qapi/qapi-commands-machine.c:1000: undefined reference to `qmp_query_hv_balloon_status_report' https://gitlab.com/qemu-project/qemu/-/jobs/5463619044 I have dropped this pull request from the staging tree for the time being. You can run the GitLab CI by pushing to a personal qemu.git fork on GitLab with "git push -o ci.variable=QEMU_CI=1 ..." and it's often possible to reproduce the CI jobs locally using the Docker build tests (see "make docker-help"). Stefan > > ---------------------------------------------------------------- > 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. > > * 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 (7): > 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.c | 1766 +++++++++++++++++++++++++++++ > 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 +- > 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 + > 23 files changed, 3153 insertions(+), 13 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.c > create mode 100644 include/hw/hyperv/dynmem-proto.h > create mode 100644 include/hw/hyperv/hv-balloon.h >
On 6.11.2023 02:33, Stefan Hajnoczi wrote: > On Sun, 5 Nov 2023 at 19:49, Maciej S. Szmigiero > <mail@maciej.szmigiero.name> wrote: >> >> From: "Maciej S. Szmigiero" <maciej.szmigiero@oracle.com> >> >> 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-20231105 >> >> for you to fetch changes up to 2b49ecabc6bf15efa6aa05f20a7c319ff65c4e11: >> >> MAINTAINERS: Add an entry for Hyper-V Dynamic Memory Protocol (2023-11-03 20:31:10 +0100) > > Hi Maciej, > Please take a look at this CI system build failure: > > /usr/bin/ld: libqemuutil.a.p/meson-generated_.._qapi_qapi-commands-machine.c.o: > in function `qmp_marshal_query_hv_balloon_status_report': > /builds/qemu-project/qemu/build/qapi/qapi-commands-machine.c:1000: > undefined reference to `qmp_query_hv_balloon_status_report' > > https://gitlab.com/qemu-project/qemu/-/jobs/5463619044 > > I have dropped this pull request from the staging tree for the time being. > > You can run the GitLab CI by pushing to a personal qemu.git fork on > GitLab with "git push -o ci.variable=QEMU_CI=1 ..." and it's often > possible to reproduce the CI jobs locally using the Docker build tests > (see "make docker-help"). > Oops, was testing the driver but forgot to also recently test the configuration when the driver is disabled in QEMU build config. Will fix this ASAP. > Stefan Thanks, Maciej
From: "Maciej S. Szmigiero" <maciej.szmigiero@oracle.com> 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-20231105 for you to fetch changes up to 2b49ecabc6bf15efa6aa05f20a7c319ff65c4e11: MAINTAINERS: Add an entry for Hyper-V Dynamic Memory Protocol (2023-11-03 20:31: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. * 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 (7): 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.c | 1766 +++++++++++++++++++++++++++++ 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 +- 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 + 23 files changed, 3153 insertions(+), 13 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.c create mode 100644 include/hw/hyperv/dynmem-proto.h create mode 100644 include/hw/hyperv/hv-balloon.h