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 894F7E77197 for ; Thu, 9 Jan 2025 14:29:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EE3836B0088; Thu, 9 Jan 2025 09:29:46 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E93676B0089; Thu, 9 Jan 2025 09:29:46 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D5B766B008A; Thu, 9 Jan 2025 09:29:46 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id B559C6B0088 for ; Thu, 9 Jan 2025 09:29:46 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id AD3061C9246 for ; Thu, 9 Jan 2025 14:29:43 +0000 (UTC) X-FDA: 82988147046.23.5D48922 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf20.hostedemail.com (Postfix) with ESMTP id 4E1FA1C001D for ; Thu, 9 Jan 2025 14:29:41 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=jafkBlRG; spf=pass (imf20.hostedemail.com: domain of donettom@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=donettom@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736432981; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=DbH9Fvx918DTHwYhU+DbowEBjDcXJXxs2Ftr9Np8WUo=; b=YyxyxrScbt9lcxMqsTpIgBgQUuQfBJx0cOu5We5PJmD3nrcRSgPPIRpslNTo+ktdkhoiSM zX0roH09a4XuMkRdbeEfFU6g0Avwdx6GZrem4LTqQh+V5rZispzdjdbRhkzZMEp05otqI5 4vZHDVLb5u+sopl1pJqkT9PRzJ7iX8c= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736432981; a=rsa-sha256; cv=none; b=TtKEhEXyADp/oS4IaEJk9s1rTJSHy9bGkpk2vGapTIbSrBp1hP270+T1I0GNLlbXUzV5e6 0Xe/AUSWNz+nxvMxwO/x5pHe9iLuC8FyU1A+PjrOF7fAPBfD8TsszzT07Glboz+GhJEyRS YN3BddN8itB5YTtJZJQ0AfJ/XOzD1+w= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=jafkBlRG; spf=pass (imf20.hostedemail.com: domain of donettom@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=donettom@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com Received: from pps.filterd (m0353725.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 509E6UZb010315; Thu, 9 Jan 2025 14:29:35 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pp1; bh=DbH9Fv x918DTHwYhU+DbowEBjDcXJXxs2Ftr9Np8WUo=; b=jafkBlRGIu5Ivj6puIqtQE j0h1I93/ZM1v/N2uEs8PaQI/mzVZJGqCGHv4kADoQH9gJfM7eQICS0NaErpVQwpw cXSeBUzLoCLZexWjTuQ+Op+Y2NiA3QifVJMQDh/l//znDnuWt5BCn6Q5o2+NXtUZ XgT7wKXthfXZaXsWvZ8llp9z/AWhGHYKINHUsSzrFaT5wUW6MOfMSTmsIqnzg3Tw gX142APOiVAxe6j9cLCt0kCmtPittv056/L+ywo9hBPAoms3qwB9mfC6fgMGHF/c TwmkEF3sXFbDaBymW9m+u8SPxMm72CenYhFjRiYRdjmlZe5IifD91Y1b5gqKDh5w == Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 442fx583fk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 09 Jan 2025 14:29:35 +0000 (GMT) Received: from m0353725.ppops.net (m0353725.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 509EHx87008711; Thu, 9 Jan 2025 14:29:35 GMT Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 442fx583ep-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 09 Jan 2025 14:29:34 +0000 (GMT) Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 509DvkfL027929; Thu, 9 Jan 2025 14:29:15 GMT Received: from smtprelay04.wdc07v.mail.ibm.com ([172.16.1.71]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 43yhhkd9c6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 09 Jan 2025 14:29:15 +0000 Received: from smtpav04.wdc07v.mail.ibm.com (smtpav04.wdc07v.mail.ibm.com [10.39.53.231]) by smtprelay04.wdc07v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 509ETEMn49938820 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 9 Jan 2025 14:29:15 GMT Received: from smtpav04.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id DDC3558056; Thu, 9 Jan 2025 14:29:14 +0000 (GMT) Received: from smtpav04.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 65DDF58045; Thu, 9 Jan 2025 14:29:11 +0000 (GMT) Received: from [9.109.245.146] (unknown [9.109.245.146]) by smtpav04.wdc07v.mail.ibm.com (Postfix) with ESMTP; Thu, 9 Jan 2025 14:29:11 +0000 (GMT) Message-ID: <1a384b0d-0548-4340-a664-dffe8fe4cbdc@linux.ibm.com> Date: Thu, 9 Jan 2025 19:59:10 +0530 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] mm/memory.c: Add return NUMA_NO_NODE in numa_migrate_check() when folio_nid() and numa_node_id() are the same. To: David Hildenbrand , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: Ritesh Harjani , Baolin Wang , "Aneesh Kumar K . V" , Matthew Wilcox , Zi Yan , Muchun Song References: <20250109064632.898260-1-donettom@linux.ibm.com> Content-Language: en-US From: Donet Tom In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 X-Proofpoint-GUID: auFNoWxJ8BdxPTYsNUmtFzrfBt-BuycR X-Proofpoint-ORIG-GUID: FdGadtJ24jv4vx59y_DH8K4PQrkvH_ou X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1051,Hydra:6.0.680,FMLib:17.12.62.30 definitions=2024-10-15_01,2024-10-11_01,2024-09-30_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 clxscore=1015 spamscore=0 suspectscore=0 impostorscore=0 phishscore=0 priorityscore=1501 mlxlogscore=935 bulkscore=0 lowpriorityscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2411120000 definitions=main-2501090116 X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 4E1FA1C001D X-Stat-Signature: 9bsftnjdt4haqpx6tu79n3qhjrbrobhq X-Rspam-User: X-HE-Tag: 1736432981-946255 X-HE-Meta: U2FsdGVkX1+uzRSiWeSZW/32K0mjTn1Ip1coTsormtTAQBWEHzw5R48IiQ4VYdWoi7z4bOL+B56s2Ml9DeS5EN7wTTZwk/kKdJ3Imhfap+NDRsxP59e3SLZ8zTj6wT8eOmEqo58h22SEpoTucOcl0cFc318/CivWxYAbEyZ0xV2H9+Llsu7m4WcI7IfnJp3azcjSsZJ0ldIWj8kvDloeOMfkK7xetRvOOD5WjWert1fzxOKMKU12zni/gvtSRvs8qDl2o/R1EyU/jojmW3HLRS7q7vWHidKw+qVyY8MHm1pf8MNIFoO6wgwy1Srz0Y0o8BREG3rIyKz6uaMLOP8espaRBJwX2bSbp9yNxF9+CXY84Hy3z/tfukpUsLTxpwDzR1G0t/hYIfV9K4dtcaMjFfvhrGkhrIYVoom8oepHl9vXMBIP/4rAzAezt6xpUNUdC0c8lgsadzzYREo5iLmJqtc272SqhycbJnXnT/WK429FeE+RdyZMkQmh74qGoekjYON0sMkuhoZhqLNhEoZoSOedMWpf+OSZEvlYSVN/KSJLRkiYu+BRFskskAiKZUBnlTZJnWLoE++2hjFboqJrFo3qzkM8fFvoa4wXsiwlKO4e431zFavld0GkauIZC7FN99Okv0zXm7h/BVp/pH6jPxW8G5L9VCX7i/i1guSkb1P7GoUT8waljVNa+zQhGLjTnpRllcI5pywqq6WkLWePL3ODz6f3qgpmPUhqz8ZeS9XTZO7oFwwXruogu9pWte6PD6vTwe+S6Ldk41JPyYni1wdzZiszHbGj7TZvQSWXCfjmyQiiljDqKcOPAbka8fEU3Bb5lJYAOyXQideZ4Yg/iyqSkd4NqykUlmaeHNr3G0J5lSvKbEtEeusowfgW/NCn6z2xSUbF9AI6vCq5Dat2sCSejdYe9TpXxLGX8Z9N186H2KUZ1jvX28alkuWYHdj8WGjx1tR122lqW0bjuVV jn7aL07J pKOuWiCZG+cQVK57WFMPLRk4jmJGfWzzKsAxvcwSd+A2SJhY57Y3rH5uObfSXc1ojZs+LgS6U0JFPMJQZVsNAH8jHpFZt5wMnNsFV4kXtAqF0tLhNwRkIIoNvK9QuOPtuF7v9O5tUgvkP3i8eRSAFnCb6wVqrm/HpjfOS2qhOp/3+QSUB9iXTaenBei+PuRFPbQ76iIQ2IBL1wun3M5i6k0AcY0JNnFG7a3aDD2Hq04yLU8977uuEoHIEfVWoTCt/GBUmUuQXEZNN++DPxiwRslq3kCEKtsMLhMzZ1ZNRzg6qSknI4dz4OmOlwdgxWK6xnKDzHcaAhj/2nb5X8rq3qSQ7yWhStCEk9vQkLyJZ9wEb4Nslm/6Pj+hRsCi7CEFXNjCGjKg9Ibi+r4DphKsSVlZbubkLuBxztsOvhaCI1ZdHZHgE5dS7pEg7uwZ+WoZKcC+DHN2Z3uVsUP1HM8nY8jKAXd7PIPEGB91izKYLUgmsOEM9MOYZT+g63QTT1XtHtnjMrPd6Jiin3TU= 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 1/9/25 18:43, David Hildenbrand wrote: > On 09.01.25 07:46, Donet Tom wrote: >> If the folio_nid() and numa_node_id() are the same, it indicates >> that the folio is already on the same node as the process. In >> this case, there's no need to migrate the pages. >> >> This patch adds return NUMA_NO_NODE in numa_migrate_check() when >> the folio_nid() and numa_node_id() match, preventing the function >> from executing the remaining code unnecessarily. >> >> Signed-off-by: Donet Tom >> --- >>   mm/memory.c | 1 + >>   1 file changed, 1 insertion(+) >> >> diff --git a/mm/memory.c b/mm/memory.c >> index 398c031be9ba..dfd89ff7f639 100644 >> --- a/mm/memory.c >> +++ b/mm/memory.c >> @@ -5509,6 +5509,7 @@ int numa_migrate_check(struct folio *folio, >> struct vm_fault *vmf, >>       if (folio_nid(folio) == numa_node_id()) { >>           count_vm_numa_event(NUMA_HINT_FAULTS_LOCAL); >>           *flags |= TNF_FAULT_LOCAL; >> +        return NUMA_NO_NODE; > > Doesn't this just mean that it is a local fault, but not necessarily > that we don't want to migrate that folio? > > mpol_misplaced states: "check whether current folio node is valid in > policy" > > Could we have a different policy set that does not indicate the local > node as the target node? > > Note how mpol_misplaced() obtains the target node to the do > > > int curnid = folio_nid(folio); > ... > int polnid = NUMA_NO_NODE; > int ret = NUMA_NO_NODE > > ... detect polnid > > if (curnid != polnid) >     ret = polnid; > ... > return ret; > > > So mpol_misplaced() will return "NUMA_NO_NODE" if already on the > correct target node. Thank you, David. I understood my patch is wrong. I have a small question: Page access latency is lower when the folio is on the same NUMA node as the process. However, if the policy node is set to a different NUMA node and the MPOL_F_MORON flag is not set, we migrate the page to the policy node, thereby increasing access latency.  Could this have an impact on performance? What benefits do we gain from this?