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 D1F0BC021B8 for ; Tue, 4 Mar 2025 21:56:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 428B26B008C; Tue, 4 Mar 2025 16:56:18 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 3AFFC6B0092; Tue, 4 Mar 2025 16:56:18 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 229CA6B0093; Tue, 4 Mar 2025 16:56:18 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 0368E6B008C for ; Tue, 4 Mar 2025 16:56:17 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 76D991C7D9C for ; Tue, 4 Mar 2025 21:56:17 +0000 (UTC) X-FDA: 83185227594.06.10838C0 Received: from mail-yw1-f171.google.com (mail-yw1-f171.google.com [209.85.128.171]) by imf03.hostedemail.com (Postfix) with ESMTP id 6AC3220010 for ; Tue, 4 Mar 2025 21:56:15 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=edWobT5I; spf=pass (imf03.hostedemail.com: domain of joshua.hahnjy@gmail.com designates 209.85.128.171 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=1741125375; 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=sqo7WHkn5qvaYp/5nGnkilk7ahoFs2Qeg8hSvE1kPD0=; b=PBgQRl1RgZiXgOA389VW7wlj51WzCCbbkbjF7Eu8cYytdoqsKty7KB+noBbk5zR0HkzBWa W7MhGMiGRdW+sKT3qfvuls7XaEw16D8Y+Q/7Cg5Sx2FTuclV6LM2N01xkUZffqoah9Aic9 YNsJR2C03qlW+HBB4mLh2i1NcW0W97s= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=edWobT5I; spf=pass (imf03.hostedemail.com: domain of joshua.hahnjy@gmail.com designates 209.85.128.171 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=1741125375; a=rsa-sha256; cv=none; b=P6srudz0tmiuF+ZB0p1YL8cZilSsBt9FalED4xgfPwJ7B4ySJBDOC0DkpMtf0d2dzI8ZjR 4IH5XYu/gDMVTOlo5r4Ll8SqcyaFcmINveXbKb+3DxQycfr0UPYKTf/mp1MMl6UDv6xc/t 5AJWBk5rJNrBokY20MQF0Lm9fnzZZ7M= Received: by mail-yw1-f171.google.com with SMTP id 00721157ae682-6ef9b8b4f13so52725997b3.2 for ; Tue, 04 Mar 2025 13:56:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741125374; x=1741730174; 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=sqo7WHkn5qvaYp/5nGnkilk7ahoFs2Qeg8hSvE1kPD0=; b=edWobT5Ih4/OpPtGFkJlACLR2ei2VCenZDtQajA4o5kBuzFj9Oe9IXwpTUatRNY96F 77id2hciyBM1DdBH/k7eGasJi/+LlY7prpD7D8ZnhM+EwSF3UEpxp3mLmaAzlsgIEtA0 5QkCdQhdXLQvE6m4oWxiP+EqC8xy3S7u3TrCeEYYb0BFq7KxywTLoOjavscaCXuyTJEJ NPN6JVz/4pw2io6ciHLzpLlb4Z1fS+CjvTFWC/6pBYJOJgaciAaMhJc579elS579tVSK oKBFO83g99brhTo8ONp9PPhsUphKOWRloFkpDfCkcuSDjI7GFPmBAJvmHGJCZHpFRLOr U8cA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741125374; x=1741730174; 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=sqo7WHkn5qvaYp/5nGnkilk7ahoFs2Qeg8hSvE1kPD0=; b=WjcLtcTIA21GZz3vAdcDj+meoGhcuzLrzeZen2qPESreIuy3gxm+t/+sHQ9MiZNvBg LL6aUn3LGrGECZeGEqrUPjaB/qgCF/AGFlOAPeNnJXcRP3qdmtZ8szCHdVllXZvlDrzC 0wh2L+X9g/pq9/GE1fbGqYeZbxCkpp+xDZp+E1WHg5v5EWhAC9CKGjBStrextyIw1lGj XC7hDpQr5V8bN0g+Hhig/7FrqSH04uEtj8cp+PWvm+G6YNS5gxFw5D6akC7sc6N+I+5b tn7TkxvQAMr/DNGrC+Kqv4l/LXa58t8XdWkRN8/9pmR0VsoHAHt0Xwn94D06o0q4PEq5 PLBA== X-Forwarded-Encrypted: i=1; AJvYcCW0LbhWrPEpmud5/+aO367KtZXVQ7zTOTe5gbqiRc/FL5h1DkkqZejD19QM1DAD+eDZMJTLxYAmfA==@kvack.org X-Gm-Message-State: AOJu0YxdPFefow8WcRh5CYePIK2rqzqpbmN8Ewswt+bcUA0Vl+VGWluD Wxl9eGtbp8ZgXCz5p1rYwZx/PXcAjqfg5s91wg1nnNy6ertbZYgr X-Gm-Gg: ASbGncvdtVfPY6EimB3FOvUMKd5K3mTROErgMsSB3IMpp06Pie3C3JIi/NEfdRwz4OV JeJ5u/JPfCOem1NgDH7YO/wtnBsHn16S38g7y/L8hCjynY/qN5X43WhwSExs8a5MsJmyqu0EE0o /eHioEuiRyo/2MB9syVQBGc6qSD+t8WnwFdfssAQ9U7znMMYr7140sFgKIN5udfkMe8GkN9i+iu 4NVgNJr1w3NzSkC0BTBz+vi6Q2lSNxltWiwR4GbHE+eFDnVf099UtsCXT40n184/Vy6Yr1F1NOy 18h+jxUKVwjdNgpjQc9aSRuDfaMSiA0BEZKfp7rVh0Dq X-Google-Smtp-Source: AGHT+IEeQJYGRrqQ8QbpBdsu5obZ4Hbxp5jaq8xeATA4YQ1k2g9OwZJ0dBmJqIK2m8RXqeZxpkHz3g== X-Received: by 2002:a05:690c:6913:b0:6fb:968b:d8f5 with SMTP id 00721157ae682-6fda308309dmr14791647b3.36.1741125374446; Tue, 04 Mar 2025 13:56:14 -0800 (PST) Received: from localhost ([2a03:2880:25ff:73::]) by smtp.gmail.com with ESMTPSA id 00721157ae682-6fd3cb9dac4sm26341017b3.102.2025.03.04.13.56.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Mar 2025 13:56:13 -0800 (PST) From: Joshua Hahn To: Yunjeong Mun Cc: honggyu.kim@sk.com, gregkh@linuxfoundation.org, rakie.kim@sk.com, akpm@linux-foundation.org, rafael@kernel.org, lenb@kernel.org, dan.j.williams@intel.com, Jonathan.Cameron@huawei.com, dave.jiang@intel.com, horen.chuang@linux.dev, hannes@cmpxchg.org, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, linux-mm@kvack.org, kernel-team@meta.com, kernel_team@skhynix.com Subject: Re: [PATCH 1/2 v6] mm/mempolicy: Weighted Interleave Auto-tuning Date: Tue, 4 Mar 2025 13:56:11 -0800 Message-ID: <20250304215612.3668139-1-joshua.hahnjy@gmail.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250228064016.1325-1-yunjeong.mun@sk.com> References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Stat-Signature: zqoortyrnzdnzhxghn4brwabwxa7ss6o X-Rspamd-Queue-Id: 6AC3220010 X-Rspamd-Server: rspam07 X-HE-Tag: 1741125375-795318 X-HE-Meta: U2FsdGVkX1/TrzSosgsdfkJlWcSJYtyGA1LoOBm8dg9pNswvxlqrmPmqaiPYHNlToxZamTu4Gc00iknfNJHi23fmQooSpQHnWOMLjuCRswfpa+OtnREPSpUZcewk+mBHtMASEYFW4gIL5S5Y2AAQamP96OElcOov+v05KDNJVoNTUngGQLeMiKSGhAhstaz+2gnSKj+Ydkb8iZtOCpCoL/oC5+UpbzEfusXDpWfVRptV1SjeVv52TFbUG3wHahbmXzMQMMuPSCQHT2OB2ZXsWAmoaMue3HKBKuOoSeAtybJ3guLs4pTK+x/tr60h6lgmY6MABG5GThvJS5BaxSRbAUvgD98VSoe/LiCtkEAEQI87BvCmeIXV0Ix1fX/7mVk8TZWEB6eoT1eWD51gmS6pQa0QfzpABggZG1Af138M4szmhGAs0qqqfJDi7T3jH/xqu8sDjeTEzGGyat5SGhfKi8Suu35COHYBcgtvPUl2rys4lzmYHSRsmMhMy9FMqWOjnb9DYUWUroYlFuPwZCQ85lqCumrt7WLSdwLJLbandHhLLs0csRCUgf5C9cWVybLSrwYsF4jQXpzKN784wvwW6QXx9Te/FAy4+HmYYJ6U3pxZWsngktczEm1nvzLZWdTJnft+QJRC0cXM2v4EyZkVMXGh0bjBBnNoJ5Ak8laffkRmnBKzUeaTpOLpPUBB6EPcCWvxypJxqS3yRwpHIV1Di6Wt2FZa2NQR5uCfrvv9qJhhk/syzwg0BrkDaor4P4GH1iMmaTndLf9moqdB0i0WgmU7HVtExNmELwhLaQsWeq5mlxVPVScCUR4RXr2yr+H+jagWGJgKR8oD0yVhBOd42l/K08q+zZg7B8GKoK7Wd6V/U+ZjR7kssaMcx3hqskJ+G9ghwZgbacCIocu/YBiSJFcvZWN/dpsQG9Al0znaOzegzTbCb6/HeHipXIrw87z+UU/KRuFwN6n8oVfHdZc ruRhGWvA wvGMj6dBpOOBlwrM3gIz3P4oqEilTu+EXJTqPJSpWxeP4v/jhr+jiNhvL3idqgu1PO/CKSZqAiogThEcIExDE4/yVveYoxfU45D0P0y/4jZDbsJ5Pv9fcjJ9PxPg5FG6+5xQIttAWCOOvlgdMGoACk2UWjxdrmlrK3biT9ZiAp/33yWVY/8gwgk8daLho1aAHW7msCD0cRw5zRMyS2CGerwDDprvsG9rS6AoNMTdnyQPMpYCDbWAKx5HowQBseO8ZXiQ7ydX77Rh7VZw+vpOxlBMeh6F7/viMj6Oz24m8gTXNgQhyigKSpS54eeVlL7Fgwfb+PuVApeQQVWSBBaLZPGaZBrf0d01jaQMr81nce+t1GDhVaaM79Apkk7/JnMUoaoGsw/Jrufo0Li4oRlbBsr32NV/62wUiewBX6VoDM0ZlUsQwQS5SdqSunTheFRwUdk8MzVx1rx8vJ9CdAuaacXx18GgO9CwxD2k5IPsVuc/bczocARmL7lSL9z5YfpNE7HEEPkhoXwre+7JCAOFH7sw3KufjicLGK/YxrR9lsSceK7+C+vVjBFoCkicubWXvCJGCWIBydhxBmf9avIwsULID0w== 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 Fri, 28 Feb 2025 15:39:55 +0900 Yunjeong Mun wrote: Hi Yunjeong, While applying your patch, I realized that it re-introduces a build error that was fixed in v6, which I am noting below. > Hi, Joshua. [...snip...] > In my understanding, new_iw[nid] values are scaled twice, first to 100 and then to a > weightines value of 32. I think this scaling can be done just once, directly > to weightness value as follows: > > diff --git a/mm/mempolicy.c b/mm/mempolicy.c > index 50cbb7c047fa..65a7e2baf161 100644 > --- a/mm/mempolicy.c > +++ b/mm/mempolicy.c > @@ -176,47 +176,22 @@ static u8 get_il_weight(int node) > static void reduce_interleave_weights(unsigned int *bw, u8 *new_iw) > { > u64 sum_bw = 0; > - unsigned int cast_sum_bw, sum_iw = 0; > - unsigned int scaling_factor = 1, iw_gcd = 1; > + unsigned int scaling_factor = 1, iw_gcd = 0; > int nid; > > /* Recalculate the bandwidth distribution given the new info */ > for_each_node_state(nid, N_MEMORY) > sum_bw += bw[nid]; > > - for (nid = 0; nid < nr_node_ids; nid++) { > [...snip...] > - /* > - * Try not to perform 64-bit division. > - * If sum_bw < scaling_factor, then sum_bw < U32_MAX. > - * If sum_bw > scaling_factor, then bw[nid] is less than > - * 1% of the total bandwidth. Round up to 1%. > - */ > [...snip...] We cannot remove this part here, since this is what allows us to divide in the next for loop below. sum_bw is a u64, so performing division by this value will create a build error for 32-bit machines. I've gone and re-added this comment and parts to the bottom part; the logic should not change at all from the patch that you proposed (except for the build error). It's not a big deal, but I just wanted to note that this patch was not applied in its entirety in the v7 of my patch, in case you look at v7 and see that the code looks different from your branch. Honggyu also suggested that I add a Co-developed-by tag, which I am happy to do. However, this requires a subsequent Signed-off-by tag as well, as per the kerneldoc on patches [1]. I just wanted to have your explicit signed-off-by so that I could add it to the patch. > - sum_iw += new_iw[nid]; > - } > - > > /* > * Scale each node's share of the total bandwidth from percentages > * to whole numbers in the range [1, weightiness] > */ > for_each_node_state(nid, N_MEMORY) { > - scaling_factor = weightiness * new_iw[nid]; > - new_iw[nid] = max(scaling_factor / sum_iw, 1); > - if (nid == 0) > - iw_gcd = new_iw[0]; > + scaling_factor = weightiness * bw[nid]; > + new_iw[nid] = max(scaling_factor / sum_bw, 1); ^^^^^^^^ This causes a build error for 32 bit machines [...snip...] > Please let me know how you think about this. > > Best regards, > Yunjeong Thanks again Yunjeong, I hope you have a great day! Joshua [1] https://www.kernel.org/doc/html/v4.17/process/submitting-patches.html#when-to-use-acked-by-cc-and-co-developed-by Sent using hkml (https://github.com/sjp38/hackermail)