This follows the host numa policy.
Signed-off-by: Maximiliano Sandoval <[email protected]>
---
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..9e65b2b0 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} // '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