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 5B52CC021B8 for ; Tue, 4 Mar 2025 22:22:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7958C6B0085; Tue, 4 Mar 2025 17:22:58 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 71EC46B0088; Tue, 4 Mar 2025 17:22:58 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5992E6B0089; Tue, 4 Mar 2025 17:22:58 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 3A0C26B0085 for ; Tue, 4 Mar 2025 17:22:58 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id A33111606E7 for ; Tue, 4 Mar 2025 22:22:57 +0000 (UTC) X-FDA: 83185294794.19.C237C13 Received: from mail-yw1-f174.google.com (mail-yw1-f174.google.com [209.85.128.174]) by imf29.hostedemail.com (Postfix) with ESMTP id BFC59120006 for ; Tue, 4 Mar 2025 22:22:55 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=cD41VsKy; spf=pass (imf29.hostedemail.com: domain of joshua.hahnjy@gmail.com designates 209.85.128.174 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=1741126975; 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=C/dqG0WQcNNVPDMrdPEeD/M/SnPUgM/AMQtXMXaVRVI=; b=Bk1tvujhjGUKWy/tc/AZ48r9RJ8CymQOU7eb4QMcOzU7stsCtkuYwiW1P12mAtftVAIWns xFA5zYjhlH1YZnJtT6s7VlhVWgdPR/9FMlSCTI65j0xoFfROrXYtNMpRoUGpm4o+ktaoTP A6rEM1eKhmLDYvZ+xyvOFqpPEXhIisQ= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=cD41VsKy; spf=pass (imf29.hostedemail.com: domain of joshua.hahnjy@gmail.com designates 209.85.128.174 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=1741126975; a=rsa-sha256; cv=none; b=3JzLdE0HERRPIB1IjJoZuap5bSJrYNjht8rJohbmB5sMIeIvpA9BqaLGeGK8Ze7T2zcwAX IWIBL5VUecsZA/gjOtCj3pyQfQVY402NHZXPJaXsWQyPwQYoB7u5VDFC3y6pcWdUBCC70P tDGcX0ashQwKQx6FybgXz+dCpkSuTKM= Received: by mail-yw1-f174.google.com with SMTP id 00721157ae682-6f9625c0fccso55667387b3.1 for ; Tue, 04 Mar 2025 14:22:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741126975; x=1741731775; 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=C/dqG0WQcNNVPDMrdPEeD/M/SnPUgM/AMQtXMXaVRVI=; b=cD41VsKyQx4nMz4FNn0GbiQGMDpqMRzG9KLPBmtnRHtKMEY6mggsesO5sZwOGm9JJy +7T9zL0z9hLx69/419W8BdtOZzBXQ6rWr+eTxd7yIF8d/VET02BuF1LbyApSARjFFh3A yWEkV0jkOANEq6JT+rWMg7nySVfJ28gfc+jb8rUxTvr5gmzXtdIrZlatJ4PNNdy5ayMj dNcjD321zjqZO2XJ8iCF9FXsGlLP7e/Ezfx//3ZPtse5UwDR96A8MnZ2rq9UQZW+48bj jLI5bJF+cYOqsZ3v7XsDfe4FhttM2DkEQTQ4PEpWuGuTdo2PZrGBSWQDcWJ8YsxB+T7V Aj8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741126975; x=1741731775; 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=C/dqG0WQcNNVPDMrdPEeD/M/SnPUgM/AMQtXMXaVRVI=; b=btPa1mcERrFhE6oKlGpveHKn6wzxRduFRSzdYtz9vNnLKo88mnj+EMbj073A5H2UDr szh4/5aqwB4fsYtVR3N0tqRz6uW6sBs5MSbw06AVaWSXAqdhLYpxatwE+S/NCSdzR4iF iFTkzUrNRZGYz1kGKFFbLIVhRzyjRelVTYDPucOW7Jgp03NgL7OzOfvQe11DKIqiW6nk 025XdcPYgluBlzo4qVNcEiGSeSc5Z7kIB+uE6ZiHawblPIW658oIJyYBKTWDT6BOjfub DCU/edsIcW6DClQSh2lLWZyO8ECgLzwWBKZpq6lEMcOEfmKIrQoqH3ZniHP5ZGCEh0TS 9dxg== X-Forwarded-Encrypted: i=1; AJvYcCW7GmurXjRjmKFAnFFoxsqk2OZoV5Z206RUjTPdaHnfhF3kYYtLwAHdy3LTpE9STEo2qSR6XtsLzw==@kvack.org X-Gm-Message-State: AOJu0YxNfNz+19/tP4jxUvh5LI2tg7wNxgTI/FJrrYOlmYef20d/AE9e deMKdjHThnKR97ZsnJsLYV8Bvpq0OVbPcyb5TbTkhCtVg0BGz/F2 X-Gm-Gg: ASbGncvFqHJhbhc5JQSOrNgbv+nj6DOW+aZm+y0JXhygQOjUvTaa8GZUDCX1yjxBFk+ YaeR4P6IweGKI4ItUseCk4ECpxK57qgYfilJih7JmSkEHCzs/63PsYN4OpNWskfyKgxPWb1Oe0l hDhC6chd85Duu1yrf/iZfY7TNU/mLs4uM8SYZc77tVZ3mnwfde4UhT3SNQ/Jr7H/LQsjmCD8FRw 9ARm5W/dl0a+QBcA0FbtK8C8shM9H7qkkx/VirpU0jwD4dBzElbiVqtLzvLqs/iRN94DNwrS2NX Y05eqqPMCpEYhhfuofrmAKzl0A6zxDWSaUYmIK1lYePo X-Google-Smtp-Source: AGHT+IHbOkZ4mJr426bT+N9RXY/lw+J15pEjEGFgtsk0V0Mv3ydbsN22C3hyZ3WsuaYehFxZ8wZ/7Q== X-Received: by 2002:a05:690c:74c6:b0:6fd:a12f:2702 with SMTP id 00721157ae682-6fda3094e44mr15281367b3.25.1741126974853; Tue, 04 Mar 2025 14:22:54 -0800 (PST) Received: from localhost ([2a03:2880:25ff:7c::]) by smtp.gmail.com with ESMTPSA id 00721157ae682-6fd6a1a1733sm16377917b3.48.2025.03.04.14.22.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Mar 2025 14:22:54 -0800 (PST) From: Joshua Hahn To: Joshua Hahn Cc: Yunjeong Mun , 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 14:22:51 -0800 Message-ID: <20250304222252.3805581-1-joshua.hahnjy@gmail.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250304215612.3668139-1-joshua.hahnjy@gmail.com> References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Stat-Signature: 1jhwhxz1cp37eo3pzye3umjacb17yxb5 X-Rspamd-Queue-Id: BFC59120006 X-Rspamd-Server: rspam06 X-Rspam-User: X-HE-Tag: 1741126975-201043 X-HE-Meta: U2FsdGVkX1+GC4P/K+GtYg2DAUjZhsDGmwC1wq/dHsPVoAOY1zATK6ttws82XGu9TL6S5aZA2WNLBwgu56jqDyeeMHQG42AF3Z6XfaHL6UfdKXE+nEy/qtthQWJNEMP8AubeOf24RDfjZUPryiQSbelrRLz1HFJidrbnyflpqMKfr5YKuR3zyNMkD4QsmFsGZeQkhA5oLVh9d0I1z0zP64kwsq+zgcASXeg/eQ3EAacZkVpp7Kd91E+EV9vMEF/0qClFmDs11NyzTIZrukI2KZig0PGHZkiu68Cf97zIHJgaqToZgshYaAQE38gSXNzURsAjwr21tK1bpVmLWPKd8bSzqlTiqVKIsFoF5I3wAjwWg/Ql4uDem8IGOY4nSVMxervt8JAI7TBTroddin3r3yGISVfFrDZjmY3U361IDw1PvmUHwZlZsiUmFkaQBxOrcH/lKdWM8+SVd8FmuifpLOulaFOU9c8n58X/cGcPFjld29Eg+QP6/jpdFzsPYM4Y04XrrpYwxqPPubT4/rJbynUE/0TIR5lWyG+XFLeVa0I1cIsszD+SzviBVQRBGm3vF9aRdDA13XQLSWXsnONdKb0uz7QW8YwGrSH13utNZVATjyBcxyu+54x3AnYp9idZ+x/JkhFlUn/Xk3LIs7ROp9ppsCXIEv1rJJMYpHoAYmEIFiJLhrKDFvtn9DZAm5ImmTddwE8nxFoOIFNljW+21/PnVOuoDNghD+tiaUssAt1OC0n10f/xiGQiiQzef66JS8OgbNCazfF99ydtbNcx9eR4HvwU8UV/3yVYYHVCRf6QBTulE0xuopiIG8o6ok79MQtu3dMAad2JtDaOyk7lAME0gvZ2KRZzHvotdYU0KmgLnX7XuPD3HQiswL0dsIyO5znH87Ug7i5N/hbjFb1bV9GCFHFyqyD93yFCIJk9or8BnSGdWp4Qwbk/Mtjr0mXuSItoxomQoAY2d9AXq1T 3XYYTNln 5MpUosicM5ZWapRnqpq4m9e+jRMqyzAPKFMmVpQVfgtL7OafjCg+e8c6xLOKgambE6HHbkxNCU1g3w/WaiUlACK+mTlcIpKjfek62JypM4AZ7SF728Ocr2ELUJQPE+1ZTjJN5DKszsK/zI7Hhye5UHp96k2pb4Dbw24vxnTEYLN8q0UnxVouzTl0Rp5Z9qjb4ObMD0B4fckq2g+dIvlQCIuBBz8evRldeaBWFVzZrng7XWQVPHvfYfg78+vInMl9OJHvdSdLWqQ5N4BrlZg29VVCU8itI1Nmg+zScULKbYJYQadn6np/35fbi8jhU+lpUvLQ0jVpJ5W+w2bJV7wKGWN4qTrkb1cA7I+O7jOo+D2GZ7B7THo2zPE9LR6539avUVs/PW9n+cWj2OUNXHzI90r8AUiLOTLuUzu6XCrw0OEhixt12UirJncpyifiC62735apYz/Lgr57eFWlur8HimnexRpNJZfJQkeN+577QkxbR4CWegVdPF25DbpN5W0gBzBEewydSH11odEBqmTDCyun9rbTI0JTyxCpwHJIHs9SrOLPbv9UStAIRTmzIbfVRGrne3MJH+Ho/FjOCQA8xG8FKEpdNyUkfu1mQ2qo7hTZaoQ8= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi Yunjeong, sorry for the noise, but I have discovered another potential concern that your patch introduces, which I have explained below. On Tue, 4 Mar 2025 13:56:11 -0800 Joshua Hahn wrote: > 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...] ^^^^^^^^^^^^ When I was originally writing the response, I missed reviewing the contents inside this snipped section, which looks like this: if (!node_state(nid, N_MEMORY)) { new_iw[nid] = 1; continue; } I introduced this check in v6 because without this, we end up with the possibility of memoryless nodes having a 0 in the table, which can lead to some problems down the line (e.g. div by 0 in alloc_pages_bulk_weighted_interleave). Respectfully, I would prefer to write my own version that takes your suggestion, as opposed to applying this patch directly on top of mine so that we do not introduce the build error or the potential div0. However, v7 will include your suggestion, so it will go through only one loop as opposed to two. Thank you for your feedback again. I hope you have a great day! Joshua > > - /* > > - * 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). [...snip...] Sent using hkml (https://github.com/sjp38/hackermail)