From nobody Mon Feb 9 05:20:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1533818376712976.5059295799122; Thu, 9 Aug 2018 05:39:36 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.26]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id E87513DBFE; Thu, 9 Aug 2018 12:39:33 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9D5EA308332F; Thu, 9 Aug 2018 12:39:33 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 5948A264FC; Thu, 9 Aug 2018 12:39:33 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w79Cd6oM002961 for ; Thu, 9 Aug 2018 08:39:07 -0400 Received: by smtp.corp.redhat.com (Postfix) id DB5C62166BA2; Thu, 9 Aug 2018 12:39:06 +0000 (UTC) Received: from antique-work.brq.redhat.com (unknown [10.43.2.152]) by smtp.corp.redhat.com (Postfix) with ESMTP id 79F6F2166BA8 for ; Thu, 9 Aug 2018 12:39:06 +0000 (UTC) From: Pavel Hrdina To: libvir-list@redhat.com Date: Thu, 9 Aug 2018 14:38:52 +0200 Message-Id: <8f816ca3fd7d7348509479be3507084c3a233026.1533818183.git.phrdina@redhat.com> In-Reply-To: References: In-Reply-To: References: X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 20/20] qemu: ensure that memory 'discard' is used if specified in XML X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.26 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Thu, 09 Aug 2018 12:39:35 +0000 (UTC) X-ZohoMail: RDMRC_0 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Pavel Hrdina --- src/qemu/qemu_command.c | 4 +++- .../pages-discard-hugepages.args | 11 +++++++---- tests/qemuxml2argvdata/pages-discard.args | 18 ++++++++++++++---- 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index dbeb3a54f6..a7859feae6 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3147,6 +3147,7 @@ qemuBuildMemoryBackendProps(virJSONValuePtr *backendP= rops, return -1; =20 if (useHugepage || mem->nvdimmPath || memAccess || + discard =3D=3D VIR_TRISTATE_BOOL_YES || def->mem.source =3D=3D VIR_DOMAIN_MEMORY_SOURCE_FILE) { =20 if (useHugepage) { @@ -3228,7 +3229,8 @@ qemuBuildMemoryBackendProps(virJSONValuePtr *backendP= rops, if (!needHugepage && !mem->sourceNodes && !nodeSpecified && !mem->nvdimmPath && memAccess =3D=3D VIR_DOMAIN_MEMORY_ACCESS_DEFAULT && - def->mem.source !=3D VIR_DOMAIN_MEMORY_SOURCE_FILE && !force) { + def->mem.source !=3D VIR_DOMAIN_MEMORY_SOURCE_FILE && !force && + discard !=3D VIR_TRISTATE_BOOL_YES) { /* report back that using the new backend is not necessary * to achieve the desired configuration */ ret =3D 1; diff --git a/tests/qemuxml2argvdata/pages-discard-hugepages.args b/tests/qe= muxml2argvdata/pages-discard-hugepages.args index 2dfacefe4a..d859480c26 100644 --- a/tests/qemuxml2argvdata/pages-discard-hugepages.args +++ b/tests/qemuxml2argvdata/pages-discard-hugepages.args @@ -10,10 +10,13 @@ QEMU_AUDIO_DRV=3Dnone \ -machine pc,accel=3Dtcg,usb=3Doff,dump-guest-core=3Doff \ -m 1024 \ -smp 2,sockets=3D2,cores=3D1,threads=3D1 \ --mem-prealloc \ --mem-path /dev/hugepages2M/libvirt/qemu/-1-SomeDummyHugepagesGu \ --numa node,nodeid=3D0,cpus=3D0,mem=3D256 \ --numa node,nodeid=3D1,cpus=3D1,mem=3D768 \ +-object memory-backend-file,id=3Dram-node0,prealloc=3Dyes,\ +mem-path=3D/dev/hugepages2M/libvirt/qemu/-1-SomeDummyHugepagesGu,size=3D26= 8435456 \ +-numa node,nodeid=3D0,cpus=3D0,memdev=3Dram-node0 \ +-object memory-backend-file,id=3Dram-node1,prealloc=3Dyes,\ +mem-path=3D/dev/hugepages2M/libvirt/qemu/-1-SomeDummyHugepagesGu,\ +discard-data=3Dyes,size=3D805306368 \ +-numa node,nodeid=3D1,cpus=3D1,memdev=3Dram-node1 \ -uuid ef1bdff4-27f3-4e85-a807-5fb4d58463cc \ -display none \ -no-user-config \ diff --git a/tests/qemuxml2argvdata/pages-discard.args b/tests/qemuxml2argv= data/pages-discard.args index 9db8c72a22..4ae20f531f 100644 --- a/tests/qemuxml2argvdata/pages-discard.args +++ b/tests/qemuxml2argvdata/pages-discard.args @@ -10,10 +10,20 @@ QEMU_AUDIO_DRV=3Dnone \ -machine pc,accel=3Dtcg,usb=3Doff,dump-guest-core=3Doff \ -m 4096 \ -smp 4,sockets=3D4,cores=3D1,threads=3D1 \ --numa node,nodeid=3D0,cpus=3D0,mem=3D1024 \ --numa node,nodeid=3D1,cpus=3D1,mem=3D1024 \ --numa node,nodeid=3D2,cpus=3D2,mem=3D1024 \ --numa node,nodeid=3D3,cpus=3D3,mem=3D1024 \ +-object memory-backend-file,id=3Dram-node0,\ +mem-path=3D/var/lib/libvirt/qemu/ram/libvirt/qemu/-1-QEMUGuest1/ram-node0,\ +discard-data=3Dyes,size=3D1073741824 \ +-numa node,nodeid=3D0,cpus=3D0,memdev=3Dram-node0 \ +-object memory-backend-ram,id=3Dram-node1,size=3D1073741824 \ +-numa node,nodeid=3D1,cpus=3D1,memdev=3Dram-node1 \ +-object memory-backend-file,id=3Dram-node2,\ +mem-path=3D/var/lib/libvirt/qemu/ram/libvirt/qemu/-1-QEMUGuest1/ram-node2,\ +discard-data=3Dyes,size=3D1073741824 \ +-numa node,nodeid=3D2,cpus=3D2,memdev=3Dram-node2 \ +-object memory-backend-file,id=3Dram-node3,\ +mem-path=3D/var/lib/libvirt/qemu/ram/libvirt/qemu/-1-QEMUGuest1/ram-node3,\ +discard-data=3Dyes,size=3D1073741824 \ +-numa node,nodeid=3D3,cpus=3D3,memdev=3Dram-node3 \ -uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ -display none \ -no-user-config \ --=20 2.17.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list