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 V2 qemu-server 0/2] enable balloon free-page-reporting
Date: Sun,  6 Mar 2022 13:46:45 +0100	[thread overview]
Message-ID: <20220306124647.2267293-1-aderumier@odiso.com> (raw)

Hi,

Currently, if a guest vm allocate a memory page, and freed it later in the guest,
the memory is not freed on the host side.

Balloon device have a new option since qemu 5.1 "free-page-reporting" (and need host kernel 5.7)

https://events19.linuxfoundation.org/wp-content/uploads/2017/12/KVMForum2018.pdf
https://lwn.net/Articles/759413/

This is working like the discard option for disk, memory is freed async by the host when vm is freeing it.

I'm running it production since 1 month without any problem. With a lot of vms and spiky workload, the memory
freed is really huge.

Here an example of a host with 650GB+200GB ksm going down to 250GB memory
https://mutulin1.odiso.net/ballon-size.png
(around 400vms with 2GB max memory, previously always allocated)


This patch enabled it by default force machine version >= 6.2.


changelogv2:

- enabled it only for machine version > 6.2
- add test

Alexandre Derumier (2):
  enable balloon free-page-reporting
  add test for virtio-balloon free-page-reporting=on. (qemu 6.2)

 PVE/QemuServer.pm                             |  4 ++-
 test/cfg2cmd/q35-simple-7.0.conf.cmd          |  2 +-
 .../simple-balloon-free-page-reporting.conf   | 15 +++++++++
 ...imple-balloon-free-page-reporting.conf.cmd | 33 +++++++++++++++++++
 4 files changed, 52 insertions(+), 2 deletions(-)
 create mode 100644 test/cfg2cmd/simple-balloon-free-page-reporting.conf
 create mode 100644 test/cfg2cmd/simple-balloon-free-page-reporting.conf.cmd

-- 
2.30.2




             reply	other threads:[~2022-03-06 12:46 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-06 12:46 Alexandre Derumier [this message]
2022-03-06 12:46 ` [pve-devel] [PATCH V2 qemu-server 1/2] " Alexandre Derumier
2022-03-16 17:48   ` Thomas Lamprecht
2022-03-16 19:32     ` DERUMIER, Alexandre
2022-03-17  8:35       ` Thomas Lamprecht
2022-03-28 10:06       ` DERUMIER, Alexandre
2022-03-06 12:46 ` [pve-devel] [PATCH V2 qemu-server 2/2] add test for virtio-balloon free-page-reporting=on. (qemu 6.2) Alexandre Derumier
2022-04-27  9:23 ` [pve-devel] applied: [PATCH V2 qemu-server 0/2] enable balloon free-page-reporting Thomas Lamprecht

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=20220306124647.2267293-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