From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4D6DFC7EE30 for ; Thu, 26 Jun 2025 20:09:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 968618D000D; Thu, 26 Jun 2025 16:09:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8331E8D0001; Thu, 26 Jun 2025 16:09:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 71C558D000D; Thu, 26 Jun 2025 16:09:41 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 5EAE78D0001 for ; Thu, 26 Jun 2025 16:09:41 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 30CE41603ED for ; Thu, 26 Jun 2025 20:09:41 +0000 (UTC) X-FDA: 83598642162.29.192F6CC Received: from mail-yb1-f172.google.com (mail-yb1-f172.google.com [209.85.219.172]) by imf14.hostedemail.com (Postfix) with ESMTP id 4E259100012 for ; Thu, 26 Jun 2025 20:09:39 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=SUHLqedk; spf=pass (imf14.hostedemail.com: domain of joshua.hahnjy@gmail.com designates 209.85.219.172 as permitted sender) smtp.mailfrom=joshua.hahnjy@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750968579; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=iIXH2jDsEXRyQiyezBO6V6Tp3e9zFpAPHpDQGbN97l8=; b=PxGEluhShTwe19oCmIrkKL/PggV4xsPPQayFa9Gmcdoj7vcgi4JtcmmRf+pNLJ4Q0gkadn 1R5s4NmvKBoemRt+3xZCpERndiVg5RoIEPwrI2bD3ldtAjD+6M5Dm41mLPvPvLBLIGMp0q CDxJYDuoow6Yq1m8n0XxS99tMW4YUAg= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=SUHLqedk; spf=pass (imf14.hostedemail.com: domain of joshua.hahnjy@gmail.com designates 209.85.219.172 as permitted sender) smtp.mailfrom=joshua.hahnjy@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750968579; a=rsa-sha256; cv=none; b=fM+00javikQ5xBJmYTkqnyXPbeQCeU9v99GMVyb9ZanSpaVkKsrjRiRlfyUfcfYwwFKX5C MSW/QevNvqTwIpi5QCec/fJY/RQld/+TX1rDLHZWtElL7sQzBVbQ8y/m3sshWNEAIE66r/ 5htVX452UBEmPecTfvEz8dzOiLtXrao= Received: by mail-yb1-f172.google.com with SMTP id 3f1490d57ef6-e81f311a86fso1159469276.3 for ; Thu, 26 Jun 2025 13:09:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750968578; x=1751573378; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=iIXH2jDsEXRyQiyezBO6V6Tp3e9zFpAPHpDQGbN97l8=; b=SUHLqedkYoPyhQxmcoyPOoiwADv+X9aCEr+hzyoynXYiHPw1olJgFaxNKc0W6sD6hj i5nzaVhkotxNmVmNJXYF7301Rp473NNyXFBQiEoHQJcKj/8nLuY6cVPwriz7DEhDhKjh NABZaFC2i1KvGOsARBZiRUrjYZJtJWgYvFIZiE75u9uedQp6GhwlY+i7zxfAqnyim9d7 haAH1xaHITA3lZZh3v4wryW0MTmghAET6Ht1YowEU1Oq9BiO6m2oTCvjZPM7wXvPf9T7 1nmCZBrTjjj/GacbXM1e/VoMUK3tJac/cag5t6o87vkPxDioHO3jeZqSX+nCLvdBVdN9 wXpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750968578; x=1751573378; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=iIXH2jDsEXRyQiyezBO6V6Tp3e9zFpAPHpDQGbN97l8=; b=raO3+DEdc/XMk+WmUHo4qFeR3NOSUkDHGQdClIbsig0KUAVXWWKixpGdiNpPC82vL6 ia07GXWhBlTGHl/EzCKBC5FPstdert1i5TgHwaaQRfs36SW+Two8xVp1UA8p9jdzqH5+ DxahG0EHNeFjWWjM0IGl+YJqdOJgPDsRk4vqiPCPKAdYBbF2cNlC6E3bcyVVX2bwak60 bE9HqELtqvkXwxy9ark2zRkq6T3HrWzYr6DZEJvnmb0hAu+4b2SfNBneg09SxeNQr3/v lMgZ2xp+6Sv21ue3cI2ZPAEUVfiwsVqQeysZbj+DVA7ASV6WHji/mJf5SC/Kn2IRK/DE nEyw== X-Forwarded-Encrypted: i=1; AJvYcCXZLXPuXACzyG3dRGGGY7RkiWRW3Tdh6aoUE3uW05JvpU5nH3NUgDZ7G5iSSHzeybvGyAOn4ouukA==@kvack.org X-Gm-Message-State: AOJu0YxeU1FRdL9B6g3AkcZNs2fTovUMhSAeTshbzmbuIYJ0w5I6ip6p btFX42FnyPiN9SRiabF8ANc+iYubPSPNbSodtjembVvLV4+JX9xUrCYU X-Gm-Gg: ASbGnctSmoNTZ1FidnMMtajBU0TQGKXv9vlBblBTW9wAvU/06vIrTy2ONRy5eS+WuaQ hBayUMxxYuIHcejU8l67BhOvAv0WDkb3uOozaNprRVAx3SlasidMv/8sy8rb0+nPyC9K9P6D1D9 ChyDWd5EYuRQdiYckvr2WIYzMmrJqY6BpbJsyi6J3NLZsfiO3QYrSlsWcKhMxgJIoZ2SgynUcs0 RojU6Q2Isc9rai8cPOf2h+cNIXuDDo/LzELP9tHrETHnKyi20Fzo985xT7xq1aH3ANw/5EHFdv2 FJF7mQcZRFvwtmD+hX0nW4WGtXyz/FYFWVfNE8A4J7FLzKD1jP/JwrBkQvmsZg== X-Google-Smtp-Source: AGHT+IF2X81Mk0skntP3pvL/HL/hnTf+lp4HUwMV9tg3dOtroLbD1UFIYUBqhDtlaW0PIuIyQKapJA== X-Received: by 2002:a05:6902:1103:b0:e81:88a0:bd0d with SMTP id 3f1490d57ef6-e87a7b0d170mr1222002276.12.1750968578140; Thu, 26 Jun 2025 13:09:38 -0700 (PDT) Received: from localhost ([2a03:2880:25ff:72::]) by smtp.gmail.com with ESMTPSA id 3f1490d57ef6-e87a6bd0402sm178409276.29.2025.06.26.13.09.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Jun 2025 13:09:37 -0700 (PDT) From: Joshua Hahn To: Gregory Price Cc: Andrew Morton , Alistair Popple , Byungchul Park , David Hildenbrand , Matthew Brost , Rakie Kim , Ying Huang , Zi Yan , linux-kernel@vger.kernel.org, linux-mm@kvack.org, kernel-team@meta.com Subject: [PATCH 1/2] mm/mempolicy: Simplify weighted interleave bulk alloc calculations Date: Thu, 26 Jun 2025 13:09:33 -0700 Message-ID: <20250626200936.3974420-2-joshua.hahnjy@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250626200936.3974420-1-joshua.hahnjy@gmail.com> References: <20250626200936.3974420-1-joshua.hahnjy@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 4E259100012 X-Stat-Signature: 7szuwjg57euxjohg91hgpp4b6a9genrr X-Rspamd-Server: rspam09 X-Rspam-User: X-HE-Tag: 1750968579-235345 X-HE-Meta: U2FsdGVkX1/uXlZ9N/I9Ed9v0s+uWIsqers2tP+umf8f/4errf7CFIdLB6BBtTBzASrLEK3D3GqTP4ywWS1r0ZXjyCkdtW+85y8RWhUKwKgaa0wjvNA5ci/dHu+eUFVQh9gUoRW6//+lUx+mkXe2AijSAggMA3MYxlU56k9NzhSHQfJr9OycH+hOjtwZKNUVQt5mSeNm4O0WLh8V2hJuA94b9gtHEbtR9NlBI6RS83VEjjq0OhtLeRHMI5sWv753IcutRXnnoqJivk1LZFrcQ1dOMMzHT/zBiT8edz6aHrwwIsOqSlERWxgnioB629efI+KxMnuoMZw95LtcL8Xj6bBdVKLs3yf6m5sYtbHtIVWoRSF1vLWZZPdAjzZLBAgfCqQifMQVRmbCJFW2f44bFc/TGvBQUQCqYHEUhJA5rOmUIF1s//OLR7MocuCwKa6jv6tDgdVAnetiwEq0nDBoV2jWVZIES7STS8dg9XW/k6vztVKt14kcNFhsb/2QBgwTUOwVz2+xY0AA0OWhKNC0SuLTlbLy4vyjjAe15iKoE4qYe1djT4gakmOgpVlEV36s+n/QNglyoOVvfBeE0tWX0Els2uWgC8Y+CNNdEnQCMzgDRXxrHtul1e253iNQ8KJd/WoKaiBHXj8Y9oaxlpntdkz8HMPG7D0q7FOfXjfPtPsm3uQACh0uDdadRhv5mJRaBmHUMgowI2aX2KmBGy8+Ry+CheqwVclnXxT5a6zS7EjicZm9Tux9+dFDqAB04ByBL3z2CBbkJTobjBprteoqcOnQWuD0FHWh9rwkf0A5NJ3YgJEpKzDAhDRLLf1Zbr+FuE9pLSBVA7z/x3GsIf2dokQeNb1xOEdAVnwrWloCH+fvD2rHZW3WInRAFdFbRfB8ZYK2elyU4ZGQGXL0lv60ilkkryPwORNbQQHp8qrmSpI4ZOOYbRJzTM9PJTbUfpTXnFMGiVv+ZVOzZsW4vjd 6hFRBhX+ uu4tVyhb5K1VRs4WVcii53B75mYFoMFrDqkws45VQGiUh91ZsTz9+qWvQfs2KwJA357Zdgzuja6TDVIiEUAKejIOjAjuDWlO8YH6PjlKNSkuwT1GTyHjVeaH6CVVve+QJ68DlO9hya1/3lnXzhfyoZ3hik8e8hcJIPiB/lSwH2SMlhddLoSBN1oMd+ztivIscF1KNcnSMVMUPI/2FJvdKanVU6tIWzGyEke6ulJD9s+wAzZUTIGawkRgSV28LUKvnWGNiLhn2Ap7HfPfBdKl6c3SCkuRkoVGBguNwHE/ebIuGfukdPcc4vWHs2POWnenT/SfsKIyhLhfDzKHeSVyAonxNP6dKHuHKqLeTFhID+Zkapi5WXCGBKiOC9gg7zS0Cdm4hJH4gF7AX108jpdw9TOc7Zd7b8mv/OnHs72Lz66VWuPexfiXNl/+1bOq37OW7/V7ojL1pdkE0syuN/LKsIWaZheAt1a2I2fUtDFgDnmlzxP+DrtnEEvvqFQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Simplify the math used to figure out how many pages should be allocated per node. Instead of making conditional additions and deletions, we can just make them unconditional by using min(). No functional changes intended. Signed-off-by: Joshua Hahn --- mm/mempolicy.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 3b1dfd08338b..78ad74a0e249 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -2645,18 +2645,15 @@ static unsigned long alloc_pages_bulk_weighted_interleave(gfp_t gfp, for (i = 0; i < nnodes; i++) { node = next_node_in(prev_node, nodes); weight = weights[node]; - node_pages = weight * rounds; - /* If a delta exists, add this node's portion of the delta */ - if (delta > weight) { - node_pages += weight; - delta -= weight; - } else if (delta) { - /* when delta is depleted, resume from that node */ - node_pages += delta; + /* when delta is depleted, resume from that node */ + if (delta && delta < weight) { resume_node = node; resume_weight = weight - delta; - delta = 0; } + /* Add the node's portion of the delta, if there is one */ + node_pages = weight * rounds + min(delta, weight); + delta -= min(delta, weight); + /* node_pages can be 0 if an allocation fails and rounds == 0 */ if (!node_pages) break; -- 2.47.1