From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id BDC546527A for ; Sun, 6 Mar 2022 13:46:56 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id ADB06201C1 for ; Sun, 6 Mar 2022 13:46:56 +0100 (CET) Received: from bastionodiso.odiso.net (bastionodiso.odiso.net [185.151.191.93]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS id 6CF51201A2 for ; Sun, 6 Mar 2022 13:46:55 +0100 (CET) Received: from kvmformation3.odiso.net (formationkvm3.odiso.net [10.3.94.12]) by bastionodiso.odiso.net (Postfix) with ESMTP id CA62F747B; Sun, 6 Mar 2022 13:46:48 +0100 (CET) Received: by kvmformation3.odiso.net (Postfix, from userid 0) id ADCED1611E0; Sun, 6 Mar 2022 13:46:48 +0100 (CET) From: Alexandre Derumier To: pve-devel@lists.proxmox.com Date: Sun, 6 Mar 2022 13:46:45 +0100 Message-Id: <20220306124647.2267293-1-aderumier@odiso.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.081 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% HEADER_FROM_DIFFERENT_DOMAINS 0.249 From and EnvelopeFrom 2nd level mail domains are different KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment KAM_LAZY_DOMAIN_SECURITY 1 Sending domain does not have any anti-forgery methods KAM_SHORT 0.001 Use of a URL Shortener for very short URL NO_DNS_FOR_FROM 0.001 Envelope sender has no MX or A DNS records SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_NONE 0.001 SPF: sender does not publish an SPF Record T_SCC_BODY_TEXT_LINE -0.01 - URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [lwn.net, odiso.net, qemuserver.pm, linuxfoundation.org] Subject: [pve-devel] [PATCH V2 qemu-server 0/2] enable balloon free-page-reporting X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2022 12:46:56 -0000 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