mbox series

[v8,0/9] Hyper-V Dynamic Memory Protocol driver (hv-balloon 🎈️)

Message ID cover.1698064312.git.maciej.szmigiero@oracle.com
Headers show
Series Hyper-V Dynamic Memory Protocol driver (hv-balloon 🎈️) | expand

Message

Maciej S. Szmigiero Oct. 23, 2023, 5:24 p.m. UTC
From: "Maciej S. Szmigiero" <maciej.szmigiero@oracle.com>

This is a continuation of the v7 of the patch series located here:
https://lore.kernel.org/qemu-devel/cover.1693240836.git.maciej.szmigiero@oracle.com/


Changes from v7:
* Rebase onto the current QEMU git master now that the David's memslots
patch series was merged there.

* Split out the hot-add part of the driver to a separate patch.

* Make "query-hv-balloon-status-report" only return a GenericError.

* Remove "@data" parameter description from "HV_BALLOON_STATUS_REPORT"
qapi since the build system complains about it.

* Reformat qapi descriptions according to received review comments.

* Collect David's and Markus' "Reviewed-by" and "Acked-by" tags.

* Fix a memslot name formatting issue.

* Add myself to MAINTAINERS.


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

Comments

David Hildenbrand Nov. 2, 2023, 1:50 p.m. UTC | #1
On 23.10.23 19:24, Maciej S. Szmigiero wrote:
> From: "Maciej S. Szmigiero" <maciej.szmigiero@oracle.com>
> 
> This is a continuation of the v7 of the patch series located here:
> https://lore.kernel.org/qemu-devel/cover.1693240836.git.maciej.szmigiero@oracle.com/
> 

I skimmed over most parts and nothing jumped at me 
memory-device-related; I'm hoping I can take another closer look 
later/tomorrow; it's a lot of code and an in-depth review would be 
great. But I don't know if we'll find someone to volunteer? :)

Soft-freeze is in 5 days.

You seem to be the only hyperv-related maintainer listed in MAINTAINERS. 
Do you want to merge this or should I route this via mem-next?

For the time being

Acked-by: David Hildenbrand <david@redhat.com>
Maciej S. Szmigiero Nov. 2, 2023, 3:55 p.m. UTC | #2
On 2.11.2023 14:50, David Hildenbrand wrote:
> On 23.10.23 19:24, Maciej S. Szmigiero wrote:
>> From: "Maciej S. Szmigiero" <maciej.szmigiero@oracle.com>
>>
>> This is a continuation of the v7 of the patch series located here:
>> https://lore.kernel.org/qemu-devel/cover.1693240836.git.maciej.szmigiero@oracle.com/
>>
> 
> I skimmed over most parts and nothing jumped at me memory-device-related; I'm hoping I can take another closer look later/tomorrow; it's a lot of code and an in-depth review would be great. But I don't know if we'll find someone to volunteer? :)

Thanks - even a cursory review is valuable.

> Soft-freeze is in 5 days.
> 
> You seem to be the only hyperv-related maintainer listed in MAINTAINERS. Do you want to merge this or should I route this via mem-next?

I can post a pull request this weekend so it can be pulled in on Monday (hopefully).

> For the time being
> 
> Acked-by: David Hildenbrand <david@redhat.com>
> 

Thanks,
Maciej