[pve-devel] [PATCH qemu-server 00/10] rework memory hotplug + virtiomem

Alexandre Derumier aderumier at odiso.com
Fri Dec 9 20:27:16 CET 2022


This patch series rework the current memory hotplug + virtiomem.

memory option now have extra options:

memory: [[current=]<integer>] [,max=<enum>] [,virtio=<1|0>]
ex: memory: current=1024,max=131072,virtio=1


patches 1-2: add a memory parser

patches 3-7: add the max option with 64 static dimm hotplug

for classic memory hotplug, when maxmemory is defined,
we use 64 fixed size dimm.
The max option is a multiple of 64GB.

patches 8-9: add virtio-mem

The virtio option enable new virtio-mem support,
instead of plugging dimm, it's add/removed block inside
big dimm.
virtio-mem can use 32000 blocks, the blocksize is compute from
max memory.

patch10: hotplug fix

Alexandre Derumier (10):
  test: add memory tests
  add memory parser
  config: memory: add 'max' option
  memory: add get_static_mem
  memory: get_max_mem: use config memory max
  memory: use 64 slots && static dimm size with max is defined
  test: add memory-max tests
  memory: add virtio-mem support
  tests: add virtio-mem tests
  memory: fix hotplug with virtiomem && maxmem

 PVE/API2/Qemu.pm                              |  12 +-
 PVE/QemuConfig.pm                             |   4 +-
 PVE/QemuMigrate.pm                            |   6 +-
 PVE/QemuServer.pm                             |  73 ++++--
 PVE/QemuServer/Helpers.pm                     |   3 +-
 PVE/QemuServer/Memory.pm                      | 229 ++++++++++++++----
 PVE/QemuServer/PCI.pm                         |   8 +
 test/cfg2cmd/memory-hotplug-hugepages.conf    |  12 +
 .../cfg2cmd/memory-hotplug-hugepages.conf.cmd |  62 +++++
 test/cfg2cmd/memory-hotplug.conf              |  11 +
 test/cfg2cmd/memory-hotplug.conf.cmd          | 174 +++++++++++++
 test/cfg2cmd/memory-hugepages-1g.conf         |  11 +
 test/cfg2cmd/memory-hugepages-1g.conf.cmd     |  30 +++
 test/cfg2cmd/memory-hugepages-2m.conf         |  11 +
 test/cfg2cmd/memory-hugepages-2m.conf.cmd     |  30 +++
 test/cfg2cmd/memory-max-128G.conf             |  10 +
 test/cfg2cmd/memory-max-128G.conf.cmd         |  86 +++++++
 test/cfg2cmd/memory-max-512G.conf             |  10 +
 test/cfg2cmd/memory-max-512G.conf.cmd         |  58 +++++
 test/cfg2cmd/memory-virtio-hugepages-1G.conf  |  11 +
 .../memory-virtio-hugepages-1G.conf.cmd       |  35 +++
 test/cfg2cmd/memory-virtio-max.conf           |  10 +
 test/cfg2cmd/memory-virtio-max.conf.cmd       |  35 +++
 test/cfg2cmd/memory-virtio.conf               |  10 +
 test/cfg2cmd/memory-virtio.conf.cmd           |  35 +++
 25 files changed, 909 insertions(+), 67 deletions(-)
 create mode 100644 test/cfg2cmd/memory-hotplug-hugepages.conf
 create mode 100644 test/cfg2cmd/memory-hotplug-hugepages.conf.cmd
 create mode 100644 test/cfg2cmd/memory-hotplug.conf
 create mode 100644 test/cfg2cmd/memory-hotplug.conf.cmd
 create mode 100644 test/cfg2cmd/memory-hugepages-1g.conf
 create mode 100644 test/cfg2cmd/memory-hugepages-1g.conf.cmd
 create mode 100644 test/cfg2cmd/memory-hugepages-2m.conf
 create mode 100644 test/cfg2cmd/memory-hugepages-2m.conf.cmd
 create mode 100644 test/cfg2cmd/memory-max-128G.conf
 create mode 100644 test/cfg2cmd/memory-max-128G.conf.cmd
 create mode 100644 test/cfg2cmd/memory-max-512G.conf
 create mode 100644 test/cfg2cmd/memory-max-512G.conf.cmd
 create mode 100644 test/cfg2cmd/memory-virtio-hugepages-1G.conf
 create mode 100644 test/cfg2cmd/memory-virtio-hugepages-1G.conf.cmd
 create mode 100644 test/cfg2cmd/memory-virtio-max.conf
 create mode 100644 test/cfg2cmd/memory-virtio-max.conf.cmd
 create mode 100644 test/cfg2cmd/memory-virtio.conf
 create mode 100644 test/cfg2cmd/memory-virtio.conf.cmd

-- 
2.30.2





More information about the pve-devel mailing list