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 1487DC7EE2A for ; Fri, 27 Jun 2025 04:31:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ACB008D0003; Fri, 27 Jun 2025 00:31:56 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AA2E28D0001; Fri, 27 Jun 2025 00:31:56 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9B8928D0003; Fri, 27 Jun 2025 00:31:56 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 8D2DE8D0001 for ; Fri, 27 Jun 2025 00:31:56 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 53FF8C04E5 for ; Fri, 27 Jun 2025 04:31:56 +0000 (UTC) X-FDA: 83599907832.03.61AD241 Received: from mail-qk1-f169.google.com (mail-qk1-f169.google.com [209.85.222.169]) by imf27.hostedemail.com (Postfix) with ESMTP id 806CB40006 for ; Fri, 27 Jun 2025 04:31:54 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=gourry.net header.s=google header.b=W+tOJYW1; dmarc=none; spf=pass (imf27.hostedemail.com: domain of gourry@gourry.net designates 209.85.222.169 as permitted sender) smtp.mailfrom=gourry@gourry.net ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750998714; a=rsa-sha256; cv=none; b=NPJvJ7qQgHyghNhWF/ASBYsm+I0FLJ/eNTYNVaIxOpTdzszvhCRUfN1ivhUZm3IIRI2GOZ NLnH8ZNZ3bqlJ/OWEzsrO+2CDkJKzvMPbXOBmJ8QgWHK2Fj6mEFJPalntKRRsCQiGx1vPV KYNriklYMcVcctXbe++icjhv2AVrHcc= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=gourry.net header.s=google header.b=W+tOJYW1; dmarc=none; spf=pass (imf27.hostedemail.com: domain of gourry@gourry.net designates 209.85.222.169 as permitted sender) smtp.mailfrom=gourry@gourry.net ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750998714; 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-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=AK4VOOLTD1hGNQ+BsO/cCMm/PctZ7mlNTcGJ9xnEe40=; b=eCyxy9xidUD63t488bI32WJE9fINmR8/F9EVIg/AEqBiwpcRxxdQVI7vQHDun38moumBkw 3HZI0zFesq67cUKvt64EFQsAfVPa21jNwpC4N4M+TO7r/qc/7Pv+0RzC1ip3eE7P/m2ROU 7shsGSDJTc2e2pLqUMjMJr6rmz4TweI= Received: by mail-qk1-f169.google.com with SMTP id af79cd13be357-7d38b84984dso261440685a.0 for ; Thu, 26 Jun 2025 21:31:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gourry.net; s=google; t=1750998713; x=1751603513; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=AK4VOOLTD1hGNQ+BsO/cCMm/PctZ7mlNTcGJ9xnEe40=; b=W+tOJYW1X1X+Ou4RYOhzM38G24GiQU/xuANsrFDBoufRVWONdUaHxlJrGu5UJ+zCX9 8M54oZpuDePwUB/b2NWrC50SrjBeFakXnC/obBNTyex3l7bAyMHHUbPZ7oVQIswvWfxn 8JRE/ApDY5vtZsGWajIrfP72hLQn6Is4mRawu1jGWgiOTPumPgqAyOoHL1gTY2uwQs6Q 1pQ6+Lnmp0mBW/BXjWBY20XAd416rasaXalqm72IAQl6CaRbWucsLU8QnpUjded5SPCO noAeDrxd8qTbm2BOEhQVT7q7VtLSomToXHW1Zp+cRdJh+SDIebb/WdO03g02UZS3IRhG DVhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750998713; x=1751603513; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=AK4VOOLTD1hGNQ+BsO/cCMm/PctZ7mlNTcGJ9xnEe40=; b=UmT1fwjPg1oqItMQvD6vhwebwqhSeXfnepsoTaIQNQRUrT9rAY8JE7TzFLtbShbYoN m0T2OM+YDZtMZinrTsNbYHaBU3hYg5j31EKQ2aXhB9kjTgQWbHDYqwrkiz+NeX6ZOYmF 7yJOSm6R4YHxXiZ+YP8KBIujEQHB0TExDGj1L8SdvP7vCBN2l/MD8uP0a5TWDwoOW3ir rSgGz3KHWzzUSbuaicQ/ZYvhYKpb6VqqgrhPH0EHpHGq7Bi0NLLuqDaUv5ykA0uS2Wpr LN7DOr1wUpgo746gPOis9D2Lu4sjTkB/iz9dJ3DS4782NZ4WfjcmWRTvigPa+xuh3QDk EZ2A== X-Forwarded-Encrypted: i=1; AJvYcCXMiCOltGM7hwoyFd1hvt8UTsUf+8GlXT+8EmgksvClV8gw6N7snnfh/83Hm1IakStxtsdorgpVIQ==@kvack.org X-Gm-Message-State: AOJu0YwqD5pPtCk5mf5Xtg8oYS/H8A0Mg3v53eoCjwz6ZSQ+afgRnp4W xsicmNjqzMQodQBpX+ANDVEh9fhvVEOfhKy+uLC90px27a+l3QKoEqXNr6kUTuGrvj0= X-Gm-Gg: ASbGncu+0gPrHmpXG0rtbukps4Yb0Im1v29J5G5NXYvJRQJ+qcFycqTjshh1b51p0bj yvmAEDLCja6+NhaWsRa1onBb8OdVbCIfuMcb8VADOEjSUaifsthlVsd8pYuBLZmDfOXA+jvpnSd yvwbt2lE+ALfFc7S7A/SM43cgoH3dgsrEX8tkV3d4wLB2jHOJb4UMeRsWLZFKSu51A+VB550jPZ h32UWRMZ1EuhLmOXOGkD2BmCDD526la4W3Eldb1VRfkgTlskpq4VYYEZKCToLP4ptZh+pITgtzi cdIkWsFbrrcnUozqBul9LXePC99VvEqkjG+//s4j3+KzRYcAwI6sdahGh6DuZ2UGmMwKac/g9kg AvO9dBeQijcY+1eybd+zmTAO7qrGDBRO6p9yew/9f2A== X-Google-Smtp-Source: AGHT+IH1qhiDneuCGwRTL1z4mVoftoxpeVCWpGYeP8yiqZyGuT4TqPRiebMHNkC9qWIOQXsZpT71+w== X-Received: by 2002:a05:620a:458a:b0:7d4:295c:884c with SMTP id af79cd13be357-7d443926eb9mr310862885a.7.1750998713547; Thu, 26 Jun 2025 21:31:53 -0700 (PDT) Received: from gourry-fedora-PF4VCD3F (pool-96-255-20-42.washdc.ftas.verizon.net. [96.255.20.42]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7d443223219sm75897285a.84.2025.06.26.21.31.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Jun 2025 21:31:53 -0700 (PDT) Date: Fri, 27 Jun 2025 00:31:51 -0400 From: Gregory Price To: Joshua Hahn 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: Re: [PATCH 1/2] mm/mempolicy: Simplify weighted interleave bulk alloc calculations Message-ID: References: <20250626200936.3974420-1-joshua.hahnjy@gmail.com> <20250626200936.3974420-2-joshua.hahnjy@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250626200936.3974420-2-joshua.hahnjy@gmail.com> X-Rspam-User: X-Stat-Signature: rnpqxmk1teiqhr14w553tm5m933k6jd4 X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 806CB40006 X-HE-Tag: 1750998714-735328 X-HE-Meta: U2FsdGVkX1/kqf5IBB6/Su2amed6eogXFFrolTzC/Lp6M/5Rb0wqkQlou18PCWIPiVFuJbjpQVagiUoJdBhMQ92wc8ClAQJmZzhwZSKA7zYkZMfqzTJJTpbV322U1P9KwrqKDlWe+s9HOqO5I6ie45VqyH1J1+Fdlw7oOZyzR9EkwZuQkOEAXYYP9NROA8zcjyCxdiuQximNcVm+Z23DNtlBfHvrW39BQQ9q5uAB6FoJyWvAUSHvn0DO0PA7uuebJb735nfINIIZ8E8m4MC/pSUBlB6MyJIgrxSIjoEYdOwQ4jaih+af0H5kO6wmLuQ/ubDkhDF+LDjDGDDq4C9kTQEPX+8ZeybiTqFcpAFkb6oD+TWepRx+QBw11iMRfYHhubKtwqxVzhzG6ZOZM/1KuJzguKtyK3wW3jAw5/Ivsubp/MYLPGXmwZbotLSbkgRw9v7UzP0+gKo7MItC5gYPjLjqvhExc+q47fbVIl0oB+Z1obpD2/N/Kc9oUM4cO725b1C2dyY5oo3di+Mm2Rr78xJKiu6zJ1sR2vtVYlSjS0pUNfPWBpo2QghEbqXtGPu5Gr0DwKMY28VO+p9TSYaFC5Kvuics7rGUiQEjOqHsqsuqOvyTc5+D+9/7+RmAjBuXLIep8UMPOzqHLh7+0f9QToibDSr+G2cYI+Ww9QV4LXUf3n+5FfDtktLdMTZn4nV5H9QMBtOZ5l/vqsOAzv6PDM3wu4PN2HLwbmNRe0gtzvAxNHR3Hlix+h1L/EafMD6YVZpi2exDIlCRGtMFC+jTM5X1DAyWNGlO/neqqRdXFD+82GHAYjqI94mMHhP0CnuMYYJjYuU16/11rsd3xFig8xL3cqL3PCWhsgbVLn7/mvhHqasEebOnsuP0z20Yqco6nfK41ALlhAe+76VgSXw/V9PnYPnXj0CS2JnKG2jltpCl2g7XS4G4+fBeWGeRNAHTP/ECJwifP/OjPPkDCRa 0BlKz+7a RE5aijQQB+NCLK2Sw+ddlyNrVSPqYi9TmY9cvPP7Ki2GsCLN7kjxS7QdxLEw6la1eaiyVXn07KHFqCBAjnx4q/2JV6hwx7Hn5y6eqBEqa9hADR6ex7KFRWusI/vTiL0BRzExUiGKcarzG9FlCI7BZS9EgYfd2lZMEQorqV9SuLttU7Ef5+CxGyBVsVZXL0wjgls5MRNZMakYDuOVUFIKxrxVwf/VENXCGyPrzUY1ebu4CKHBrgM76lNhiPFJH4RqVEc2u2+s0g1WR8V1592cxuQb6uu0/zWiIl6YU1CZug9R3XgD/sW2j4AA4RXObPgbjATR37bEkS0HCc5vXloQ0FRt7vvJ59V932yJjU6sut/mOkwekjD/Kh10gVtoQDJYvDQw2e2pmK9JKJAkyXPkT0oVRwuoQbgmcqyXJF3yCEKJ5fk43LaPMyjlwbUyMsRnZeT25+c5RytcLTxTvpCNbCHkClK0FXUA8HL1QEIh6fgdSnEE= 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: On Thu, Jun 26, 2025 at 01:09:33PM -0700, Joshua Hahn wrote: > 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 you're better at concise math than I am :] Reviewed-by: Gregory Price > > --- > 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