From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 560501FF141 for ; Mon, 30 Mar 2026 16:43:03 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id E9F4236D66; Mon, 30 Mar 2026 16:41:52 +0200 (CEST) From: Daniel Kral To: pve-devel@lists.proxmox.com Subject: [PATCH proxmox v3 07/40] resource-scheduling: compare by nodename in score_nodes_to_start_resource Date: Mon, 30 Mar 2026 16:30:16 +0200 Message-ID: <20260330144101.668747-8-d.kral@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260330144101.668747-1-d.kral@proxmox.com> References: <20260330144101.668747-1-d.kral@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1774881613274 X-SPAM-LEVEL: Spam detection results: 0 AWL -1.438 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 SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLACK 3 Contains an URL listed in the URIBL blacklist [node.name] Message-ID-Hash: T6D6TGSNSCD6KXAQT2WOG6S2VPTJZWJI X-Message-ID-Hash: T6D6TGSNSCD6KXAQT2WOG6S2VPTJZWJI X-MailFrom: d.kral@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: Even though comparing by index is slightly faster here, comparing by the nodename makes factoring this out for an upcoming patch possible. This should increase runtime only marginally as this is roughly bound by the 2 * node_count * maximum_hostname_length. Signed-off-by: Daniel Kral Reviewed-by: Dominik Rusovac --- changes v2 -> v3: - none proxmox-resource-scheduling/src/scheduler.rs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/proxmox-resource-scheduling/src/scheduler.rs b/proxmox-resource-scheduling/src/scheduler.rs index 0a27a25c..33ef4586 100644 --- a/proxmox-resource-scheduling/src/scheduler.rs +++ b/proxmox-resource-scheduling/src/scheduler.rs @@ -62,18 +62,17 @@ impl Scheduler { let matrix = self .nodes .iter() - .enumerate() - .map(|(target_index, _)| { + .map(|node| { // Base values on percentages to allow comparing nodes with different stats. let mut highest_cpu = 0.0; let mut squares_cpu = 0.0; let mut highest_mem = 0.0; let mut squares_mem = 0.0; - for (index, node) in self.nodes.iter().enumerate() { - let mut new_stats = node.stats; + for target_node in self.nodes.iter() { + let mut new_stats = target_node.stats; - if index == target_index { + if node.name == target_node.name { new_stats.add_started_resource(&resource_stats) }; -- 2.47.3