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 D347EC71136 for ; Mon, 16 Jun 2025 13:41:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 64F8B6B0099; Mon, 16 Jun 2025 09:41:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 600026B00BC; Mon, 16 Jun 2025 09:41:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4A0576B00BD; Mon, 16 Jun 2025 09:41:39 -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 34EC86B0099 for ; Mon, 16 Jun 2025 09:41:39 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 50C841403DF for ; Mon, 16 Jun 2025 13:41:37 +0000 (UTC) X-FDA: 83561376234.18.014BEBB Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2073.outbound.protection.outlook.com [40.107.243.73]) by imf14.hostedemail.com (Postfix) with ESMTP id 62A50100005 for ; Mon, 16 Jun 2025 13:41:34 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=amd.com header.s=selector1 header.b=GlIMHcFu; dmarc=pass (policy=quarantine) header.from=amd.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf14.hostedemail.com: domain of bharata@amd.com designates 40.107.243.73 as permitted sender) smtp.mailfrom=bharata@amd.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1750081294; a=rsa-sha256; cv=pass; b=XTWuvXA2+2l8bG5kROA2ZSJPJQofxYXkZ2GVazhq7DzBUQN4YCUl4y1UILjBAJb8jLieNw pACpu00HQCP7Ms1UKFE5CTME96tzuiZRpSltJzoeWsABlS0DJo1xYWCSLCL4dEGwaPe/TX IrHHxXL1ujJv611JfAJF6MfmVpcFkK0= ARC-Authentication-Results: i=2; imf14.hostedemail.com; dkim=pass header.d=amd.com header.s=selector1 header.b=GlIMHcFu; dmarc=pass (policy=quarantine) header.from=amd.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf14.hostedemail.com: domain of bharata@amd.com designates 40.107.243.73 as permitted sender) smtp.mailfrom=bharata@amd.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750081294; 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=+3mRDONsPzMAFm4HU0KG9nvAO3KOHoNDJdu04HTTc+w=; b=5KaRrdEnQ40EOl9fpnJLsShGa2+QW5SnXMxrOMVFEgnlWcEvPYlHV18lXFeSG6m0C+llKa 3Q4gWBoJV+e+Ul/tKDxd8ewtYGoYBZQticGh7Vu7hhvIktnNTnNRp2uJSL4VJe2ZLA9OFb cOs46AGx/BRUk19don2CVVc5PpdS0Q4= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=e69pim68Be+DpRkw9IPxs+ZBMPDqt8fkxIu8wHeSzvVoIwD18WHHL7r6ToyAHLsculIjAyBvG+23ZN/6IfPIh+oaKhqWLLJ5hEPqbWv2OPDnlfil2i7VpIvC8wZpqvFBQevLEXrq+XLC8hCSKcUHh87XLPTu7H0OZfUDjlKlcU4OzQrnC2dDCwE9wgJ6ui7hd3Bkw4ZARexpkQ51LzVrU3zpfXdU2PTr+IqaaZ07jEwikfDhAya3U0mQm9Bk7Fd4JVIJnZD9ql7E6F5RoYwkokL7QxL2OUa8FxHaZmmLhHBLhX6vyeLj21Y5m6+3qGBiz/4EnR5xy4mNidME4FBVFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=+3mRDONsPzMAFm4HU0KG9nvAO3KOHoNDJdu04HTTc+w=; b=xKXueX640sGRyeW8Ta2lqRIAjSXnLC15mvgsdd4ao626D//v5RknUkbdwMTjk7creT9xG5DxP/2h0ZM3ZCAK+sJTw8gfSK5iSPOHrwvulNEzrZF2dDK5Tkl4zKn8L5t38D0Q15hD8P27rXckEPLS//UqcDFOt5f51rOlgu3Wj02F68DmgBbIOb1xQzfIeim1Vr5TK2LIuD1wiNKJw2W6fwRGEOKxAbTMGJDDv5GItAMBjDts1h3a+i+RinjBWFaH/t40wyI4YhKZQT/AimjKHg0Gg7AO2PL0LU3+U88lyG1TFf7ibe1m3WHcCfTli69o7uL/MxelLvL5g6robowJMw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+3mRDONsPzMAFm4HU0KG9nvAO3KOHoNDJdu04HTTc+w=; b=GlIMHcFuXS92a25bK8eYICie/GFamP6p5Xk9jXeTEclAFMXYGVu8s4bvzvnm8argts5w6gCLAkZg0pnrhLHEAu1K+R/ZM7MI8QF9L3oQRWW7DyH3gZQYTl9AUMCgseykKbx0YEF/yUNN5Aji7YZrGD1OytC4t4OfGOUt5zfw9OE= Received: from DS7PR06CA0037.namprd06.prod.outlook.com (2603:10b6:8:54::12) by CY5PR12MB6251.namprd12.prod.outlook.com (2603:10b6:930:21::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8835.29; Mon, 16 Jun 2025 13:41:29 +0000 Received: from DS3PEPF000099D5.namprd04.prod.outlook.com (2603:10b6:8:54:cafe::8) by DS7PR06CA0037.outlook.office365.com (2603:10b6:8:54::12) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8835.23 via Frontend Transport; Mon, 16 Jun 2025 13:41:29 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by DS3PEPF000099D5.mail.protection.outlook.com (10.167.17.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8835.15 via Frontend Transport; Mon, 16 Jun 2025 13:41:29 +0000 Received: from BLR-L-BHARARAO.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 16 Jun 2025 08:41:23 -0500 From: Bharata B Rao To: , CC: , , , , , , , , , , , , , , , , , , , , , Subject: [RFC PATCH v1 4/4] mm: sched: Batch-migrate misplaced pages Date: Mon, 16 Jun 2025 19:09:31 +0530 Message-ID: <20250616133931.206626-5-bharata@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250616133931.206626-1-bharata@amd.com> References: <20250616133931.206626-1-bharata@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS3PEPF000099D5:EE_|CY5PR12MB6251:EE_ X-MS-Office365-Filtering-Correlation-Id: 78af2e06-514f-43ed-b895-08ddacdb7fa2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?qpchGhN6M/I4N0YfeTBpFyHY6svamUmMd9PDg1Vexes47YDLUG8NqNpCu5et?= =?us-ascii?Q?Hkk0JalVD869aTndUOcZMHKsjKEo3p1J7nahn9NwD2a/BIPRMyYWgeG8wvAP?= =?us-ascii?Q?jEZeMpEy1tCcT0eWINZNWdiHmjlF9kOE9tQP6/DNviSLfIHVhx5GY7Dmh5B3?= =?us-ascii?Q?J8gNs6tVzYxo1NLPAFSqIHmEydPb+du5+X9JlGBM71qbIhJoYGWjlD7HnQsi?= =?us-ascii?Q?gk1csZudZkVXgY49fQZ4TUYnv8rC/9aWydNiPKGdy6+JUUp7eAD0zUkZUFHV?= =?us-ascii?Q?Nkxjx54Dc5bai+Ro3zcD5/VWD5T+HPa8L6r5/EeTvOLEW/AYuVmJf8WhqkDU?= =?us-ascii?Q?nL9YqFjAiUHr1Y6WwRyIkNqhniHJuJD+tRqcTrTWwh2dGgZFVDY59snrzQbo?= =?us-ascii?Q?QQrQ0NHgAyjd9gU6Th8D85r0YU+VYGQxfbKXsUyHvEGiBbtFhnc8B/NsrSj2?= =?us-ascii?Q?ViZ3BJRrrrwGDI89+j0N/X8QhLOpvoYtQZhKucW5ugS4fBAMl1AkjNLrmu6B?= =?us-ascii?Q?4y4lilr1sastLXJaVhRVRyx7qZcKhxTCCvhuPy7Ykxyc3xLZMvdAlxFN+lj4?= =?us-ascii?Q?V3bm4p0JQRgiuRNLPv0KXJKiqAEIg/v9BDu2/p5wA5ROm+dKrOD47BhebNCR?= =?us-ascii?Q?F/FHHAz/kjT3wWGj8lWZ97Xftu59l4mTZo9xflsrNWiwSiOqAfRVglV+qLzF?= =?us-ascii?Q?I5JIsZXbK1RZH8eFO3i4l8CgWCfdRbRlz7cEJDAiHeKbwkeJkLLtkoNvuYg7?= =?us-ascii?Q?XKce4mQUfE3mImTihi5gG98W2XtMggkrGXBBovueF+4EZvj3qYt2Tb2PqSIQ?= =?us-ascii?Q?XnE02kVkBBzv83lYe3X0PaeVrpZrKV8txN+OL9HAINEViYM0RHjYuNrpjwlQ?= =?us-ascii?Q?Nl7zlCPQPyhchUUCJLxSUApomUV5j0wYLuR6ygvkJQaWT9NpBFsbNmwks100?= =?us-ascii?Q?+jky9JODoJOcmRQ3le0U9xd9K9g2ujrY4U7pTYr29fVXdBPpp2SWKkcJ+FV2?= =?us-ascii?Q?t8Z+kNqv8D7WxpdY4kWX859TvlnIvQZU+Ls1jhG2Qz6548ypWfVppLFv+sbN?= =?us-ascii?Q?Gap/LLtZ+40rmFuOtmYtt8xid6lRMfdvgvai20aXcOsSOYmiJLYUecioXFft?= =?us-ascii?Q?ZkBvqgIXbf7guIUm5kBiXO54LwcU1xDsM36xcv3wI7Oh30JZeylsF2U47iNM?= =?us-ascii?Q?LlApYA9fNKjxpKZPMRiqvZD4iAN1NJHi818xU4RUkrotXMhoiEIRcDvmZC27?= =?us-ascii?Q?YiUiutYYYOSk35YbcL25GYl/P6wYE5UriAT+a0yPqIilWjwQUO4AHWF3oa6W?= =?us-ascii?Q?Mfjzwxv4kNHhuzs/RDF2G/pQkCiuI+Z6IWZQH2LNImucBE+O4SmBkzK4fpkQ?= =?us-ascii?Q?Y/3EUwQ8uNeZ5duqq1SqlXhXL634/lo9a8o/V/SaplAyVOTMihjzWyCF17l0?= =?us-ascii?Q?j7ExTOL6NVWJpikX9ndIZ/MhHAb1IdkWSpUJE2cGIpYbuk/1rueFKn+mMSa4?= =?us-ascii?Q?e9i2JsAvbPohYwmB4Eiglh+ZV/BAnsKiuHko?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014)(7416014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2025 13:41:29.4861 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 78af2e06-514f-43ed-b895-08ddacdb7fa2 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DS3PEPF000099D5.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6251 X-Rspamd-Server: rspam01 X-Stat-Signature: xyahgicu16xqzbwzf3gzr5e7z6gayrqc X-Rspamd-Queue-Id: 62A50100005 X-Rspam-User: X-HE-Tag: 1750081294-758364 X-HE-Meta: U2FsdGVkX1/UusMFBvDhhWQomeiy8VevodpTJdIRwt1krsQ6wOzGaKQ5u/bRu7/lUtcXHURgABvsJ+w3U0gbEFIsQue5ciSN4u9GRXlTBmbdZF11KwVKfiRbCx2DNhNDeYtKLgx1MIqIDrC1ACoCL07pftxuWeS4lBSmrwZ90zdrUp+LsdOjM8d6CXumT3e0B2pjOa3dceuRb80rrqzo2BetNh60avk1j1rw6/1L1c/Nrc9Vpc0+Kdjk+a2G4a8S5lKFyTuQTLt09XPCulHxtw2PX/QL2qizz2UZzVgv2tXWXHESi9xWOvcS2aGiLLkPmSh5NLX9YuLY65aGo7Vqaf5XzU+JQkVyAewGOVeeXwO+63vt3lcQT4aSIh7udLltkZaHsWW6PfZzLKvPITNdAtk2ltZ5ZBDrM9Rg3Yn7ShCI+oX6+YHNn4xcvu2KilTW/gnmpuq9ytXzwcMVoR9lYgpagDQTF9vb9ryHXT98QuV/w5KwFzxmen+twHsSlr1NW819EomojjiYnKcokm6WV8d9bNjYpGwrBUTJRPylSoM5CB66GZpZyP4mZfrsMhyC2oj4OaiyChQQZiqTkywgRHd/dVXrAB+YRwuzXXO5C1xTioj6yo/LbS/xSmG4fOdtvUehCVtYm3ZHunZEc7RSYOvfHyMgu3b2fHPFEUKXyjnoBfY+UiHwvRDzHrJ5y+yoFgg8wE4pRmxMwLfDgw6QBtF8pzMhfhYZqGYMWfr438958cSqA2VT9QDuQeOYPe+fR39b+EwU1u2wijYk3YrXn+N1uwkykDYKQeg/XyDRL8bnoZiixsv/J0a3wJ570XmP7Zh2hvc6xBmPH09yecuKVN5av4DupNYpSlfEv4Af3i64Qt87FHHo69fKZbjgihOxYTjKW3Q/mavS5ks/IMsEQXiDpSSFb1z7hUJ+9YyHidq490ed0JtZxXv+oBs8QfekdXgqDS1xiN57lQqq3IY wfk1qBWR NeZCTZsDFWomAqr2NCyN4pp+qduCaNbU86+vSY5rT1tvqFRGHu97eaTXZfmBOQ5HSsomChdD+lodUEB1MzppKOpruadY015CQgnmleuXTVIZbbAnqtDdgNvx13k/a1Gd8enF4BXCls0biFhl1t3C1eh1AIeSl5R8gn0Kbs8ueRJwnOoB8+eGbALiY9CmQXJefSOITHUqz6Wpwm8MSKV2ZYXTT0FnH43YRbS8OWtfMaufzsk4nLRoxVlharQ7qShlnkjqD5hzLtfC030c1gHlm9cLSxtb5Xz7SeYBmsZ27znYNF+7ZQSYkVfFKOfIPYZXmEKc19L2OuDfxWKek0nZOdk5jsABk1bzQN15H/ugIVlCKPxsZLfEODF9cWfe/o0iJnGxdxi/vMROg6y3DLxUis6zKyFyWr6YWB1ySyaAqs1dFU4v2C5X03P0fFJWfokYnOggmHhqIjwFNfnhuvMkRihjvozD4+N7EMNFrvTBbM1XWAMgiserCEX5h39CsVTPJIbzzsVnG1IUidtmkmp9aTpIv5P9PAsLtsvV9f8OarziKQpaLHv0FS4wvLJVrczkbXggJmvv0ioAR1WubAs0w03GC3HagIpAZnVncB++8xJ+JN8YqgL12P2scnApsR+gkQSgNErpHEdyOCA9kYH24qrbq6KPw2YPUoooz 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: Currently the folios identified as misplaced by the NUMA balancing sub-system are migrated one by one from the NUMA hint fault handler as and when they are identified as misplaced. Instead of such singe folio migrations, batch them and migrate them at once. This is achieved by passing on the information about misplaced folio to kmigrated which will batch and migrate the folios. The failed migration count isn't fed back to the scan period update heuristics currently. Signed-off-by: Bharata B Rao --- mm/memory.c | 30 +++++------------------------- 1 file changed, 5 insertions(+), 25 deletions(-) diff --git a/mm/memory.c b/mm/memory.c index 8eba595056fe..b27054f6b4d5 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -5903,32 +5903,10 @@ static vm_fault_t do_numa_page(struct vm_fault *vmf) writable, &last_cpupid); if (target_nid == NUMA_NO_NODE) goto out_map; - if (migrate_misplaced_folio_prepare(folio, vma, target_nid)) { - flags |= TNF_MIGRATE_FAIL; - goto out_map; - } - /* The folio is isolated and isolation code holds a folio reference. */ - pte_unmap_unlock(vmf->pte, vmf->ptl); + writable = false; ignore_writable = true; - - /* Migrate to the requested node */ - if (!migrate_misplaced_folio(folio, target_nid)) { - nid = target_nid; - flags |= TNF_MIGRATED; - task_numa_fault(last_cpupid, nid, nr_pages, flags); - return 0; - } - - flags |= TNF_MIGRATE_FAIL; - vmf->pte = pte_offset_map_lock(vma->vm_mm, vmf->pmd, - vmf->address, &vmf->ptl); - if (unlikely(!vmf->pte)) - return 0; - if (unlikely(!pte_same(ptep_get(vmf->pte), vmf->orig_pte))) { - pte_unmap_unlock(vmf->pte, vmf->ptl); - return 0; - } + nid = target_nid; out_map: /* * Make it present again, depending on how arch implements @@ -5942,8 +5920,10 @@ static vm_fault_t do_numa_page(struct vm_fault *vmf) writable); pte_unmap_unlock(vmf->pte, vmf->ptl); - if (nid != NUMA_NO_NODE) + if (nid != NUMA_NO_NODE) { + kmigrated_add_pfn(folio_pfn(folio), nid); task_numa_fault(last_cpupid, nid, nr_pages, flags); + } return 0; } -- 2.34.1