From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 9F3AE1FF13F for ; Thu, 12 Mar 2026 14:26:53 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 9CD6715D7C; Thu, 12 Mar 2026 14:26:49 +0100 (CET) Message-ID: <855dc01d-7612-415a-9be8-79bd873ad288@proxmox.com> Date: Thu, 12 Mar 2026 14:26:14 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta Subject: Re: [PATCH qemu-server 2/2] memory: add default numa allocation policy To: Maximiliano Sandoval , pve-devel@lists.proxmox.com References: <20260312105044.191421-1-m.sandoval@proxmox.com> <20260312105044.191421-3-m.sandoval@proxmox.com> Content-Language: en-US From: Dominik Csapak In-Reply-To: <20260312105044.191421-3-m.sandoval@proxmox.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1773321939025 X-SPAM-LEVEL: Spam detection results: 0 AWL -1.026 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_MSPIKE_H2 0.001 Average reputation (+2) RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.408 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.819 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.903 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: SKLBNQ47YHUMKRWGPQMRNBU73NFTFOCN X-Message-ID-Hash: SKLBNQ47YHUMKRWGPQMRNBU73NFTFOCN X-MailFrom: d.csapak@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: just for clarity: was this requested or did you just notice that it was missing? On 3/12/26 11:50 AM, Maximiliano Sandoval wrote: > This follows the host numa policy. > > Signed-off-by: Maximiliano Sandoval > --- > 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 => < 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'; while the property itself was already optional (since it was only required when the hostnodes were given) when we add this we should mark 'default' as the default in the schema. otherwise we could keep this check here and not set a default. > $mem_object .= ",host-nodes=$hostnodes,policy=$policy"; > } else { > die "numa hostnodes need to be defined to use hugepages" if $conf->{hugepages};