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 BB0751FF17E for ; Thu, 13 Nov 2025 10:29:58 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 7DA57160B8; Thu, 13 Nov 2025 10:30:50 +0100 (CET) Mime-Version: 1.0 Date: Thu, 13 Nov 2025 10:30:17 +0100 Message-Id: From: "Daniel Kral" To: "Thomas Lamprecht" , "Proxmox VE development discussion" , "Daniel Kral" X-Mailer: aerc 0.21.0-10-gf12c391cb5b4 References: <20251027164513.542678-1-d.kral@proxmox.com> <20251027164513.542678-3-d.kral@proxmox.com> <9b51dec9-a6e3-429f-8f5f-4138f658c381@proxmox.com> In-Reply-To: <9b51dec9-a6e3-429f-8f5f-4138f658c381@proxmox.com> X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1763026191911 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.017 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_VALIDITY_CERTIFIED_BLOCKED 0.001 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.001 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.001 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 Subject: Re: [pve-devel] [PATCH perl-rs v3 1/2] pve-rs: resource_scheduling: allow granular usage changes X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" On Wed Nov 12, 2025 at 11:49 AM CET, Thomas Lamprecht wrote: > nicer commit subject would be: > > pve resource scheduling: allow granular usage changes > > Am 27.10.25 um 17:46 schrieb Daniel Kral: >> Implements a simple bidirectional map to track which service usages have >> been added to nodes, so that these can be removed later individually. >> >> The `StaticNodeUsage` is newly initialized on every invocation of >> score_nodes_to_start_service(...) instead of updating the values on >> every call of `add_service_usage_to_node(...)` to reduce the likelihood >> of introducing numerical instability caused by floating-point operations >> done on the `cpu` field. >> >> The StaticServiceUsage is added to the HashMap<> in StaticNodeInfo to >> reduce unnecessary indirection when summing these values in >> score_nodes_to_start_service(...). >> >> Signed-off-by: Daniel Kral >> Reviewed-by: Fiona Ebner >> --- >> Needs a build dependency bump for >> librust-proxmox-resource-scheduling-dev and a versioned breaks for >> pve-ha-manager. > > The latter only due to the (signature) change to add_service_usage_to_node, or? > While versioned breaks can be done, if it's somewhat easy to avoid them it's > always better to do so, especially as it makes downgrades much easier > > Can we keep backward compat without having to bend to > much backwards? E.g. adding a new method for the new more granular way while > keeping add_service_usage_to_node as is, like "record_service_usage_for_node" (or > just slap a 2 at the end of the method name is also a simple trick that, while not > beautiful, works and avoids bikeshedding). I'd go for that route, but the new `sid` parameter is needed to track on which node a service puts its load on, i.e. where we need to remove it later. That's information we didn't get before and we unfortunately cannot make it optional, e.g. shoving it in the already existing StaticNodeUsage as a Option<_> field. (Haven't tested it yet, but this shouldn't be an API break for perlmod?) Another approach would be to allow both the non-granular and granular behavior to coexist - at least for the 9.x series, even though it might be a little ugly, it's probably not too bad. What do you think? _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel