all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Alexandre Derumier <aderumier@odiso.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH v3 qemu-server 0/2] add virtio-mem support
Date: Fri, 18 Nov 2022 13:13:18 +0100	[thread overview]
Message-ID: <20221118121320.132283-1-aderumier@odiso.com> (raw)

This patch add virtio-mem support, through a new maxmemory option.

a 4GB static memory is needed for DMA+boot memory, as this memory
is almost always un-unpluggeable.

1 virtio-mem pci device is setup for each numa node on pci.4 bridge

virtio-mem use a fixed blocksize with 32k max blocksize,
so blocksize is computed from the maxmemory/32000 with a minimum of
2MB to map THP.
(lower blocksize = more chance to unplug memory).

guests tested:
- ubuntu 22.04 : kernel 5.15 : works out of the box
- debian11: kernel 5.10 : don't display new memory value

more info about virtio-mem:
https://virtio-mem.gitlab.io/


Changelog v2:

- Allow only multiple of 32MB for memory. With lower values, guest sometimes
  hang.  I have tested with step of 32MB from 4G to 768G, it's working fine.

- rebase tests

Changelog v3:

- rename "maxmemory" option to "memory_max"
- rebase to last git and handle the max_mem changes with phys-bits


Alexandre Derumier (2):
  add virtio-mem support
  tests: add virtio-mem tests

 PVE/QemuServer.pm                           |   9 +-
 PVE/QemuServer/Memory.pm                    | 141 +++++++++++++++-----
 PVE/QemuServer/PCI.pm                       |   8 ++
 test/cfg2cmd/simple-virtio-mem-big.conf     |  12 ++
 test/cfg2cmd/simple-virtio-mem-big.conf.cmd |  59 ++++++++
 test/cfg2cmd/simple-virtio-mem.conf         |  13 ++
 test/cfg2cmd/simple-virtio-mem.conf.cmd     |  31 +++++
 7 files changed, 241 insertions(+), 32 deletions(-)
 create mode 100644 test/cfg2cmd/simple-virtio-mem-big.conf
 create mode 100644 test/cfg2cmd/simple-virtio-mem-big.conf.cmd
 create mode 100644 test/cfg2cmd/simple-virtio-mem.conf
 create mode 100644 test/cfg2cmd/simple-virtio-mem.conf.cmd

-- 
2.30.2




             reply	other threads:[~2022-11-18 12:13 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-18 12:13 Alexandre Derumier [this message]
2022-11-18 12:13 ` [pve-devel] [PATCH v3 qemu-server 1/2] " Alexandre Derumier
2022-11-18 12:13 ` [pve-devel] [PATCH v3 qemu-server 2/2] tests: add virtio-mem tests Alexandre Derumier

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=20221118121320.132283-1-aderumier@odiso.com \
    --to=aderumier@odiso.com \
    --cc=pve-devel@lists.proxmox.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: link
Be 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.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal