all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH qemu-server 0/1] enable balloon free-page-reporting
@ 2022-03-02  6:46 Alexandre Derumier
  2022-03-02  6:46 ` [pve-devel] [PATCH qemu-server 1/1] " Alexandre Derumier
  0 siblings, 1 reply; 2+ messages in thread
From: Alexandre Derumier @ 2022-03-02  6:46 UTC (permalink / raw)
  To: pve-devel

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.


This patch enabled it by default,

This don't break live migration  from old qemu process with non-enable free page hinting -->  new qemu process with enabled free page hinting,
but this break migration in the reverse way.


So I can enabled it by default for next qemu machine version or add an extra option to enable it.
I don't known if we could extend the "baloon" option ? or add an extra option like "balloonoptions: ..." ?

What do you think about it ?


Alexandre Derumier (1):
  enable balloon free-page-reporting

 PVE/QemuServer.pm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.30.2




^ permalink raw reply	[flat|nested] 2+ messages in thread

* [pve-devel] [PATCH qemu-server 1/1] enable balloon free-page-reporting
  2022-03-02  6:46 [pve-devel] [PATCH qemu-server 0/1] enable balloon free-page-reporting Alexandre Derumier
@ 2022-03-02  6:46 ` Alexandre Derumier
  0 siblings, 0 replies; 2+ messages in thread
From: Alexandre Derumier @ 2022-03-02  6:46 UTC (permalink / raw)
  To: pve-devel

Allow balloon device  driver to report hints of guest free pages to the host,
for auto memory reclaim

https://lwn.net/Articles/759413/
https://events19.linuxfoundation.org/wp-content/uploads/2017/12/KVMForum2018.pdf
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
---
 PVE/QemuServer.pm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 42f0fbd..bb44e58 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -3846,7 +3846,7 @@ sub config_to_command {
     # enable balloon by default, unless explicitly disabled
     if (!defined($conf->{balloon}) || $conf->{balloon}) {
 	my $pciaddr = print_pci_addr("balloon0", $bridges, $arch, $machine_type);
-	push @$devices, '-device', "virtio-balloon-pci,id=balloon0$pciaddr";
+	push @$devices, '-device', "virtio-balloon-pci,free-page-reporting=on,id=balloon0$pciaddr";
     }
 
     if ($conf->{watchdog}) {
-- 
2.30.2




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-03-02  6:46 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-02  6:46 [pve-devel] [PATCH qemu-server 0/1] enable balloon free-page-reporting Alexandre Derumier
2022-03-02  6:46 ` [pve-devel] [PATCH qemu-server 1/1] " Alexandre Derumier

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