From: Maximiliano Sandoval <m.sandoval@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [PATCH qemu-server v2 2/3] memory: add default NUMA allocation policy
Date: Thu, 12 Mar 2026 15:54:21 +0100 [thread overview]
Message-ID: <20260312145423.434537-3-m.sandoval@proxmox.com> (raw)
In-Reply-To: <20260312145423.434537-1-m.sandoval@proxmox.com>
This follows the host NUMA policy. This is the default policy in QEMU,
see
https://www.qemu.org/docs/master/interop/qemu-qmp-ref.html#object-QMP-qom.MemoryBackendProperties.
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
src/PVE/QemuServer/Memory.pm | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/PVE/QemuServer/Memory.pm b/src/PVE/QemuServer/Memory.pm
index bcf6f9c5..f21b0b8d 100644
--- a/src/PVE/QemuServer/Memory.pm
+++ b/src/PVE/QemuServer/Memory.pm
@@ -40,11 +40,12 @@ my $numa_fmt = {
},
policy => {
type => 'string',
- enum => [qw(preferred bind interleave)],
+ enum => [qw(default preferred bind interleave)],
description => "NUMA allocation policy.",
verbose_description => <<EODESC,
NUMA allocation policy. Possible values are:
+ - default: default host policy
- preferred: prefer the given host node list for allocation
- bind: restrict memory allocation to the given host node list
- interleave: interleave memory allocations across the given host node list
@@ -53,6 +54,7 @@ The models are explained in more details at the kernel's documentation
https://docs.kernel.org/admin-guide/mm/numa_memory_policy.html#components-of-memory-policies.
EODESC
optional => 1,
+ default => 'default',
},
};
PVE::JSONSchema::register_format('pve-qm-numanode', $numa_fmt);
@@ -450,8 +452,7 @@ sub config {
my $hostnodes = print_numa_hostnodes($hostnodelists);
# policy
- my $policy = $numa->{policy};
- die "you need to define a policy for hostnode $hostnodes\n" if !$policy;
+ my $policy = $numa->{policy} // $numa_fmt->{policy}->{default};
$mem_object .= ",host-nodes=$hostnodes,policy=$policy";
} else {
die "numa hostnodes need to be defined to use hugepages" if $conf->{hugepages};
--
2.47.3
next prev parent reply other threads:[~2026-03-12 14:55 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-12 14:54 [PATCH qemu-server v2 0/3] memory: add verbose_description to NUMA policy Maximiliano Sandoval
2026-03-12 14:54 ` [PATCH qemu-server v2 1/3] " Maximiliano Sandoval
2026-03-12 14:54 ` Maximiliano Sandoval [this message]
2026-03-12 14:54 ` [PATCH qemu-server v2 3/3] memory: fix unit in heuristic comment Maximiliano Sandoval
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=20260312145423.434537-3-m.sandoval@proxmox.com \
--to=m.sandoval@proxmox.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.