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]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 681C0C88E72 for ; Thu, 17 Sep 2026 17:49:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4D7906B008A; Thu, 17 Sep 2026 13:49:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4492E6B008C; Thu, 17 Sep 2026 13:49:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 338A26B0092; Thu, 17 Sep 2026 13:49:23 -0400 (EDT) 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 11BE26B008A for ; Thu, 17 Sep 2026 13:49:23 -0400 (EDT) Received: from smtpin11.hostedemail.com (lb01a-stub [10.200.18.249]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 87A61C0404 for ; Thu, 17 Sep 2026 17:49:22 +0000 (UTC) X-FDA: 85223990964.11.4529E81 Received: from BYAPR05CU005.outbound.protection.outlook.com (mail-westusazon11010009.outbound.protection.outlook.com [52.101.85.9]) by imf16.hostedemail.com (Postfix) with ESMTP id 7ADD818000D for ; Thu, 17 Sep 2026 17:49:19 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=uH2kgrbD; spf=pass (imf16.hostedemail.com: domain of ziy@nvidia.com designates 52.101.85.9 as permitted sender) smtp.mailfrom=ziy@nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); dmarc=pass (policy=reject) header.from=nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1789667359; 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=dyKBzB7EXBQhz1eW5bQ7J+ZiLg6/sI2nMu8MiGCsZeM=; b=OppstN5EojfBrT4H7Uth23w/QqdC4cvBbRYUl7yrqwWPDVfNtNNHgLgMCAZyqCrBQ4wAFx GrnE+Zalww4urHk5FBz+lCpW8Hm3YHXaDTb67Im4+FpUBnYl8fWJF7M1YeQhJm6JoYkS2e cTkEMXAK40UeKRiolp7hLlwlPF+x7/o= ARC-Seal: i=2; a=rsa-sha256; d=hostedemail.com; s=arc-20220608; cv=pass; t=1789667359; b=an4IiYcZzwY1iVy8uaZKYSQs/myp6uyfFidJzj+SI7yN4tmYRKzW38ktnztM8YvB8CdfjI XJndj5gGF5CltAOnACZhjnrzhhYpFKNpR75fD5w2btTPV24Iw7qQntjJwrvFDgK8N5j2vr hJVUvtvZjPnZKu2Tl4uJRbpwTjhKH7k= ARC-Authentication-Results: i=2; imf16.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=uH2kgrbD; spf=pass (imf16.hostedemail.com: domain of ziy@nvidia.com designates 52.101.85.9 as permitted sender) smtp.mailfrom=ziy@nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); dmarc=pass (policy=reject) header.from=nvidia.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=U4SO/Wb9B7gaPRazQZuKBzfOUcz4DUeEkx3UJWOac3g167vZrtvd3uP12eHl/Cydw2CkEkoqQ7aAg9PojfZBVqmUYLtDis8GcKkmde0Rh0YeddDUnAlyPiIbORTo6ZpZuUX7l7dXwBi5n3P1KjaXcyQZ80BmjV605icvqNE64HuPjRNq6FcugvprkHsOj8hHaai2G31bLsUybqAFYeAkVzVRm75Rrze8H7yovNgdIkuNzxWa2RoXLVYGW061CECDsD/5LIzIfDN5D0x0cElFFbxtTH6B8oLGUcalYt3iQK/F49pKHDOIrWuZ/fgJX/PeEyd0asVXW++QTP1pfADPqw== 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=dyKBzB7EXBQhz1eW5bQ7J+ZiLg6/sI2nMu8MiGCsZeM=; b=Ny7/HpB3wO9f6T5Kqy8cp4dwybHBlomfo+VWgXf2MSt1LQG2PXxmMTIoSgEIJJfGsl+rdtNsQhpOJQGufbYNotS/8cI99LeX/FQGtKboF4uM1cB/C8VFxE1F60OXiMcXQ5U0O6Q3R1h41yeQdaFP4PqTkt8UtSXFvEVZQwWNVJOOsNJhMSOAHX28CmlyeOr4jTKFcl29EclY0EhxmLDmsrWDrXPCsrkPigOYwQ2+Iw66Hzr/oWXTdxGBRr74fZiXkVJdtUj0i17MBb3XZaoaCDgDMYHx/CioX00SkD3INZe4UigztySqiFFPpXk6rF4kkzhLVK8Dv3n+c+SwDRVjbQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dyKBzB7EXBQhz1eW5bQ7J+ZiLg6/sI2nMu8MiGCsZeM=; b=uH2kgrbDmps5imGN3tbzhY+hjHFu4/Vqi9l61RroURjHlhs4Dnk5Oqy84ECgEBm0Wu7sAeW4OU3n9saHw1UW2Kwctw0lUMEnZCDCUK/XCDkeoBhRgp9PFHflVDtdvUau7unobFVHAu260zRAztK9YJhIF75i/1wUUuKEq8P32w3r26Z1sGHQe0KUE3gp4Ysc+6ytHKR+6tNmUMY53hjXQhOBTBK6kRP/GKcoffPN/MOnuZp50PIomCdiWZiA/bE/Zk2FhP9fnjaaCwcaAAGFYH+t3gu6ieFtFmAE+RLKpAY2PV9xmhgxRxE5tKhL+UKYurUsi//k8WKBA3eHmFs+qw== Received: from IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) by MN2PR12MB4336.namprd12.prod.outlook.com (2603:10b6:208:1df::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.13; Thu, 17 Sep 2026 17:49:13 +0000 Received: from IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16]) by IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16%6]) with mapi id 15.21.0428.011; Thu, 17 Sep 2026 17:49:12 +0000 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Thu, 17 Sep 2026 13:49:05 -0400 Message-Id: Subject: Re: [PATCH v2 2/4] mm: allow shared folios to be promoted to a fast tier Cc: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , To: "Gregory Price" , From: "Zi Yan" X-Mailer: aerc 0.22.0 References: <20260911001826.2109390-1-gourry@gourry.net> <20260911001826.2109390-3-gourry@gourry.net> In-Reply-To: <20260911001826.2109390-3-gourry@gourry.net> X-ClientProxiedBy: YQBPR0101CA0084.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:4::17) To IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA0PR12MB8374:EE_|MN2PR12MB4336:EE_ X-MS-Office365-Filtering-Correlation-Id: 413f4f1c-4cb9-4576-641a-08df14e3fbbb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|366016|23010399003|18002099003|22082099003|6133799003|3023799007|10067099003|11063799006|56012099006|4143699003; X-Microsoft-Antispam-Message-Info: QBwW7OoWt4ix/OWkXzbLNEihAfxjhHiHjEnpgxHZHnEjnfOzm8RCWaaLlV4nan62Bfjt/cMx9Hy3Kz0CEiSU0k2pLOoGLJhgWvzbUMR7hmfgMAeG972Ad1gB+V6VLWKblZvzRO/Zd7ghy9yMsZ+SNH2exU2mzyId60/aqUR3Y9PCFLft2C4/KTiVq3180AEc42D/Y9yLt228IqV6k5dT/zSR8VL8ZAeEIaVUGKYoErx+q0ahILt2z62TVOO/PpiqAliM+LNTHKGAPMxFOHbIMJqnQ7vKaN+lVu9Y5/ajXOSWKbobDl0a0MLjyylP5jSa8pfV5gZug2MmegFjhEGg0qEF4CAFSI9wUMRVbZI0uW4Ym7lNMYpIuCvh7ju27GcY5AEj42YmFSMjxE8Jj8fKoXHh94TBlBzniD4DDMSCXItXzPtjveyvX3sNa8hA0QFeGdIgV7gcol3FQtWzgpznDIRrz8UeUrjZU2pRQKSUG9mzUwCGWMgWVrIzFgIiRr2wiM+rVCHs+9UBKq4UWtMqS1rNy09GVIE03fqaw8TWMYz54r0HTR//I/spC0LJQxGmXO4EvkQ+6Fje0+/deZ1nrG2RUcxiUB8ytkzAAxQ0g//YV/ChrscfklUfQH1+gCs+AjRkr5wFq+/XTk8m7uva0PT/ghQDdbf9Xi+HU+lWP2k= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA0PR12MB8374.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(366016)(23010399003)(18002099003)(22082099003)(6133799003)(3023799007)(10067099003)(11063799006)(56012099006)(4143699003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VmVoendiMFVHTElpWDlVZHFoMEsyb05tVDF1Wll1em5BY2pPajRBZzJJQmM4?= =?utf-8?B?VldzOFNnVlVpRVFqbTFHS3lpSGswUy8vblFKMEY5Mm12VE9GRG95dmt0eG1W?= =?utf-8?B?L2lRcTdHdFdrRFlSbktHNDVNYlZTSzNmV3JpdHdxUkpNNHk2dnZXbkN2S1Rj?= =?utf-8?B?aHdQK0ZrOEg0SnVyK21nRklpT0JmVHZPeVFWaU90dHZkNlRzSkgzeEpnVzg0?= =?utf-8?B?clRpZFIzMzBVM3YyVGdRbXdQNkV1ckM4Q1M3am5NWDBVWmozTEVSMktyOEhr?= =?utf-8?B?VzJ6YU11Z2ZEL08rNVlJSTl3Z00zQlhZazlRNHRFVHg4UUpEcG00RmhHbUE1?= =?utf-8?B?YTZHVHBOSmo0UmxRTWlraHYvNGRIRHdEajdSb2xSQTVQbko4WGR6RXE3UWYw?= =?utf-8?B?UTRyTW1idVI1UmtwY3VwTTJtazlldnFPVFhFYXlFYmRZdnpOc1J0NVB3cW1l?= =?utf-8?B?ck1HbDhzMk1kMG81aVFJc1hza053SkNvZW5jSG44WjE5aW1QeFNudWdJbHlq?= =?utf-8?B?ZjdXNnltWU9zcEw4TVFOdHlYa0hsU3JMVWpZenZkRFRDQ1dzQXNXaCtiOEhF?= =?utf-8?B?YWwwMElhQ2NidEtrSFBvTThJYmE1M3hIVlJrblEreVNXN25TR0tLS0gzQ000?= =?utf-8?B?bVpwS0UyR0pMNHRnZG96SWVCcE95QlNiT3JBQTNML1NEVXltNHhRdlM5SmRE?= =?utf-8?B?QjFRRXNURmZiV0ZnOXpmT1d3VUhTRm5DWWpvK0VBZ0lsRzgvMnMra2JJaXp3?= =?utf-8?B?cVdDRWkzbUFqQ1dRTW5UQ2x2R1hlMll3dS8zMTM2b3l2MHdFbzhzL1ExQy8v?= =?utf-8?B?eWFHVmtSa29Wd3ZOVWdMc1RwbXdmRS9aend2M1F2UWVZMkRReEs1dUJ1ZGQ5?= =?utf-8?B?Vk1tR1J2aFJFNVdtUEt3aHQ5Uk1xbi9uNGJWK1c3UCtvMks5TThHbHdsYTJQ?= =?utf-8?B?NExBM3NpRjdSM3AxRmRFSkxQazcrOHBUVGpXMHVrK21TeGwweVBxN251dy81?= =?utf-8?B?V0ZsTUZXS2x0OURuTHoyTm9VOEdKUXhiN3BJRTl5SzhZYnB6TVM2OTlZTElq?= =?utf-8?B?a1BkaUtOUk01d0ZvYWs4QTN2WVhJUVo5L0UrZ3UrZSt6TUZPMGlOY2F2UTJT?= =?utf-8?B?NVd0VlRQaDZDRktaU1JYZDgzTjRXU1VnYUJYM2hqemE4UnBwWlVJZXVPWXpN?= =?utf-8?B?L3lUUVV5MTVsZUkvTm5GSzVzdTFrT1ZrMmV0WEZDQ3htbmpRMTN4VUNoblVD?= =?utf-8?B?V3lCczI5enpaQk1sb04xQXFkOVkwVXZqWmw5ZEJOYno1enJiUnE0Snc4NkZV?= =?utf-8?B?NGxKK2Z2a0wxdFAxbWtHNnNnUUVvaU1ScFVwSk05RmxTemdsZlJ3Qk83SFN5?= =?utf-8?B?NEJqaHpnZ0kzSWZucWRZREJlVVFxNzNiM2k5aktRaGdUVVliK1RZdlJCMzBI?= =?utf-8?B?a3R1VVNLY3lXQjk5TlV2UUsxZ0JiWC9Ddm9pcWZHSlRZU0N2Y0lCWFk3cHRo?= =?utf-8?B?RERRakNOLzRwQW5OTTlEQldEY0dud214ckx1U3VKS1JJOFpnVitPN1prdzUw?= =?utf-8?B?U1YvS2hPUTFUQ0cybS9MYW5hbk04MjZ2M3pGY0hyRElHYkdnTnA4YWtmMzRQ?= =?utf-8?B?RjB6ZlFxSjExUndoODA2ZVIyUTRNNWVjaTRVRFNFb01PeEJGZTJiTHZyY1hM?= =?utf-8?B?VnAzL21WZWMzTFVpT3UySzBOV3BNVlJ3c3NMVFRNdzEybzRibldBSHFTY1Jr?= =?utf-8?B?bjI0bnlCL2lLKzBnd0lSNlFTaXcxYzNDVEZKSjNNemNwRUFmK0tVTUtMZllx?= =?utf-8?B?Z0xtZUFvWmhidE54SUMwcTB0cFRyVVFuZ25XM3JJdWJmMytpRGg5R0ZRQ3F0?= =?utf-8?B?QVovZW5BUTVBS1ZsOEg4QXQzSmF4Q1dHSVZ0SFV5WXNHanV0Y2lNQU5mSmRE?= =?utf-8?B?ZU1vMnNTUUIrajF0bFBIRDgyL2R0SE1hUWtCeENsY3g1RjZ0QklWVGdBRjFl?= =?utf-8?B?RjhKaGJRZ3NoMGdzNERWUVpFUGdkN2NjKzkzT1ZmUTlnSHYyL0d3dHkzTmFY?= =?utf-8?B?Q0JhK01DWjIxMUlKcVFsV296c1E0UWR5MlRpVmlZSWdVZ2xObDdkQ2owODFY?= =?utf-8?B?YlhncmVWZEN3MlhzdDBHZEtWWEJTU1BCb1dBN3I5L3VIR0xrZXNUZHNVYXY3?= =?utf-8?B?NkJ6aHowR2tMbC96WlYwWWVqekZxTHZUMmEyVWhCQmhZUk15U21oSHEvZ0FO?= =?utf-8?B?T1BrazJGSGJYRnN2bHZ0azlSZlhQZ1hKWGMvdTVNTHAxdXJNM0tTNWFIV1B3?= =?utf-8?Q?uAuikg5x7gynuEXsie?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 413f4f1c-4cb9-4576-641a-08df14e3fbbb X-MS-Exchange-CrossTenant-AuthSource: IA0PR12MB8374.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Sep 2026 17:49:12.4887 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: SKRopGlJThsABZOuaynq1N2xcR4ly3Vy8AqjWtVyRRu8Zdrcx3qpsz5H3rvCRPcr X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4336 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 7ADD818000D X-Stat-Signature: oqrz4mofsstc1s96pdcg9ptthox97gm1 X-Rspam-User: X-HE-Tag: 1789667359-639842 X-HE-Meta: U2FsdGVkX18GcWSQkQzaa+HIB97jihT307nODKiwKHBqvXkwpnBTX1BuJ8WxWFclXoL12F6Gd79oIQS29X8EbpG3ifK5R+6YGB1kKsu0eQ+JBx2bZ0ZGF8CRO8QuLh71VtPp7juZswju/0HcLmZrgwZGidDe0W+u7T8BJS34oMZ6PkfHUJ/x2IeWKGicrUMR4GLqiwyk9ZFTse/dbziI8V+W1vO+4c09svLrmz7lfSjLE+WrnT/+Ev/DWoqbN625OMyD8jVOqCriwKVNI6fzoccBwn3FmEWhTqXDNIdPl12htNeV4HQ0CPUNPemr8wUZzZ/mlMqs7OZyHBRubsu1NGj8q/DcclnhQUd8XutcMq6vY5heOkiT7zVXrdF/OMnQysPsaViFriS6YfVnq7byoqvq3qImtdclOo0HGumlZ6kuIH4az+0CjCHLr4PJP4NlTJzEX8rCrB8OEM8X/uKkKxJXi/vWuHvdZXkummY2Ff3riNhKdHRVj/+bmVzRMtM5hcYJPGT1PBrpBw/PrafJ9t+zuctgazXgCr7/WZFsu9nPZJcitsVDTTPvKb3MtimIXgcaJr9vLS9nfemqlzsO6ChYddSkTsdv4bgxKubGdtJWVAhSbkSk4MAacNkw4nWziiogXP1DAT2ZmZY2S/4w4qFSGN4sJbKamvcE/RRW4xkYx9INZ8wMRws7HKFmIQkeQBwVQ3hiOI9J3CfEJlcvF3VDlPFySyKW/BMYLcR1ZpyRQSUAOnjB2xu+24RKy7Im4GWpwwvI8jrGFtY0UqdJ6vcfSAkt4ZYdcegMItpjR/pr4zaqzJDsnad8k5TeIqBwMLJiSVkK96e8mRC6qreFp+LE7wuGeo/b1JrH6nigWxLJFlvxZyqhXQuTbvf8FK0vpGbhV/1jNGATCj8ulGVecAp065dNUm914FFlELIGEqANo5RxKtyVM4M8vCVzOAC626Ns89iGlfJeBbjmpO3 tplBFvyI 2eCmNjm2JlPfPPG1xOAMeKsUATh1y/e3ig6w9PARsdFWkAwsA7+YunOEjoJMrgJiDeGs0fT7BvuJmrwVeJP9S9AdNLo+FEQwHwEtTX0IxahVALEOEsjC8hWxjz1YmB9LQKozJ686zDIheKxtENAxb8NAaajgbzIPY0kRPykV78h4sRn1dsmo8UbDoKBfZp9PrKsJiuObS6QAXYWRWEPBXx/QkV5/k9VhAJRedARSvgLFSh1ZzSvKKTay9AlXJkmugu28QszzZGDuJAU8g/g/KfThx5kOPSXw3cigxq2gyyI0sW97dPvbIrDamhcCEXBFOH+zENL3xRwSRfN58yoLiNEGVIlDBvEjU56UvJPFsm02zf4FopnG3TuUftTfF9OTqqdYvz7NcfCliZ3CGKvKDY4Hcs3xPl3rcylFtxsir7K2fCnbwBLa21RSjitmNx0UMJjQ+qxkd10Zln/0d6OSwMnyM7gkKPDhOOxqUAClPmaKgfc7wge9U9GL8L7vy9lIVSqtKxpL+UCWOfBGQ4X/fhnO1Bw== Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Thu Sep 10, 2026 at 8:18 PM EDT, Gregory Price wrote: > From: "Gregory Price (Meta)" > > NUMA balancing rejects shared copy-on-write folios and executable > file folios mapped by multiple processes to avoid placement bouncing. > These checks also block promotion from slow memory. > > Allow such folios to participate when moving from a slow tier to a fast > tier. Keep the existing restrictions for ordinary placement. > > Fixes: c574bbe91703 ("NUMA balancing: optimize page placement for memory = tiering system") > Cc: stable@vger.kernel.org > Assisted-by: LLM > Signed-off-by: Gregory Price (Meta) > --- > mm/mempolicy.c | 8 ++++++-- > mm/migrate.c | 6 ++++-- > 2 files changed, 10 insertions(+), 4 deletions(-) > > diff --git a/mm/mempolicy.c b/mm/mempolicy.c > index a082ccfa09ec..19b599bc2dd1 100644 > --- a/mm/mempolicy.c > +++ b/mm/mempolicy.c > @@ -863,8 +863,12 @@ bool folio_can_map_prot_numa(struct folio *folio, st= ruct vm_area_struct *vma, > if (!folio || folio_is_zone_device(folio) || folio_test_ksm(folio)) > return false; > =20 > - /* Also skip shared copy-on-write folios */ > - if (vma_is_cow_mapping(vma) && folio_maybe_mapped_shared(folio)) > + /* > + * Shared copy-on-write folios are poor NUMA placement candidates, but > + * a hot folio on a slow tier still needs a hint fault for promotion. > + */ > + if (vma_is_cow_mapping(vma) && folio_maybe_mapped_shared(folio) && > + !folio_use_access_time(folio)) > return false; > =20 > /* Folios are pinned and can't be migrated */ > diff --git a/mm/migrate.c b/mm/migrate.c > index a369d0c95c38..afd9c97d2389 100644 > --- a/mm/migrate.c > +++ b/mm/migrate.c > @@ -2697,12 +2697,14 @@ int migrate_misplaced_folio_prepare(struct folio = *folio, > /* > * Do not migrate file folios that are mapped in multiple > * processes with execute permissions as they are probably > - * shared libraries. > + * shared libraries, unless this is a promotion from a slow tier. > * > * See folio_maybe_mapped_shared() on possible imprecision > * when we cannot easily detect if a folio is shared. > */ > - if ((vma->vm_flags & VM_EXEC) && folio_maybe_mapped_shared(folio)) > + if ((vma->vm_flags & VM_EXEC) && > + folio_maybe_mapped_shared(folio) && > + (!folio_use_access_time(folio) || !node_is_toptier(node))) > return -EACCES; > =20 > /* Should we rename folio_use_access_time() to folio_in_lowtier()? Otherwise the code is really hard to understand. I admit that I introduced folio_use_access_time() and it was probably because it decides the use of folio_xchg_access_time() in folio_can_map_prot_numa(). But in the other callsites, folio_in_lowtier() makes more sense. After the rename, a comment "only record access time of folios in low tier" above folio_xchg_access_time() should work. --=20 Best Regards, Yan, Zi