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 C7C7FC369D3 for ; Thu, 24 Apr 2025 02:45:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5A6716B000D; Wed, 23 Apr 2025 22:45:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4B5936B000E; Wed, 23 Apr 2025 22:45:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 294BA6B0010; Wed, 23 Apr 2025 22:45:44 -0400 (EDT) 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 06FE16B000D for ; Wed, 23 Apr 2025 22:45:44 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 58B345F544 for ; Thu, 24 Apr 2025 02:45:44 +0000 (UTC) X-FDA: 83367397008.22.EB6CF95 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf22.hostedemail.com (Postfix) with ESMTP id 52AEDC0002 for ; Thu, 24 Apr 2025 02:45:42 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=cHOotX4i; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf22.hostedemail.com: domain of libo.chen@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=libo.chen@oracle.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745462742; a=rsa-sha256; cv=none; b=D3WAumdffZum8eRS7kiBHZxvaMJGN1UFPX376s/I4QxZ6R6hf6V/L8egA8r5bSENGXkRay 98Bs/CkNCx0g7rdF4b/cgLXBclG6yS968gpl4NcS01q7wSncMECoAvKqNCTLv9KSfW6jXL shJDaPYbVcZaoDvIMj8fvav6Bw3PfoA= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=cHOotX4i; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf22.hostedemail.com: domain of libo.chen@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=libo.chen@oracle.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745462742; 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=pokXBCX5Ded9Lnz+unOijz8gr7rZOR1qtecYySzC12Y=; b=1N/P2GId++s/RI6wkC1ALcu4/jZevlo4AG20crSyssrSm/DQZZynZeDuOg1btEZuQGNuTN EVetPUtRjSm+4XwYWKgILjuyLfeDshoOTzsSoEfX3qrXG1p5VAeKdP/+BbZUc5ThjOPJ01 YbIGcyfdrrgwY+k3078JO3zO6vdgNnE= Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53NLNBPF014981; Thu, 24 Apr 2025 02:45:31 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=corp-2023-11-20; bh=pokXB CX5Ded9Lnz+unOijz8gr7rZOR1qtecYySzC12Y=; b=cHOotX4i+/1nJPgKroPJ3 xb48u1cYS3R5NeZ+XxzCBNBoMJJEoWF/A4W9nt0/oSDILU2cWPkuW80T0HuNj3GN 8+fdIK7sBm4rhSzU43wPeI4EUtd+AXxTUa3g8BItYp0yRv9+MHMegW2cpDCnKYEF q44/zoKjhoWSlb0UnQ74jt8b8yyUVuIeBGroABXHCBhzlSfS+2L+24zhe8GR0Cbp Dia/lVpb8KKBN5VHVCl868B1G3BxBhWKA2KvuorhmGYIVYSWSpvyCmjX8AuyDbae iNHACVxIpvxljYrzAHzMIeyUHrdoLK/zZQMB73lmu8xVTb5zyAcG61l1c1EkHdiv A== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 466jhdjuxv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 24 Apr 2025 02:45:30 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 53O1USYA028195; Thu, 24 Apr 2025 02:45:30 GMT Received: from pps.reinject (localhost [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 466jx6xs0j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 24 Apr 2025 02:45:29 +0000 Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 53O2jQBH033048; Thu, 24 Apr 2025 02:45:29 GMT Received: from clb-2-bm-ad2.osdevelopmeniad.oraclevcn.com (clb-2-bm-ad2.allregionaliads.osdevelopmeniad.oraclevcn.com [100.100.254.172]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTP id 466jx6xrxs-2; Thu, 24 Apr 2025 02:45:29 +0000 From: Libo Chen To: akpm@linux-foundation.org, rostedt@goodmis.org, peterz@infradead.org, mgorman@suse.de, mingo@redhat.com, juri.lelli@redhat.com, vincent.guittot@linaro.org, tj@kernel.org, llong@redhat.com Cc: sraithal@amd.com, venkat88@linux.ibm.com, kprateek.nayak@amd.com, raghavendra.kt@amd.com, yu.c.chen@intel.com, tim.c.chen@intel.com, vineethr@linux.ibm.com, chris.hyser@oracle.com, daniel.m.jordan@oracle.com, lorenzo.stoakes@oracle.com, mkoutny@suse.com, linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v5 1/2] sched/numa: Skip VMA scanning on memory pinned to one NUMA node via cpuset.mems Date: Wed, 23 Apr 2025 19:45:22 -0700 Message-ID: <20250424024523.2298272-2-libo.chen@oracle.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250424024523.2298272-1-libo.chen@oracle.com> References: <20250424024523.2298272-1-libo.chen@oracle.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.680,FMLib:17.12.80.40 definitions=2025-04-24_01,2025-04-22_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 malwarescore=0 phishscore=0 suspectscore=0 mlxlogscore=999 adultscore=0 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2504070000 definitions=main-2504240015 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNDI0MDAxNSBTYWx0ZWRfX/7I4T7Soeja9 2p3LGOEagnXQCIiGZaHZXOHwRdjoTYWCt2hQGQ7C9/efi+15rPylAPUVP3fMf7X+rtAy/YtlOtr CgPd1zJ4UtcghHMAJwgZRNnW2224VviyjAPro/5x6TLP+LHrY9Oby/RrYqmenkA+i3I+Q8Mk/Xk 6DukNzxROzM21a9hF5lKTblMRFmI8pSUlcnYxvJooydjEylwp21EL+a2KHyLKLW8b+BqaVg33vT NR0P6HAQCcqI0r88r8fPiGLEnncOv/hCdh0i2r3ojGTZq1nhanc7/905xhvKdLJS8AdN9ITaI9q aOVxIq0O6sQmteHgBYxom0l+rFpYWucgkhED+4DtMTPNtOmxtQ0Ph08doH8cYrHgwbRPQmK69U/ kcxBSfHB X-Proofpoint-ORIG-GUID: CIIDRKJUiTeV3GCHxneGef8f3ZwrMuXL X-Proofpoint-GUID: CIIDRKJUiTeV3GCHxneGef8f3ZwrMuXL X-Rspam-User: X-Rspamd-Queue-Id: 52AEDC0002 X-Rspamd-Server: rspam04 X-Stat-Signature: f4419swcsmicaq4fdehd6adjf6jfao63 X-HE-Tag: 1745462742-285952 X-HE-Meta: U2FsdGVkX1+ZfC6KADDQZElirhmxznCOUYQQW1w+K+XeQhMkMC5kSEZZbNOxNN9Aq36XggBIgZlASF9qD4OqcLwGKSdHoka6gEnKzpR1vBpOQbSdTDj9oY7yOwgNdQeDf8zSCtK6v0ajy+udCH+S9sD1r7k7aejkj6iZ8iEXiPM9/TL9ywpm4PFe0CEH8ru68ymy5+ctyzDjVYlS246HrmYS41otnXGJ91LRkRNb5ZSxlVrmaIreDXFdtJubHKTxcNYDGcMjVrz6KqRwGsvMRnffsbEntnL0wXdYh0g1o39qUecsOsC34yqk4Aq0KlXMXoRzcAyocIfOTc6I2EaXvOLXK+1cNzdQV0ZPSOJeKUnsNXeFVnw1tb77ztQ13KN5dHKySs0e6RTsxbojWv5QYVUNXhMzjo4TpKC2grGP7oSzsCx3xLydmN8p477jlA1tuLh6g26w00ojWtVruMnKOYvycpYSfrVuXzwytFqu5Takv+t1wbBrUHR3shAsHRS7fbo/3KY6pvNCtroIkvLbUKVm0CHLuJ28de0lyb57ThIcolcVXqCtP6kkhqUlkz5ZUdr3zvIBqp6ZgOYROsH1hnyDtd2zYA4G/FD1YnZel14cBbuF55qywNAtq1Vp1YG5k1aEzo0l6jHVmytlll4s6uQHcxlCQ0+Ml+3+EEOI0gm/ISxqhBybhKCUR/UtERvYMK9d0xsjCjAEJJX+4sWv0kfeHgLycyLcfgkcL75cWBsV2dwYLVigARMU/WwnAZ2aYrnIilksutAABZm/BFYmTBsf9PYwGLC6iMTIjxE4nCJmh/UAP0VQLRIEM9hd7Ts4dgD80cfFmZLFwo8lWKIVCiKPLqRcyND8kkcKKZrZarpb6zUtVu0IwS9eT4KLWnvSaYapd/i9WVbNZKR5ZqvA5eZXdjQSPLPbnSdqBoAzLVlGJccznxZx1RYA4HBTlNLBQIscFgcIKgv8RBIpbDL OPDjGDXN kaqlz8LZBeFenvUuuXJsTtsvu0j/AP5Fxky3XOREGiv1MjYSvAq3Yf+5FMEboVb20+Zjs9UPJ1cjXrKkL2+kYbSFdSiTaMVh6f6Emzz4YWtGeM2s6Xj9Y/MhO+VwznZ5Gwo4Rkd0PihGgs5f6mOXMwTduMXF+dDzGMN/IaEf87oxb3XPaLVK3E1+uFEYnvBG0AbSZNmQw148uZxyRefTXxr4D+FYasmr1iOvi8AdlZakm1mFm3biKiYuKyLa/wIepPmaQICmheYRN58A= 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: When the memory of the current task is pinned to one NUMA node by cgroup, there is no point in continuing the rest of VMA scanning and hinting page faults as they will just be overhead. With this change, there will be no more unnecessary PTE updates or page faults in this scenario. We have seen up to a 6x improvement on a typical java workload running on VMs with memory and CPU pinned to one NUMA node via cpuset in a two-socket AARCH64 system. With the same pinning, on a 18-cores-per-socket Intel platform, we have seen 20% improvment in a microbench that creates a 30-vCPU selftest KVM guest with 4GB memory, where each vCPU reads 4KB pages in a fixed number of loops. Signed-off-by: Libo Chen Tested-by: Chen Yu --- kernel/sched/fair.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index e43993a4e580..c9903b1b3948 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -3329,6 +3329,13 @@ static void task_numa_work(struct callback_head *work) if (p->flags & PF_EXITING) return; + /* + * Memory is pinned to only one NUMA node via cpuset.mems, naturally + * no page can be migrated. + */ + if (cpusets_enabled() && nodes_weight(cpuset_current_mems_allowed) == 1) + return; + if (!mm->numa_next_scan) { mm->numa_next_scan = now + msecs_to_jiffies(sysctl_numa_balancing_scan_delay); -- 2.43.5