From nobody Fri Oct 2 12:20:17 2026 Received: from BN8PR05CU002.outbound.protection.outlook.com (mail-eastus2azon11011002.outbound.protection.outlook.com [52.101.57.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D77992367D9 for ; Sat, 1 Aug 2026 02:17:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.57.2 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550622; cv=fail; b=WKOAr+nkHOhI0SISOvwHZDAk8HSWE7V+oim5lQ0snsI9vs/+nckXGf78M3vgFKd6sqELe1+/FFeR6YFyfM+UU3kCYY+owK49UADBeERLORYrk4Ce4B4hYTCf0Treocj7ztxpzA7B4358FcK3K4o7MooWRgd8kk311ysZHoijK4Y= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550622; c=relaxed/simple; bh=5amcTiYGVwbA+eYXu52XsbHGRsKpjCzZfO6fxN8oacQ=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=OSTadFJY8bw1/k9EBIsZsDxgPCjW8Jr2fn5KOBCuRod7TB0BtBPs7+pai+Qyr+upOAztUsk+7GXhee8C7Ke9KLoELrZ7Se4cRoSk1qrNerRgihdxa4jDfv0ih8tOeGfd0t96e3nQriQKMVruYnJ6Cx9uGvN6wQCDCTqKNJbxLU0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=oeCXZyv/; arc=fail smtp.client-ip=52.101.57.2 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="oeCXZyv/" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=kEhlOzbcbTOUpTfs8AdeU+OVksui8YtjloOsPuEViSDiZKvk5OkzXOyxMWTDj/RRXiiEZ+7xEEsIRwvasDZDacTJcYRpawxCLQcIFxmW7KSW/BZTxJfN/lt4kt1x48OB1YpDesqsAEZXoZ+tt+ROq5ypfSpU+O2xW12GUgopM+hmhGlLDfCWU6cMJ9Xh13X5OjX6a/Z94Q5FdblkgeMQfBMPtbvEfrRx15Z4v+YxAL1ZCu/xbQtcKn93dH2noxSt3FZ88Xv5LVEMyHogY/v4bekXdc5YFygnP7FgeIZyfy8zDKHBcBwv6l8DRLE+sGsdYZ5eGCP0v3f3MBx0I8F5nw== 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=ILJcL94MpWYtIXWo6a2IwejOPXzRpZ1W3tm6C12OaCY=; b=ry4S33S36eTJsZd7hW8SSWrjhdok0EKihxcf/BCvsnwXeXubcBkteRAgybiN4aM+peGAJm0sD+L27gcfE/HTwhnXNO2rS60DYdw5Y9lAt044zhOmlbbhCmkFaI0cW72e4GQq7hOiktXvuDER5pQ5VjXQNridkLf/GW4s4uidaonWjSsqcO6UBZLFsWQuuskeyeSx9pgNaryqXdnB7jRnYXDpl4Sq2r+Q1wyWMwfmufDWtghCKPRneRrbQFB/88WaIpSt64SXTgQfSHAW+OUzcNB68NiVMpWBxFMyhBSqaBTCFcC2rMb8/QKtP7g3k5FBYkeM4HkpSCeHb6b9mTNq+Q== 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=ILJcL94MpWYtIXWo6a2IwejOPXzRpZ1W3tm6C12OaCY=; b=oeCXZyv/okpb81fiF5Q2CaiGY+UmX63vT0sMWt9wnEl+RXmTVGbD3ByzUCSIv3TnsYWSW2YjwDdjQSehOy5YLiqdzZ6E5YE+GqDR4zGZfFN784HGvydywg1UE6u1jPK7mlBuP2SIr4klbkWwmGjEaNG1oQ5AxUwP2KJVrj1WAPLl6oFzt7AnoU/qkyznXdbAULnjCFfYaucohTogHARnZFfbKrjtNaksg4BIeqby3jITcPSQONOuNcvTN4UaH3zt2Q3bwSuPe9nnjg+yPSmIe1tq9AHFJICW5QIgYYaKzb5+F2ZRKsw40OjzAgfQcm/AMzUXMxcgM1557krG8j1GEg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) by PH8PR12MB7373.namprd12.prod.outlook.com (2603:10b6:510:217::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.16; Sat, 1 Aug 2026 02:16:56 +0000 Received: from IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16]) by IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16%5]) with mapi id 15.21.0270.015; Sat, 1 Aug 2026 02:16:55 +0000 From: Zi Yan Date: Fri, 31 Jul 2026 22:13:24 -0400 Subject: [PATCH RFC 01/14] mm/zsmalloc: replace PG_private with pointer comparison Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260731-remove-pg_private-v1-1-142c97ba3562@nvidia.com> References: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> In-Reply-To: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> To: David Hildenbrand , "Matthew Wilcox (Oracle)" , Andrew Morton , Muchun Song , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Baolin Wang , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Usama Arif , Gregory Price , Ying Huang , Alistair Popple , Johannes Weiner , Qi Zheng , Shakeel Butt , Kairui Song Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Zi Yan , Minchan Kim , Sergey Senozhatsky X-Mailer: b4 0.14.3 X-ClientProxiedBy: IA1P220CA0011.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:461::12) To IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA0PR12MB8374:EE_|PH8PR12MB7373:EE_ X-MS-Office365-Filtering-Correlation-Id: 08511ff4-c132-4d5b-d159-08deef72f58b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|23010399003|366016|11063799006|56012099006|10067099003|18002099003|22082099003|921020; X-Microsoft-Antispam-Message-Info: YIC61CpsDyUDE9V6qJfNb4UhW4uAICncDoT2KAx50mNODyJcEGmmRyqhbbNDtH++R1m0YRRUFdlar7HvrNLHtoYfmNlt4vIgwKAbUcu9VOVD2budSQntElIwA5L5Q2j1ldZI/FZZv7z+cuYRtErN5Nrdj9/TauQA6sdMGw3ydB59nt11oS2B76UDMvMmcUcLUIcdutaDdxjf3FcCrOIZsJjLfLwkai3GZt1kVVwPM7qvZXP47dpeY7YTPtIU7v0lDYLE+H63lZWeUMvzR6X2Dnb0JwNA5m5vFVuwEO24xPJMm9KDrhdnVHKqIizToWjSiyiMmLnGwaZf4hicVy+/kqQTdyxcGv7ZnASMP/Z+2OletC9xogkSc8lGyI/9WRaQz/8rv6xZZmM5sC0UaqzbAD1bZGdodq+nCJ2B2BRPb25DwZeiUrPOBwiGFWf0/jug/O4BF53ATtvF0T9tDfGUzIP4SCYFgTnRJepdCL+JLkNT7VtIiNJHPZf8pWOHEnTM3aBqk6ES0EBLTPq4k5FuDCyrr5nHo9+OUes0GlRnf/u0AjdsaxgJICOC3DekCTb+PyiTOhsxLi+LSsRek6AKKhqegMbFJrSPk3mGUZC6kevkv1vnrlu/CUIk6gxJsm5AopBFZpiCIewDbxMSmbY1FNAC1w0kg1DiXonVdyhl5CyVhR8Ogw5Nj+R3lEgeUJ3SnOfagKS+kfp9sm/EFoDVuQ== 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)(7416014)(376014)(1800799024)(23010399003)(366016)(11063799006)(56012099006)(10067099003)(18002099003)(22082099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QUZlLzJIbWVNL0lkdGN2SHZhRmtrQXpURG5TbEo1MVBHUXBmTkxzNzdBK2ln?= =?utf-8?B?M1hnYTNsaGRET2NkUk5ta2RZZkk5SzAvZkltRktaT2Jaamh2R3cwL2pBck5Q?= =?utf-8?B?RmRSdkdvd2dBWGY5RUc2Z29LZGJKM1hOOWdGYTk1QVc3bnZzY0pLZGxHN3BK?= =?utf-8?B?RDIwbFU1QW10aUI1dHRkWGRkeVRDS2ZkRndLd3MrTFA3S1lhM1JRK1hjc1lB?= =?utf-8?B?VXI0SnlLbzBrOWd0V2V3LzV0NzUrNnY0ck9mdFBnaFNFZzJIRmlWbXhPdWZQ?= =?utf-8?B?eTQ1V214aFZZYVVsMUJrWGxVSWhybTlxbml6YTFBbW45RTMyTWRQL245dmZM?= =?utf-8?B?YXcvNVNPbFNwalZySnk2cjNKcFU2aDlGekhNRGVSYXhJUkpON2phUlRTanI2?= =?utf-8?B?b3JoRzdKTUdqK2JPWFJYOE9wRlUxbVpBR1J5UmR0eENBK3pOSFlyR0l5b0FN?= =?utf-8?B?V3A2S09ZRVBlV2RCVHhBS2xJTnFLMUtkaVF5bFVMT1hud0x2bVlhVUQzVXlC?= =?utf-8?B?ZWszV0Q1SEwrN2o3MWFuWTJzOUVmem8wUFJORnMzbDUrRFZkS2NjQjRoUVZQ?= =?utf-8?B?UzRNQXgySGl5YUhMa1U4VWNkTVZOSnduZ3dVbGhON2Erd3RicWNydHIvQlNI?= =?utf-8?B?NzFMR0Ztdi9ZV3BMVXVmamxTTVFKSi8rMXZ3ZDBQbm5wdzVJdHN4Ti9DODZX?= =?utf-8?B?N2I0K0JqbHVEYnFseFNDN0pTOWpIVXFuR1hKSHRHV1FwSEROV1RRWkV5RFdI?= =?utf-8?B?VVJyUjk5d2xuTmhVcGZ2dDFsbWMrZmE4Wm83Y1ZQMWljc3l6WExZU1pFcU1i?= =?utf-8?B?S0pkVEpCK3NpRENTRnF0V0RMUVhWbUo1OEhYTVEwQ2NrbjIyTFpIWVdUcEd6?= =?utf-8?B?Z1UwRHd2ZVo3SEswbW1ZdTlFQnQxRHhLSXU2dytMRUo4azFxRmdoNXNGMmN3?= =?utf-8?B?SXJwaHhkOW93RkdqbXRxY2U4QW9ac2trOXpmbVlPWWVDdWkzdE1rWHdCK04y?= =?utf-8?B?UnVCQSszV1c5aWxBRHpwaXpHTFRtM0Z2eUF2RmhVeFZ1dXhyYkRJQk4wcFRy?= =?utf-8?B?WnBJdHA0c2tlaG1xTVU4cGRDbjVab2lOMTRHZ3A4ODB3Tk12VGNaa0NhUWEr?= =?utf-8?B?cEhrMzFheDZyZWtiZzIrK0ZtNnpSbG5LNUVqWW1EMWg2cXRHT0ZlTVRwbm9L?= =?utf-8?B?K0JBTDE1ZXIzdm5Dc2ovU2xlMW5vNVdzU1JkSkdZYm9jSW9FMHlqN1JVSEls?= =?utf-8?B?LytTQ00vM3NlN2NpT2xXZTJ6REcrc3B6bGw2cGJhakhSc1hEeTFrUDdHMlV2?= =?utf-8?B?K2xzSlBiZnlKdm5JSml3YnJML0E5Y3daeUF3NGFsUTJ2Q1hoMDBOeEZEWjNG?= =?utf-8?B?RjA3TTl5LzUzMnp3NGVFWU5KVmhZNmx3VW50SlBOOCtGOFVxQmFtNzByYVhF?= =?utf-8?B?Y25UK1hxNGkraXMyWjlkTWFablJjVzhEcE0xTWNEcDMwcnZUYm8zQ2k0YXpo?= =?utf-8?B?cEJ5U0Nwemo1cmJCUTg2R0M2RmphT0I5c01zTkFtWmhEWlQ5VjJ2WVJVKyto?= =?utf-8?B?ejN4WUg1cXZKNUNaa3dDeXpWS2tzampxTzdUZmpoMW02N20wcW1yb3hPb2h1?= =?utf-8?B?Mjk1Q3lYeDAwYThnT012ekI5bGxTK3JXYkZUc3lGSVd5aVlDeDQraFZueXk4?= =?utf-8?B?NkdVck5mYkRTZGNoSzdkN1E5enM5NlZYM0xIbkpzTEEwMDh4d1M0bmZkM1Y4?= =?utf-8?B?a3MzTkxTYzlheTEzdkhpdXRBNUR4azdFcjhMUkJwNUhzUXhXYkFGbG1rZ2RN?= =?utf-8?B?d0Nlc1doVFJUN3lJV2dFcmhucUpaRmlqaWdKTS9SQW5Bd1ZFSTBIK0tvTllL?= =?utf-8?B?bldTR21ONU91Q3pnVlpUY3lpZEJTNGMwSUN5TGJ4OElqVUhORzd1NWFiZHhE?= =?utf-8?B?aklsSU5Uc2wwUDhETUdHSDhFOVM1L0JuV1dqNnppVkVBc2Z2U2xVQ3phMmsz?= =?utf-8?B?akp6SE1GT2RhQk1iMFNkRm1VSk1tT3ZHUCs4d3pyNzhQTFVhYmErdkx0OGJH?= =?utf-8?B?WEY4V21aZ1ROKzNPVkFlek9PTDhYS25mczVwYWx2d01zUEsvUE5tRXZadDhk?= =?utf-8?B?bm95M09YREd0RHlBRXZoMnJFNVkwRHF4bUM5TFRXWnhkM3U4RktoNkVYT0p6?= =?utf-8?B?K3F2blNmck1LK3Y3a0E1QlN1ZnVlRnJLaXlsY2JTNEF4cnFOWlhLeUFFSXdj?= =?utf-8?B?RERhM1JoSm5BTnd2bzJRbDNwSWJaczArTGRpbGpNUXZya3NOb0FzRUxCUVZi?= =?utf-8?Q?twiqibKLeRV+Y0sbwz?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 08511ff4-c132-4d5b-d159-08deef72f58b X-MS-Exchange-CrossTenant-AuthSource: IA0PR12MB8374.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2026 02:16:55.8827 (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: BEkqo/Z4gDhZxi2sAugF1YhuKzt5wfCyzrs5WWb4IaZleTE5cOoHlxToNFF5HkUa X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7373 zsmalloc uses PG_private to indicate first zpdesc in the zspage chain. Replace it with zpdesc->zspage->first_zpdesc =3D=3D zpdesc. The check, is_first_zpdesc(), is only used in VM_BUG_ON(), so performance impact should be negligible. It prepares for a future commit that remove PG_private. No functional change intended. Assisted-by: Claude:claude-opus-4-8 Assisted-by: Codex:gpt-5 Signed-off-by: Zi Yan To: Minchan Kim To: Sergey Senozhatsky To: Andrew Morton Cc: linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org Acked-by: Johannes Weiner Acked-by: Usama Arif --- mm/zpdesc.h | 2 +- mm/zsmalloc.c | 15 +++------------ 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/mm/zpdesc.h b/mm/zpdesc.h index b8258dc78548d..4fd81c2e80769 100644 --- a/mm/zpdesc.h +++ b/mm/zpdesc.h @@ -26,8 +26,8 @@ * with memcg_data. * * Page flags used: - * * PG_private identifies the first component page. * * PG_locked is used by page migration code. + * The first component page has zpdesc->zspage->first_zpdesc =3D=3D zpdesc */ struct zpdesc { unsigned long flags; diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c index 8204b76f78308..e8ef227624efa 100644 --- a/mm/zsmalloc.c +++ b/mm/zsmalloc.c @@ -290,11 +290,6 @@ struct zs_pool { atomic_t compaction_in_progress; }; =20 -static inline void zpdesc_set_first(struct zpdesc *zpdesc) -{ - SetPagePrivate(zpdesc_page(zpdesc)); -} - static inline void zpdesc_inc_zone_page_state(struct zpdesc *zpdesc) { inc_zone_page_state(zpdesc_page(zpdesc), NR_ZSPAGES); @@ -478,7 +473,7 @@ static void record_obj(unsigned long handle, unsigned l= ong obj) =20 static inline bool __maybe_unused is_first_zpdesc(struct zpdesc *zpdesc) { - return PagePrivate(zpdesc_page(zpdesc)); + return zpdesc->zspage->first_zpdesc =3D=3D zpdesc; } =20 /* Protected by class->lock */ @@ -848,9 +843,6 @@ static inline bool obj_allocated(struct zpdesc *zpdesc,= void *obj, =20 static void reset_zpdesc(struct zpdesc *zpdesc) { - struct page *page =3D zpdesc_page(zpdesc); - - ClearPagePrivate(page); zpdesc->zspage =3D NULL; zpdesc->next =3D NULL; /* PageZsmalloc is sticky until the page is freed to the buddy. */ @@ -1001,8 +993,8 @@ static void create_page_chain(struct size_class *class= , struct zspage *zspage, * 1. all pages are linked together using zpdesc->next * 2. each sub-page point to zspage using zpdesc->zspage * - * we set PG_private to identify the first zpdesc (i.e. no other zpdesc - * has this flag set). + * The first zpdesc has its zspage->first_zpdesc set to itself, no + * other zpdesc has this set. */ for (i =3D 0; i < nr_zpdescs; i++) { zpdesc =3D zpdescs[i]; @@ -1010,7 +1002,6 @@ static void create_page_chain(struct size_class *clas= s, struct zspage *zspage, zpdesc->next =3D NULL; if (i =3D=3D 0) { zspage->first_zpdesc =3D zpdesc; - zpdesc_set_first(zpdesc); if (unlikely(class->objs_per_zspage =3D=3D 1 && class->pages_per_zspage =3D=3D 1)) SetZsHugePage(zspage); --=20 2.53.0 From nobody Fri Oct 2 12:20:17 2026 Received: from BN8PR05CU002.outbound.protection.outlook.com (mail-eastus2azon11011002.outbound.protection.outlook.com [52.101.57.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BFA4239D6DD; Sat, 1 Aug 2026 02:17:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.57.2 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550624; cv=fail; b=NyCx15b6YHsIdwCv/Ms4ZcEkppgyW3eru6RTwKrTO/WEZ8c+u+dcyz/F2i8fSvMeM/XGCUVZsQmRs049leZ/8O2ovRzhTFdt/So5KRXhWpKnFW+lUaiXu8wtVFQo2vxQHZT69go1FhqFvkMX1jkAGJvNm+g/C/qeH7R4aQVQs/k= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550624; c=relaxed/simple; bh=0ff9yF5cYWzUiW5ZvvNnCTGvlaWXoJH/pUSwRiFwRbo=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=jyzeszoHilCCC6SustBkO7l90xECqX4noLH8duCL0STx9vnzOqrUbJ3QOGdwVGygZKWYSc3JVSo2PwYwd5HjP61h+GSivJ1Nx8QXY5kd1ji5YIhUnWkDpeMg9xlwugeX8YWK4fpirT6qt1SW0cJ1mOy0BqhrdQgzTBHBc0lnzOM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=eqIZkPbv; arc=fail smtp.client-ip=52.101.57.2 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="eqIZkPbv" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AoN9ZFOghwNIELN8EgoLrgE+k/0C/9TFR+eTPBCVctciuZxGrSEjTm/DhSsa9h5Q53zDBVEkS8WVHlpY04tX034+JyeVJskLQO8c+GdTvOGlcZjNImAmY2sXh/Ym+vrVM7XqSpEPw6FG5EiWR4M5iEKG/6HuTjey+9Bn5qt6zi+8SauR5V7u4XZP4nIk/bKFXjNUt32fVtBSBnV4zpHLZvyD8vRN6xuQ7kZuW6qBC6jWxWDJmJf/uFGuVDRg8pnYR9nB/M5qtPiukfG4ePM0+Oszj5o3Errnpo4XNGSsPrEq1oPiTMA0uLIdpseFKK6zNx3Pr2JzxcNEEpmCp5ww6w== 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=voi7sKIo11kENHtkZqMxE+k2eKCumvna/s1k1axqSoU=; b=qgsofVZ3XNP5RGnuGIIQiDs1RUb4O55ncaVDdNFvbmxQnMtffYYiVd4DitNGsB8om2bR0FehNS/GhD/sxoroHDTo9U92crwhSphKvSIaH86nmFK/pqd5NN4y8gPR0E951qxZL4nbv0gmVU+VxpkydTD9qjHJrcaS078DHDS3mW4ZgwmVxfbJBIkvTSFceJCdez6YhXE/3e7nRRA4Z/FCw+cm9UFJQHYik7mTVw3UFuIZUzFlstTu0rVrYZCw2y8jybbZzIw635wlu32IahdN/qN9Z17FEeFVVFmAVwHiRXr0uPzFLCQ6mz6fXLyH4qAB9bMCKDwQlvpUoSOAyfzi1g== 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=voi7sKIo11kENHtkZqMxE+k2eKCumvna/s1k1axqSoU=; b=eqIZkPbvFTedDNgEDzZz0drhjKhKsXCJ1+E7hxVDL4kFJadHbN+9DhpaI3CDGL3/Oi36GN/VDj+qK4Ihl+EgIKP9y2RdmU/YkPve2VY+fOQVxr4hl09s7xmcAfwQZMAC1TjM+l+BEzry+B5yHt+u3YRmJKOzXlAtK0RtvP9m+yOUk6b4rszz2gGIK9lGtxpCfvpOpYh4eaBZe1Cjd7VKbSiz8hJo3gKE7iZgeKjEfCM8GGt2bZvBS9cQoJ6xESTcNTByKFTcvjvxXM85Q3VMGGhjvC+N99w8Yzua21uJcgWF2OSgJm1L5wWsu5ef8Zy971nH/Kx7YuiazzyxtbSS5Q== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) by PH8PR12MB7373.namprd12.prod.outlook.com (2603:10b6:510:217::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.16; Sat, 1 Aug 2026 02:16:56 +0000 Received: from IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16]) by IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16%5]) with mapi id 15.21.0270.015; Sat, 1 Aug 2026 02:16:56 +0000 From: Zi Yan Date: Fri, 31 Jul 2026 22:13:25 -0400 Subject: [PATCH RFC 02/14] perf/ring_buffer: stop using PG_private as AUX page high-order marker Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260731-remove-pg_private-v1-2-142c97ba3562@nvidia.com> References: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> In-Reply-To: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> To: David Hildenbrand , "Matthew Wilcox (Oracle)" , Andrew Morton , Muchun Song , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Baolin Wang , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Usama Arif , Gregory Price , Ying Huang , Alistair Popple , Johannes Weiner , Qi Zheng , Shakeel Butt , Kairui Song Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Zi Yan , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Thomas Gleixner , Borislav Petkov , Dave Hansen , x86@kernel.org, Mark Rutland , Alexander Shishkin , Jiri Olsa , Ian Rogers , Adrian Hunter , James Clark , "H. Peter Anvin" , linux-perf-users@vger.kernel.org X-Mailer: b4 0.14.3 X-ClientProxiedBy: IA4P220CA0005.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:558::9) To IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA0PR12MB8374:EE_|PH8PR12MB7373:EE_ X-MS-Office365-Filtering-Correlation-Id: c5b43322-1e82-45e2-1366-08deef72f5f1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|23010399003|366016|11063799006|56012099006|10067099003|18002099003|22082099003|3023799007|921020; X-Microsoft-Antispam-Message-Info: u5AcEjQXoqybhCUBd4RiVhmX6OnmHQIG0l661tbSmlK/gQB/JA/iZoPQKpDbkWWYFDj4GFY7TL0xbPja2Cq29Yayp2hpO8sBPk95b8C0f6gJBcwKohJriVEePjNyZ/3hQRUASMbdiEqMCm17xxVeKgLT1VqBeSubk4nn8v+eIQKW9+k9yzb+BJtvZ8lq6RqzDtX5WyTf5EP34EllNR41cnpuGzkAU/X3h1xPjDX5EPjNauwYh24IvZ3FqIHU8kf7WiuYsC+VPpkfG5KGseYoNxOmFpQY4jnX/HKArH1SPQf5tUgZQ9eSHKWNBaaNbqvvC2kwuEArWCv6XfiK8Uv50DFnnuSPPa3r4szP8VM0fVM51TuaQ7ndj5FWXumOLCIeosH4EivbBS3HzqFhZw7zogewafiKgy0F/AigGdYi6bodsU7fTBMP1aPmvCjNVOPMV3Fh7EfGtz1VGqoU2LsH6AtvL40Mt+eP2QLCKvfVP6UcObrzhqwNEUDj19juWVW1fNSHfMu/P03BCbwtzWmajUX5Ad58bE7cyn2jtG6BPzr7EXtDJKHblNWLo7Sdtg7XTeFtOuyUeHsTBdBCYzuFsWP37awbH6eLTyfjzrvo70WTX45Bl4Bm0xyKGfdKSVgSCD7WO7f+rkpI/+Yv4v1KtrwKPB2dxvsJOT9F2rzlbgzIDA9m9n6WjLXji9ZdOJmw5AqmneEEih0+KQthRPzlEw== 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)(7416014)(376014)(1800799024)(23010399003)(366016)(11063799006)(56012099006)(10067099003)(18002099003)(22082099003)(3023799007)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NTI2ckp1V3ZCU3ZhV09EWkxaL25lZVYxdFZ2Vk5rOUlZVzdVSGIrdWU0TlYr?= =?utf-8?B?S3RZM2dLWGEwYTZ4Z1lIeUFiWmhVNFk3dGI0bnNCOGkydnFSbzZ1M0tnQ05X?= =?utf-8?B?VmcxQytnUlhLWU05TjN4Q0VyWHA2L1Q1dmRHZVhBQXU0QWovVE9GNExscXhm?= =?utf-8?B?S3RURWNhMUFHZnlGNGtNSStzTHJHSXAya1BpdzhYRURFOFpBcDJhc1F2ZzNF?= =?utf-8?B?TmFhVFVWRGNBNk9ZTzBvUU1hL3h6L0pKSHBIWE5SR0F4Sjl4Wld4ZStVTmRG?= =?utf-8?B?MGtIWXhac2xySzZNL21wRzJwa2Uzbk5DUEMxbGdnaFJEZmNkaUl5Vy9BYXpI?= =?utf-8?B?UmRCTGNxR0ZlZGlmcDRUV3FPcWpyTEJINmRONEZWMndROFNNU3JWdEljbGlM?= =?utf-8?B?RXpmSlRDR2l6cHRJUjVwbk5JZHNWTk05bG9zMGZFa2RxM2l3ZVp6ZVVYVE93?= =?utf-8?B?WU0rK0NVRHhKZUJTbDl4SWs0S0JEdmc2cy9RREtWcWN2dUlPMzVPb3JxQW9j?= =?utf-8?B?aGtWNmVmYSs0dUsvdUJobE9nK09PM0JDVWV6Z2lFRkhJY3FYejF4ZEk4UFI3?= =?utf-8?B?NmxJTjRybGxOaCs0Q1hJQjBQbEFxOG5FQ2tvdGttanR6TU9ZZ3NTeHF4cVp2?= =?utf-8?B?T1ZMQU9IWWpYWDQzbWhpaWkxazl3Q1BUQUJxSTVxLy9rY1FES0UwS1NXd0lN?= =?utf-8?B?TjYyaDI5V0tSM1ZRbm5pRWk3WWZZWGZkcnZYK1JYQ2dqUjMzNGxsNlVYdE54?= =?utf-8?B?RnhuckR5WWlHYkk5ODdaS055UDJnV1lrYis2Q2h4T3o0aXRGWkl1M3QyQ296?= =?utf-8?B?Z0RhYmdtNTNxSXlFNXh2bVllNlNOMVNsemRUL1JPZDk4dEJ2Z09LSENob01o?= =?utf-8?B?bjhUQjU5d2FITkZPcDRwTWt6L1RzUW13K1g0OU9oVW16aDYvR21XRmZ5RUpl?= =?utf-8?B?Wjd5YjdLZ0lNdW9EY2tOSWt1ZUNTU3M3L1NZMmFhYi8vZTlJZnlIQ2lGRHB5?= =?utf-8?B?MTJka1RhVVZ2UXhNckhoSHRYaW5ud1JIa1lNOXAwckpqSkNnUHhFS2FhTGho?= =?utf-8?B?dmZPdGVpdFlVb1JqSFhpV2wzTlBEV2dnK1RqditoSW5DY1JReEUrVGhVZHk1?= =?utf-8?B?R3lnbU0wM1E3Z2dkdTFSbU4wTUFnclJIdDNqVzlKN1pxc3ExTktPWU9RbVhQ?= =?utf-8?B?bFkraERWR0gweWRqb3BKVVlqWm5MVVM4ckluZFRXMHQ4d0dvSWhvNVhBQVdP?= =?utf-8?B?V21pZzdNeUNrMklPSnpQcnllT1RBbHp4b2xkTml6dVJ6dWwrYVdFVFkrSzNs?= =?utf-8?B?dWhUTm50dndOUXlzakpZRUlTMDZ2czRoWlYycGEyaFZvVVV4d1kwMU5qd1do?= =?utf-8?B?akN5RXZrZjg3VnZmVlV0YVBiUkJrMTg2R3d3bXJzS0tySmJWTDUwRzhXdm1w?= =?utf-8?B?NmkvTmt4QlpBcTJjM0hnUkNJMUlzb3lyLzVma2dpcG4yYjhaQ0gydFBrbHdv?= =?utf-8?B?YzRDdDhjcUxyS0dqSU1UMmVWQW1kNmluVElRRUJPUmtGNnVUWUhRL0FsTE1m?= =?utf-8?B?ZVJKK3Y1ZnNvSHBDNUU1MlpkcHVCK29jdGpTcE1ZS0QyTG1ROHE2aTM0N1ZO?= =?utf-8?B?eGpWcXRjcjg4bmEwNWJ5NXdTbnJ6Z01DdUwvTXdQa2xrZHJreFFLajFuRkVy?= =?utf-8?B?RUF3QXUyMEVGOWxsano4SGp0aHg3WGlsc1NlaXFCVUtYR0ZIa1drVHJSRWp6?= =?utf-8?B?NlpOZEprK3VNVm9PR2hGUnBPRVAwRGhkczFLK2dQWFJYbTRXNnFrZWtuTEZx?= =?utf-8?B?TnZjak9rL0JITmNwcFZnWXdBejZUZThJcFlveHF2VXI5NmhJdFFWYmpsNFhL?= =?utf-8?B?MGUvSi83UkVaTUJLQ0hJZmRONUJqcTNNK1VPbzEwOTlnYVZIZ1BuTGFSRHlB?= =?utf-8?B?bFcyQlZyOTNRb3pqdENkSWJUN3I1ZXlZVXkrUTAzUFVpUjd6ZHV3clhPcVVY?= =?utf-8?B?UlJmTUNxa3h5R1RhaDZWOW4xYnRtSm9CRlV3YUFkZ2FLTjc5NVdNVUp0RXU4?= =?utf-8?B?Y1lzN0MxQTU5MFRKNUhwVTBkcUtuajFlTGFZWVlFZWNiSE9yTzVwdlFLUEk2?= =?utf-8?B?VDhud1UxY3pZRlBVMktTeDlxbjRlUnpvYVIyL0lGQ25KZnlCN3BCZklTWmRJ?= =?utf-8?B?UzludUp2aW03R2JRMGVTblZlanMzamd3RnQrMitYZHhqZVZWUW96S0packhi?= =?utf-8?B?cnNJekFveWx0UTlTejR4bk9Gd3FVejN6WG41M2FvODBrZytrRVZVZk56Y3Ny?= =?utf-8?Q?haraJ71h/gC12+U7Ku?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: c5b43322-1e82-45e2-1366-08deef72f5f1 X-MS-Exchange-CrossTenant-AuthSource: IA0PR12MB8374.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2026 02:16:56.5329 (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: MhEc+UP1lNmROnNWpeRSfRNRrYg/PtjsV2tXV2R8mqUs7/koN1o5wgAhM5pXSa41 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7373 A high-order AUX page sets PG_private on its first page and stores the order in first_page->private. Stop using PG_private and check first_page->private for AUX page order only ring buffer and its users. It prepares for a future commit that remove PG_private. No functional change intended. Assisted-by: Claude:claude-opus-4-8 Assisted-by: Codex:gpt-5 Signed-off-by: Zi Yan To: Peter Zijlstra To: Ingo Molnar To: Arnaldo Carvalho de Melo To: Namhyung Kim To: Thomas Gleixner To: Borislav Petkov To: Dave Hansen To: x86@kernel.org Cc: Mark Rutland Cc: Alexander Shishkin Cc: Jiri Olsa Cc: Ian Rogers Cc: Adrian Hunter Cc: James Clark Cc: "H. Peter Anvin" Cc: linux-perf-users@vger.kernel.org Cc: linux-kernel@vger.kernel.org Acked-by: Usama Arif --- arch/x86/events/intel/bts.c | 3 --- arch/x86/events/intel/pt.c | 6 ++---- kernel/events/ring_buffer.c | 7 +++---- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/arch/x86/events/intel/bts.c b/arch/x86/events/intel/bts.c index cbac54cb3a9ec..5849392cf26d5 100644 --- a/arch/x86/events/intel/bts.c +++ b/arch/x86/events/intel/bts.c @@ -66,9 +66,6 @@ static struct pmu bts_pmu; =20 static int buf_nr_pages(struct page *page) { - if (!PagePrivate(page)) - return 1; - return 1 << page_private(page); } =20 diff --git a/arch/x86/events/intel/pt.c b/arch/x86/events/intel/pt.c index b5726b50e77db..29d8b4a3560cd 100644 --- a/arch/x86/events/intel/pt.c +++ b/arch/x86/events/intel/pt.c @@ -774,8 +774,7 @@ static int topa_insert_pages(struct pt_buffer *buf, int= cpu, gfp_t gfp) struct page *p; =20 p =3D virt_to_page(buf->data_pages[buf->nr_pages]); - if (PagePrivate(p)) - order =3D page_private(p); + order =3D page_private(p); =20 if (topa_table_full(topa)) { topa =3D topa_alloc(cpu, gfp); @@ -1289,8 +1288,7 @@ static int pt_buffer_try_single(struct pt_buffer *buf= , int nr_pages) if (!intel_pt_validate_hw_cap(PT_CAP_single_range_output)) goto out; =20 - if (PagePrivate(p)) - order =3D page_private(p); + order =3D page_private(p); =20 if (1 << order !=3D nr_pages) goto out; diff --git a/kernel/events/ring_buffer.c b/kernel/events/ring_buffer.c index 9fe92161715e0..061b5cb222266 100644 --- a/kernel/events/ring_buffer.c +++ b/kernel/events/ring_buffer.c @@ -630,11 +630,10 @@ static struct page *rb_alloc_aux_page(int node, int o= rder) /* * Communicate the allocation size to the driver: * if we managed to secure a high-order allocation, - * set its first page's private to this order; - * !PagePrivate(page) means it's just a normal page. + * set its first page's private to this order, otherwise page's + * private remains zero. */ split_page(page, order); - SetPagePrivate(page); set_page_private(page, order); } =20 @@ -645,7 +644,7 @@ static void rb_free_aux_page(struct perf_buffer *rb, in= t idx) { struct page *page =3D virt_to_page(rb->aux_pages[idx]); =20 - ClearPagePrivate(page); + set_page_private(page, 0); __free_page(page); } =20 --=20 2.53.0 From nobody Fri Oct 2 12:20:17 2026 Received: from BN8PR05CU002.outbound.protection.outlook.com (mail-eastus2azon11011002.outbound.protection.outlook.com [52.101.57.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A97353A3E6F for ; Sat, 1 Aug 2026 02:17:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.57.2 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550628; cv=fail; b=FU3lmNgn8PSda39fPZYO5Y2OTAWbNBkEMmOjodjplyOP4kj9wqwKujcgXyqVbhgxaw3IHRDOFj2ufJLJ+r0PvCsjw4Fe8NRsi01O0sNagaUFVvcnlnPm3R5FFKSIpjN7DdD00NftsrhgFf0wNdN3F0nBQekCSS3pBK9u2yRJs20= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550628; c=relaxed/simple; bh=PQRQLs3p0SSpShDUKPkL5X5dSC3agyi4bPTJFciwXaw=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=fF/Gq8X2W8UBO+tD2A9E/+P7pqFLLnsY5uFk3ybl6VeLVVOLM269RaUjc/5HuW8Bqin7+9BgOG5eX8rBCCgLkcZUdT4cEww3XZQGSwIHtuUY2I97N5pGxg4TRDBXw2wbRvv7szAvYl4bYvt0emAmDO/Y7uURb75Otn7hbCJz3M0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=ePN9dqmf; arc=fail smtp.client-ip=52.101.57.2 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="ePN9dqmf" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=u44/GoQAKEfhaTFN0cACyRuDUN/qFmU5KeNVe6H4h01LG6EoPe6fnBbXHMpvBNCKR52tlotyqMT1TD+lPynBXR7ecEjwk9SwoKLVYcpaosIDc3Lle0tXrynJpIK5XMVquvSoVXzKBgMRiAioSWi1+iRpJWbhwvOlk1cL6tMUJWO1yxS3fYGbhJPSRk7accS5G0CpIoZmpF3syHO/VbBkMGuA4/8iNx0iOU0QdbDUtOkYbKMMuUGe0XZCPBphpGdWG/oPchow0KvvOymP03pXnUH488q+GcGkdbCmmqiCjYUBV4qFMl0kKjjo8/v2T0ILSe5qr1KuaNr3lS/v7Rf0CA== 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=+rDyjehUqENheZn7IayeoBu38MNxc8V2l1+M+P1R5Kk=; b=hwVTZ+ZIjCwu3z85up7B78kt4GgN1SRYJ4xJQBqvlw09N6Wglz5dChzfwRxpQqoTp7FM3aZJQtI2bzzxGXyz/3D+koJsURiylUVybKgN8FLaLR5SISJPjx6rQVPujnnul2Q8RVnfeUs4ztAKbicL/xDLFDDoBzC7g1jAwHYVWYygHtXxJPbImAb/86Fe+WqZUoKJC7f7MQcPVwj/MZrj127Wo5Gpt/52C2Zt08Qe6cDjNrsGfk8UwPmZNAaX3e5U3SfBEDsHCQdQPBDDaexxDAwR9YmegDaFSk83NBV7ts1q11N7iFtizZROOnUZo//tuHsyE6ItZ5lnvPBPs6OVYw== 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=+rDyjehUqENheZn7IayeoBu38MNxc8V2l1+M+P1R5Kk=; b=ePN9dqmfoYRJWyt+gF6Y5HNX/2lKdq/3QAwQGnIf1SuYpRtE+2818HFICgLZOh55zQgQTBPJqmUGxUi+H3HTnAeoRuNIhTs/jW+23ZCRLBO3VozrMONGv/22ouJTIjTgX/tMDZvLVgfYPgx5Pta7xjaNt/IELhyG1gZ22FBg8AzVWlMnnKBO89zlcqtCYmaflDHjUTMExcMiwJ+QEw5pLigscriXqhULeqgV36s1134mntTwKv3qXhIr1X6nRn0gWJFlPYGyxCTsBH2qwPmXvv/YK0ihraVvrqbccSlb2pvjP4+522DVyksA5wm3ebQrfYwNoEYfTxi9LUyGBzOU6A== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) by PH8PR12MB7373.namprd12.prod.outlook.com (2603:10b6:510:217::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.16; Sat, 1 Aug 2026 02:16:57 +0000 Received: from IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16]) by IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16%5]) with mapi id 15.21.0270.015; Sat, 1 Aug 2026 02:16:57 +0000 From: Zi Yan Date: Fri, 31 Jul 2026 22:13:26 -0400 Subject: [PATCH RFC 03/14] xen/grant-table: stop setting PG_private on pages for grant mapping Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260731-remove-pg_private-v1-3-142c97ba3562@nvidia.com> References: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> In-Reply-To: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> To: David Hildenbrand , "Matthew Wilcox (Oracle)" , Andrew Morton , Muchun Song , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Baolin Wang , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Usama Arif , Gregory Price , Ying Huang , Alistair Popple , Johannes Weiner , Qi Zheng , Shakeel Butt , Kairui Song Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Zi Yan , Juergen Gross , Stefano Stabellini , Oleksandr Tyshchenko , xen-devel@lists.xenproject.org X-Mailer: b4 0.14.3 X-ClientProxiedBy: BL1PR13CA0203.namprd13.prod.outlook.com (2603:10b6:208:2be::28) To IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA0PR12MB8374:EE_|PH8PR12MB7373:EE_ X-MS-Office365-Filtering-Correlation-Id: 223addd4-bae0-41ab-437c-08deef72f65e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|23010399003|366016|11063799006|56012099006|10067099003|18002099003|22082099003|921020; X-Microsoft-Antispam-Message-Info: ScYFd10qX5KaVaxBZiEZeesmoY/e1LTIdd+/y8YBpOBMf9QvAl1vdS9Q/+G1U4IRvoHJ6DrxRAKPmOTw6YTWWYVC9x1QfPVLI3U820TfHWdxwQDgEbeIUonNa5lXhCYqZ3ap0EJsOS2wuz3xf119PDTJdKJvFjktQXZUWAthEpZ3bUYXkzaAIqEdaM+8LoCMnXh1uF5QDXpHYHIHUEM+qiiWagwFth0NjBSAFuw8U0eLpn8AnSwIyZ/J8vJUuyL1tG4e7jWVgPDgYPHz/k0cxUpF2Xwj0fIWtQnAEATw4TnzCS90UCFnSH3fykkBQbqz3E6ehvfvsWMrkFjWJAqn9cXRST3IBXOFqBI0H34Z9D7jmLUXGyFPRFSaUj6qlgoBx66DmcHYqLXJo2FW4/WNcdkRRI7ugwvo7fWm0QPbEVV/zN79nPw/vJw5OADRYOoRsC/P8GJDodWiva3y/n+zAkv4Dyo8R7FQwZ4yuHJjSlhTiuY8OXtfXuZkSWFxTu/qCnpheTNxYDJXyBnOZkFenmpLxtoh2idPUog7PQyhHcb5Jf89LlOtcngAZxlceBI5aKXsx4tRLm33pDCCZPjqArSUZj7HnyDjM74734bJQs2m2tXIV2T5OfhBayjiAylA72D8l6+1lchkNDDNC3DddJgFDkXeeKHFEB46sxE6NfshlqoWesXTsBy9X2sFPwsrcQrD35UhG5kZOik+VQavYw== 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)(7416014)(376014)(1800799024)(23010399003)(366016)(11063799006)(56012099006)(10067099003)(18002099003)(22082099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bnc3RzZqWExLeER3a0R2VGJvZXB1a21Kb3kzTXN0a1F2RUF6elFjRzhrRXBQ?= =?utf-8?B?M0pGUEFRRzRRVmZka1Z5YytZL01mSU9ka1QyZ0VsYjdPWWxVTVRzZ005dnl0?= =?utf-8?B?L015NlZuVm1PeXN0ajhVdW9SM0hieEViYjd3THcyL29mcVE3UmhFTWl1MzVU?= =?utf-8?B?ajMxQWM5dFZ4bXVlcFNCTEx6MEtIS0diSElkVWlhM3MvOFV3UE9zY3BWcWtr?= =?utf-8?B?czkxQ1VWVVptZUU5UnZ5UkVpYWw3SUtXSmtWYlhGaitzbVhtWTFxeTE4cmlh?= =?utf-8?B?cGVJd1pXM3h1T2tnSDYwN3VFbkt6MTlBMzlnSTdOeHV0RVNUTll3MGh1eGJu?= =?utf-8?B?d0NlV3VvSWhOS0xKTG5SWnE0cmNRTk1IUGYwZnhyb1M5MHBYcjRGMytHU0hG?= =?utf-8?B?UkkzK1R5NWZWRU0rRDgxeks4MzFncmMxRUJkTE1xQTJCTkczMUlyNTNWb3NB?= =?utf-8?B?WGpvTkk5OG5KQWtRaXI2cUI1cXk2NXBWS1hZN1NUakd0Rnp3YTU4K1d1SE5O?= =?utf-8?B?dldRZmJtRHllRldnalFyY3JWV1lwdnVnZGJnN01rNEJWWllxV2Z5Rnp5L1ZG?= =?utf-8?B?ajBLcS9aanYzTHA3V1VPWXVoYjBUYkpYbEVWMzVhTlNzV1B1SEZkdmx3V2Ni?= =?utf-8?B?ZzNiNjFYYWloektvK2hqWE8yMjMxTW96RURjWmdnUXBUVUo4REgwS3dCQ1dX?= =?utf-8?B?WWVFVG9IK0tqWWFkNUlMMFUwenJmZ3hFNitNUU5JdngvbUN2eGxXY2RQTUd4?= =?utf-8?B?dlo0VUlNWnBYRVlTdFgwcDJaZHJtaWQ1d1ZteU9zbVhtaWJlMnY1cU9haUhy?= =?utf-8?B?RHNDSmpJK3gvbW4xQXJyamZPeUxzMWRmSXVHTG9nUU5STkNqelhZYS9GOUdS?= =?utf-8?B?SWJ1cmdvKzkvT0pDaE1BYkNxL3ByMmc5RDg5c3owQlc3NmZBUS9HRHFvbEkv?= =?utf-8?B?dGpZQ3lKSjFyc0p0a2E0b2JxWXdyUXFNTkNXQW5XN2k2WDgvdXFXN2p1YU5E?= =?utf-8?B?TnNRbC9hWjdmUWlkeGJhYWY5bXRXSzZZR2hXTSthdlJrUHdaQVRpTlQyOFli?= =?utf-8?B?YXAvS3NIQlRhN3ZxK3ZqVVY4WkRxcEYzTnlORXRQOVdaRG15QVNqbFFZWUtw?= =?utf-8?B?eFExaHREbVl1Z3BKaVZacHVUS3dBb0RKSFhtVUFTNWRBSjQ2UXBHbEV6WVo3?= =?utf-8?B?YjA3YVg5VnZvakJsMjdsQWZ1azlaVGl1K05YWVRoVWp3ckJuaCtIR0hFVjQv?= =?utf-8?B?RWhjNkgySExPeVVpYlJNcXQxdlZiOVU2cHZONmZHdDF6VmVsM1pXNGVuNFF2?= =?utf-8?B?MlNHQVNCYUkvOEExc2R2VWxyTmJJOHNMdlJkb2M2VEFhdWdWbkxyUTR6UXVW?= =?utf-8?B?RFhiTmtNOHJ0NjZyWUFMbW1DVWdkc0FScmZjWmdFbzlGeXBzNzFtM2ZlQ2VV?= =?utf-8?B?RDBqek8wVkdZZ3NUWWVmbDZqNDNiRU1TeHM4WTRRWTIxbGlaN1UzM1RlRTZL?= =?utf-8?B?bWFNQ0pBdFZlb0NBSWFpMEtoa2pjNEZxeXBUWU81eGlPT0ZkaWhJTmwyK1V0?= =?utf-8?B?di9BRzJrY3RqbkZZc0pWdGZFRytReGRPeU0wdjJ2RThIQlZVMnlKZTFtelhr?= =?utf-8?B?eVQxaU41UnVZREY1ZENqVG9qdTVWcjJVTE16NUN0RFBUZ2JGQ25yZXFhQnFP?= =?utf-8?B?d2NLU1pweWp6OWFRaEF5UW9FdFdlbHBTeHJWdUZha2tZWjJyVDNVNGVXSVEv?= =?utf-8?B?WjNWd2VDNlE5bkcyb3VSRFpEQVdGQlBkUjJDSXNWY0o5NEFCNVVCVnBjZVV4?= =?utf-8?B?OVhra3p1ODlvbTlBeWsrd1VVNklaaWdackQrL2RZcXpxNm1OeWVXSGUxVFND?= =?utf-8?B?Znh5ZjhsVmsrTFh1eWt2b2JtVmpiTjd5WjhMQTkxSVZ1ZWxwWE8yOWpKdE92?= =?utf-8?B?N0xIYllFVWMzUVFqTHlZU0d6YXZFSkdRZ1JieC9Gb0pCelRpaUsxTFljQzhi?= =?utf-8?B?bjZaNXpxQTgrOEthMjZjVmdUbWlKcXlPa1FGUU83Qi9nbXIxakpUclB6RHEx?= =?utf-8?B?b1RDUVlHN2xqL05qaG9DY3Y1K3R2SFd0Vkd0MUs4M2Vtbi95eWYwRnZiWTZJ?= =?utf-8?B?OXVmVUs0M21Cc3NVVnc4ZExaN3RISWg3MEpFNDhnVjNjaHNaYUVqbjRWNDkx?= =?utf-8?B?Q2JvYTg1aE9zaGxrYmo5bzd4RHlubUtiem9JTGZFdHlhWStsMTl2QWlod2wy?= =?utf-8?B?K1gvaElhOE43UjgramV3L0lPaDlrWjJEeXRnWkhJWml6WGhlRjBhQmpxYmk2?= =?utf-8?Q?ITaq4Fubij1f0izSo5?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 223addd4-bae0-41ab-437c-08deef72f65e X-MS-Exchange-CrossTenant-AuthSource: IA0PR12MB8374.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2026 02:16:57.2721 (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: l0Am5J63xefsnsrMlCk7fC0Wd3OeYNH67IOGu5z5PLPygKkzgKEkQimaGrjMNeEp X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7373 gnttab_alloc_pages() stores xen_page_foreign in allocated page->private. On 32-bit, a pointer to xen_page_foreign is stored; on 64-bit, xen_page_foreign is stored inline. Checking page->private !=3D NULL is enou= gh to tell whether a xen_page_foreign needs to be freed on 32-bit and page->private is zeroed unconditionally on 64-bit. It prepares for a future commit that remove PG_private. No funtional change intended. Assisted-by: Claude:claude-opus-4-8 Assisted-by: Codex:gpt-5 Signed-off-by: Zi Yan To: Juergen Gross To: Stefano Stabellini Cc: Oleksandr Tyshchenko Cc: xen-devel@lists.xenproject.org Cc: linux-kernel@vger.kernel.org --- drivers/xen/balloon.c | 5 +++++ drivers/xen/grant-table.c | 7 +++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c index e7f1d4ca6d753..7f47b0ad05607 100644 --- a/drivers/xen/balloon.c +++ b/drivers/xen/balloon.c @@ -182,6 +182,11 @@ static struct page *balloon_retrieve(bool require_lowm= em) =20 __ClearPageOffline(page); dec_node_page_state(page, NR_BALLOON_PAGES); + /* + * clear page->private before giving it out, since it might be used to + * store xen_page_foreign info. + */ + set_page_private(page, 0); =20 return page; } diff --git a/drivers/xen/grant-table.c b/drivers/xen/grant-table.c index 35f879dc5dfb8..cc348ba2e0786 100644 --- a/drivers/xen/grant-table.c +++ b/drivers/xen/grant-table.c @@ -875,7 +875,7 @@ int gnttab_pages_set_private(int nr_pages, struct page = **pages) =20 set_page_private(pages[i], (unsigned long)foreign); #endif - SetPagePrivate(pages[i]); + /* Data is stored in page->private on 64-bit */ } =20 return 0; @@ -1031,12 +1031,11 @@ void gnttab_pages_clear_private(int nr_pages, struc= t page **pages) int i; =20 for (i =3D 0; i < nr_pages; i++) { - if (PagePrivate(pages[i])) { #if BITS_PER_LONG < 64 + if (page_private(pages[i])) kfree((void *)page_private(pages[i])); #endif - ClearPagePrivate(pages[i]); - } + set_page_private(pages[i], 0); } } EXPORT_SYMBOL_GPL(gnttab_pages_clear_private); --=20 2.53.0 From nobody Fri Oct 2 12:20:17 2026 Received: from BN8PR05CU002.outbound.protection.outlook.com (mail-eastus2azon11011002.outbound.protection.outlook.com [52.101.57.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7BAFD3B7747; Sat, 1 Aug 2026 02:17:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.57.2 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550629; cv=fail; b=Lxp5Pu5bpzTB9OcfY4FnOWngfIouqHKejOGWO+pYEPSmjlE2mc/Hw/bm/ms2+cugw1eoGEXgKF8/IO23MAtMVT/fb8ia2cbM7FcsZbwoUnPppX2vLQkDcfHkY1YaY9vgN4NcH/J9wLmPuFNLtZXsDF1VqZWRPmwlr/mtRA4sfvQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550629; c=relaxed/simple; bh=fVK3tiRXNXfhbKjaaTj9eHayUAHz+b3RYqFRMZnTW5E=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=c0ul78cV4FUz3Q4pGRNuUt79ztk7LsvFjbeTAxqMiaq1S9gS8TClGxkg3U/xpiXTy4ksQ5trVmjquVbNYDsqUa5TgoYWjKhcb5YoV5TOxl40EdIt85d0gcXR61xEVbDdMDiiAzrbJqQI52e0KdW+Ffzvdy/L/iw66iv+xK+o2Jo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=rX32gj7c; arc=fail smtp.client-ip=52.101.57.2 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="rX32gj7c" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Mpxhgll95SSqHEPzwwS2mp0qmwDxILekkLHU6UcUyo6pKUrM8ek4G/yRs9+92JB/mzW9wa0nXiaxG97EuoMQNGsV4rU2ZOG6B7KTXNWZsGRUNNrK38DQuSkvr4fiPV9AW0GMU+zonzwRtJvOq2t9n6bXeraeXlxYl76+pco9KRbYHN6ea3/KxWPYOspYBlPy4mClbKR5NJY9cQ9CYwUNWmiqn59ih/Ukdp7i2TOV0B2P4PhDDWXqHelpyP07Ad2+XywXWbWQIlQJ7t4i9LiRMU7HrnuziPgWVFGoMPii5Q6DRvIsozX848qx+l7HcH2SNEoND1jk6TCv1I3G8kDdWg== 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=tUwOu3xJnWbNR03CHoSF1OT8W2IcPmqHhHDuDf3D5sk=; b=hXLJAp77nCLjo3s7n9OpLvk1gVTwNAe9v0J+Qr18FXY4GLvgJYk1xY4dFIhAlBHwa8h+OUP0BOvD6T4faBkIj0wUxEfWS2/JlocFT5d9GF0Ru+HBULfRs6uewl5LV83qzq+pEKCldxyvUg0BcMwqocOf5z7i7cr0Ie1TRbKjy9CHgzu+DcnyXGmzMjKqxL0zQIXF45sBwQ6dE80C2TxpNPPLIIC0wfSaR3HdLKy6HV110cEuR4aftntQjBdSGISEshSR2sTsSlmq0HY26kdZw+9J+bbYB3Htdl6I/9PoFA7aDPNjFIsYs6qK2vwia5kwH91/KLP/y7vA2BLb8zeI/Q== 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=tUwOu3xJnWbNR03CHoSF1OT8W2IcPmqHhHDuDf3D5sk=; b=rX32gj7cxJ5WmYGWzAcVHh0MdFeVez+yYsiSG9MXDBS04NqPXo7AHsRtuevP4+rrYBj83qzNEE0Uk4GoGrE/p10tMkgvkHhceg1X1eMuBTfaveNRAUD5U9gQb8wQpra/SNQCL8VgaQEx6juOTzDZpjIjh3S1xJbQNBeAkjMmsTZpFohoH2zBOKd+Lsmo88itQSPorrYSrhFbZ1sGLlhLVVpe8UBrTJzj9dmRZoz39h7z193BsuHzNBPnAfEEsT5uUlXAjEeaqexTG76W2xJz54L4UesUUCVnO/MmxUh0yndZsKQbdS5yBudCEMMmT3liPc+D45b+HvvSiSHSa7m2SA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) by PH8PR12MB7373.namprd12.prod.outlook.com (2603:10b6:510:217::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.16; Sat, 1 Aug 2026 02:16:58 +0000 Received: from IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16]) by IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16%5]) with mapi id 15.21.0270.015; Sat, 1 Aug 2026 02:16:57 +0000 From: Zi Yan Date: Fri, 31 Jul 2026 22:13:27 -0400 Subject: [PATCH RFC 04/14] fs/crypto: stop setting PG_private on bounce page Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260731-remove-pg_private-v1-4-142c97ba3562@nvidia.com> References: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> In-Reply-To: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> To: David Hildenbrand , "Matthew Wilcox (Oracle)" , Andrew Morton , Muchun Song , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Baolin Wang , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Usama Arif , Gregory Price , Ying Huang , Alistair Popple , Johannes Weiner , Qi Zheng , Shakeel Butt , Kairui Song Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Zi Yan , Eric Biggers , "Theodore Y. Ts'o" , Jaegeuk Kim , linux-fscrypt@vger.kernel.org X-Mailer: b4 0.14.3 X-ClientProxiedBy: BL1PR13CA0204.namprd13.prod.outlook.com (2603:10b6:208:2be::29) To IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA0PR12MB8374:EE_|PH8PR12MB7373:EE_ X-MS-Office365-Filtering-Correlation-Id: 9ff37f77-035f-417f-07f6-08deef72f6c4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|23010399003|366016|11063799006|56012099006|10067099003|18002099003|22082099003|921020; X-Microsoft-Antispam-Message-Info: rc9+3h2Q8KsmoFZEY8CLQMgctboCjfzWO97GmSORF0CT8RtHgmFwr/OmKQtY4jqc7MZHYSbJwH0w23rMJMnNeoSTDvhCZzvlw6W08tCSk7dea+5vCUqHesHmBSgWlcM2pJujjGBdQQCVLVNCkkHTxA8l9YqgMqkRWFrakH0FLac6j1mPDn2hCZThlJNiWLaKwuQgaSeM/niO5kZNB6ne0gET5j9wafak7BXw3/6aj23/FF4zEAe6LvdY8y/JGPeiILNkQi7gzc/TU+aoyBtXs2SyI5bdCtqOJ6sANSiciGarZgJj6+56fLff29ge8qPQTxc2KSrYLEv0eMK1I3ibeiQn52zjMKjsWjXQslFaEDmNJGMfkoNvUVqQKc/kQ4jjQniqigx5Llt0nt9B2UakAFPrcUVRFxQS0E3vpzERUkfBQwM4Wdv6N/LS5JIRnCOVbbiPHU7Z4g6AJ48ocXGKIUIkgpbiCk/ifACFguvxwbb0C4j+Oi5DunxWW8sA7Jgz33QDWby+wa0VQVZBetNOPju6Y+a1asK3pZKAqVevddyx8qQWBYYBq2TkElggSygr5L3+KHNfqZjIRjRbhrm4NMFBAjmD219jSbaptZ1bH4cCr/y5Q2aliplCN7jAkthH2VOUb13eIlsUlSbL8JwjQXVDgOG+6tPsihmctn7BEZ+97NboSaWpDyi9c9R+NC5O/VwVze3ZaNr6NO7sUqYDww== 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)(7416014)(376014)(1800799024)(23010399003)(366016)(11063799006)(56012099006)(10067099003)(18002099003)(22082099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cFpTK1NNcTBVTW9pY3BNTGVKOGxlSGF2RTZKeEMxSHJYTFk0WEFPQ2Uwakdv?= =?utf-8?B?VGt5MWpYakRQa2FmanVPSTRqSjZqdndwMys2cVlTVEloM3JVUTZRSXJaYkJ4?= =?utf-8?B?VUxyVWFQZFdkelhweGNVdlg4Uk53RExxRXJvVlFPbTNkeHg5cEpPVUtoN1hm?= =?utf-8?B?L3FIQWtnelZ3dFVSZmhsTGRZQzFJcFVUUHlPYWpoMUYxdGpCUHFRMEhZVklh?= =?utf-8?B?Z1BDNkpuWXF3M0RWOTRDVXBreGtCNWFuTktkRHkwL29aWHBPTU9sbDQyZHhW?= =?utf-8?B?dmV5Q1JDRmxLMnlWODczR1MwZlFEVkU1cmo1d05PVSsrYUdEOExJRCthRFEy?= =?utf-8?B?bVo2M2xRaXV6RHl4RERFaFlINUFzekFKSEFyWk9QNWY0QTZqS2l5MUxrdThi?= =?utf-8?B?RzRTMS8vNDBOWG5zRTQwMGNFY0hVQnJVc0VaOEdSM0l0SkllVm4ycWRUUEVv?= =?utf-8?B?K0lmaTU5SVJTUlZ2eEw4aG9ycWhaSGo0RkRmQTM4cURJRjlyOWUwZU5QSGla?= =?utf-8?B?bmJkYk5sNkI0K0FUVFdGd3JYMTN1dEdRTzNUTklxUS9Fd2UrSVJJTWNmbU5Y?= =?utf-8?B?VUVSTXREL21INmlDM1VVQ29FRUdhU0lPYldCVUN6RVFlaGtLWUVVbzhDZWxv?= =?utf-8?B?UmcvOWVvTzByVXYvZmhmWDk3WlZ0dkVTS0g1ODdzYjFHM3JvMjlmL1piZit0?= =?utf-8?B?UWVPaXUrT3d2VmFhZ291MmJoSDBVMlF5b0tINDA3clRPL2x5QTllaWI2Uk9Y?= =?utf-8?B?dVJzeERFTkE1NzUwMEVCSzBMSU03djhOVjBQU2QyaUVva1pqZTRPWlduSE8r?= =?utf-8?B?ODBHVGVqbVh3K3RLbHp1NEluNmZjcFlpUHZuYU5pVlN2cVc0Y0l3Z096WEFF?= =?utf-8?B?MnNKU1lhUjFrRlhPNmhVdjhsSlQwb3hkZ3lSWk9xZ041YmdqUFMvLzZ4Nit1?= =?utf-8?B?Z2lKSWoyRWVMVmQvVFdjTm1PL2ROclVpMk8zYnRNZlFXWnQrOVVicnl1d0Jx?= =?utf-8?B?RFlWQkt3MWd0Z3pTUDBFMDZJZE9xNGNmeGlHRm4xRjQvOXNOcjJCamtaaGFG?= =?utf-8?B?TkVzZmpHL1VnSTJwTGQzbEpVTk5aRmV5RWhDVXpua1hjenFJU0Q2VFJCVDZv?= =?utf-8?B?MzlBNHRrVCtDT2xUOFpqbVJDcnUyU2dVckFWU3VtZWh2OEx6UXlJNXhLSzJv?= =?utf-8?B?djVCeEhyTzkxT0RUTmd3UDNhdllEK0JhRkhFWUZUZzJHaHdJbDZBblQwZzFC?= =?utf-8?B?L0xDZ012QmZ2SEhJUlVrZnhmVnBjSFlINStQOXI0MHVpbGFjZ09CQ2lESmEr?= =?utf-8?B?eGFIUHY1dTFpTTM0VWhZRVR5WFFtTlpzYnVIMlVINitoc09FTER1by9NMjg0?= =?utf-8?B?L1IzYU1xblNqaUpmeGg0VW5zdkZsSGNNLzZuVjdlN29jY3EreU5rRnl3MFNZ?= =?utf-8?B?UFBhUzErcWpHbGRvL1lEUUhvTVpMRUo5L3dUNDV2UjRoL2JjNllOOWJMNVA3?= =?utf-8?B?b1pjcGo0a05HTjd1WHZNQ3lla1NJdS9jUThwSnVoWEdwdDhDOTJiTGtDSll2?= =?utf-8?B?QnJLVVRmUXd0NjVKbTc3T2VRZjNtWFpBTlozWi9CRzQ1MmFnYU9FbDMvSFFk?= =?utf-8?B?YXorb0pkSnBZS1RKQ3VwUm5JOTlRRDcrSytjdWZNV2s3b3NPNUR3QitTMzN4?= =?utf-8?B?aURWa3Y0QWRUejc3WHIxV0VoVVZlcDk3K0pyTmYyaFhJVG4rMW5KZ1k0WW5Z?= =?utf-8?B?TVpKcTRUUkEwa09PWFFUSnBGb2xjcTFJbFZDLzI1emxiMVZkK2JnQXA3M2s5?= =?utf-8?B?VnhjQjFZcGhSVWdWRUZ6VlFQanA1anJEY29DMUR1R29DWlZmclAyaURIbWxJ?= =?utf-8?B?UG9oOUxMdW54bFlCa3U3a25MSEg1c3ZDTERzQStzNlZPV1ljb1dOSjVhcWNl?= =?utf-8?B?bDIyRkhuWDFZeGEwcEdCcVUwdXYrNXJqVi9hTC9iV2FYZDR0QVl2aFpYL0po?= =?utf-8?B?blg5UzI4NkFPSmhKMUUrUXI5ODJMaytIZHZkVmRtS29OalFZazZUbVpxSU1K?= =?utf-8?B?b3krNDh4M1g5VFJXM280STh0eDlUSVM1MFZvSjk5RnRnQmowZGZ2Wjk3OHUr?= =?utf-8?B?RHhNanVITjdkVTZKRmM0OGtSNEJpakpYcXJaYXRwVWwzanlUQWptNjRGWGNJ?= =?utf-8?B?MWNwY25KOGZkNXBrMlFpb2JPeU5pYXRiSHNuUVExZ3J3YVI4Y0tjRDFHOVlh?= =?utf-8?B?TTViRE5EMGxKUlNjS2oxSG50dmRCYmVyMHcyblVZWWV3Q21WbjNNdjFGYW9h?= =?utf-8?Q?MDTPMv+6eFPlj/F+jv?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9ff37f77-035f-417f-07f6-08deef72f6c4 X-MS-Exchange-CrossTenant-AuthSource: IA0PR12MB8374.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2026 02:16:57.9220 (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: 220s4YDPoouzdPEjPn7s3urGjciLUVZqIP1zhfRedd1ltP5T3vhaKiHjrj8WWZx0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7373 The point to a plaintext folio is stored in page->private and cannot be NULL, making PG_private redundant. It prepares for a future commit that remove PG_private. No funtional change intended. Assisted-by: Claude:claude-opus-4-8 Assisted-by: Codex:gpt-5 Signed-off-by: Zi Yan To: Eric Biggers To: "Theodore Y. Ts'o" To: Jaegeuk Kim Cc: linux-fscrypt@vger.kernel.org Cc: linux-kernel@vger.kernel.org Acked-by: Eric Biggers Acked-by: Usama Arif --- fs/crypto/crypto.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/fs/crypto/crypto.c b/fs/crypto/crypto.c index 570a2231c945a..c8a98dd94650f 100644 --- a/fs/crypto/crypto.c +++ b/fs/crypto/crypto.c @@ -73,7 +73,6 @@ void fscrypt_free_bounce_page(struct page *bounce_page) if (!bounce_page) return; set_page_private(bounce_page, (unsigned long)NULL); - ClearPagePrivate(bounce_page); mempool_free(bounce_page, fscrypt_bounce_page_pool); } EXPORT_SYMBOL(fscrypt_free_bounce_page); @@ -202,7 +201,6 @@ struct page *fscrypt_encrypt_pagecache_blocks(struct fo= lio *folio, return ERR_PTR(err); } } - SetPagePrivate(ciphertext_page); set_page_private(ciphertext_page, (unsigned long)folio); return ciphertext_page; } --=20 2.53.0 From nobody Fri Oct 2 12:20:17 2026 Received: from BN8PR05CU002.outbound.protection.outlook.com (mail-eastus2azon11011002.outbound.protection.outlook.com [52.101.57.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 258333B8D4A for ; Sat, 1 Aug 2026 02:17:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.57.2 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550631; cv=fail; b=LW0HP0zPQsqRyLq9Uc2Mfx+MWbSaul1ln0h+tf+sALD8shDEZX/DCpZJmPq29ioUgr6Bs6qzrAZNvJAN/vzDpqCojESNQgU6/GPJh0aGZIpa9E4JHBYtyXaff5QcRi2jDzcqrals9sG3vhck5n1gOYmT8iNvY4oM0x5FI+ZUk2s= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550631; c=relaxed/simple; bh=oM2QkQLmNObJ1Hq30Zsa8+HQ7pesQUDrHo/Cx1qLyLI=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=JrT+JlhLI2z6tB3m8vO5xwQ1RTgohW6AuRcpInTM6MrGL8f4dtcKFfFLMYwad9cqEqcmU8CmzfO+3XTmoVB4JHAtUpIh8NCYvYrnKgh6fGuPlPRadzUK98MTsTPjw1owlmMtGbm8NwGrrvIG++1vI6nry9rckfuOiDkgotRREwA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=t80tp2Dr; arc=fail smtp.client-ip=52.101.57.2 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="t80tp2Dr" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZAtzzy2G790sZccZyGXZirZELc/Leqrhd5ZtnJ9+QYc6iVKqZGBwb9051wYwg4HXvRU3V5Vi/0NH6Sx9e0EyatUMe2Op0zfUrYDgGqmKlFx17gyUNJi9obEvyW7iWixVnbuApbNWKfAVTnk0keq4oJ1UAmmYGnWxBJD2kLFfN3lrtkcUq+j8Lts0DkJfIhYzHhB2oG1AOpjEpOiJp5qlIRBHvUf63RXbf9Ly8QWmM+SMmoBB73HcbAf7DubudJma/ah01ZW6qfcx9TlC0UWDhvOxbXYNY7mJMcYkScVE/xeXwbF4XTLzVvOgdg5dfQ2azVEwkfRARMKMKzQwhPH2yA== 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=oSC1Hw8r25cbPm/Bni1MQgYhh4hsk40TS7XpsltGVhI=; b=HtKo1DdgpuRWUGuff9BwG4bseNKwNSMRSBE7Jro04z18Gzhbx8C1BWEUIYCnsPldrtWZsZzgem4k2bdg1holB3OfA/2tpgyUyyBv76ekq9yZkWaqNAHfdrUOiM5GgJyzFFvw0Mq8OA1PpFXScOAMGjYm1s6QR0yGuc7fh4OIWfToBAIeQ+HuBEBodNT8rVHqOASksuwre2hwejxC5fyh5vzljgbKQy6rrJHIUB/9L/HQO7QpX9CQhgm0OctHu5svdMPRwfBaPecOrPY8U4CrWJInB9EOM0j8A2vy1DtgagIaFCm0K0R+LxvZHkrmw/r8kZKYOJVPUmnXdsdEauYiuw== 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=oSC1Hw8r25cbPm/Bni1MQgYhh4hsk40TS7XpsltGVhI=; b=t80tp2DrWPPfBXpppUAnChXyZzuwpLQMawYC0fdLjcGTCTqgMF9gO/qelEtU9iqhHSA2J8Mb2fz6jvmieZnHSZ+szAQDyw+HSRah1BPTx3idEquAVnkmZ66eawOBPI0q0vswbbfFEyQc9qRPYjr9iQvRwF/8MqU/iZIQriVUDQuuxAR6z4haqGlHQJwKkFHRF0gJIFeiGKMzmYAxZXyiwkIgHscjZsPzfVLtGCN4BNZbBKGzu+KptTM5xl3CrewoIUUYhP0gtAFrA04yK7HqixsTy39qFq8h7HF5VG3zhw+r9wsN0FvxVLtPzC6QenIW+qag1JYB263Ran6wX/Hg+w== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) by PH8PR12MB7373.namprd12.prod.outlook.com (2603:10b6:510:217::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.16; Sat, 1 Aug 2026 02:16:58 +0000 Received: from IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16]) by IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16%5]) with mapi id 15.21.0270.015; Sat, 1 Aug 2026 02:16:58 +0000 From: Zi Yan Date: Fri, 31 Jul 2026 22:13:28 -0400 Subject: [PATCH RFC 05/14] mm/hugetlb: use direct assignment instead of folio_change_private() Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260731-remove-pg_private-v1-5-142c97ba3562@nvidia.com> References: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> In-Reply-To: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> To: David Hildenbrand , "Matthew Wilcox (Oracle)" , Andrew Morton , Muchun Song , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Baolin Wang , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Usama Arif , Gregory Price , Ying Huang , Alistair Popple , Johannes Weiner , Qi Zheng , Shakeel Butt , Kairui Song Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Zi Yan , Oscar Salvador X-Mailer: b4 0.14.3 X-ClientProxiedBy: BL1PR13CA0194.namprd13.prod.outlook.com (2603:10b6:208:2be::19) To IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA0PR12MB8374:EE_|PH8PR12MB7373:EE_ X-MS-Office365-Filtering-Correlation-Id: ebabab00-5202-42e1-06cc-08deef72f73c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|23010399003|366016|11063799006|56012099006|10067099003|18002099003|22082099003|921020; X-Microsoft-Antispam-Message-Info: tKF3AWRWq3mVGWIOek5g9pO4cxA4JcZapPw+GN/wVuF1TS1J/yLchTOLLdgmtkWsR1vt1Ddmfy/Zbq9CWa4l2xsk5cPo+bgWfBRqnqYwciE9V1eRyw3VIK5GPYubDfqBENjwKBaGDMT+Czaq/UJ2VOUW3+w3fnT6YQJGwFXq0zC0NP0lf7w7kFrXK36IbdVxE29P8AVTL82eMwRvTgOuuFOXR4hqaByMPjuWdIBA48R3ZJDxhivWpMGXrmnri6hqzZoc1KOY+earcwWvwdi0qNtxIAljpXSLDUwZPUEy4qlVEPfw2WaR01CexFJzscB6Mgv0TDe9K5LGBfNV1WX/FGxthVD9au/M01KPSXKuFXl5px1TZ3W9z2IOYd0aRygz9dsYPuKtcT9NgzRDKFzRyA0ve8R5SF+uwIsZnuz8m8dXn9dxn8I1yvqcLHdyaooZjSHSIsBaN5ubqrKNVhV2FqB5OdwDC8RU2Dd/J4SbrPwJDx5b8Ftf9UngkiipEiFuUcv+KwNOciUppfT3JsDZUS8+izdr/CToQWFO2jp9aeJH3v/tcI/Xp1MpQZT4DC6amECU3XLKpNdg2GR1lO91WGaJbBUNFe/S/8om+nh6O6N5CKLxRFXEQnRMxlFsRwUoLlUuGuJlOs/8q5jaQ/4LL8l1uXM4oXpLZgUQ8NGKfen78cyxsRqWZvxrbxiVOEksWMH0u2i2a9u3ByvNnwrZog== 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)(7416014)(376014)(1800799024)(23010399003)(366016)(11063799006)(56012099006)(10067099003)(18002099003)(22082099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SFNDU2t4VVd2TEF3eTFaakdsZnROSnZpM1E4SlN0QndQYzdKVlVrMkdFYmVv?= =?utf-8?B?L0pNNnZVQWtBSGpIKzc5UlcwaDdyeTVvV25sSzZpc0xFeWM1M2JQRFU2eUFS?= =?utf-8?B?VjRweXZWYkhWWnVscUh0RlhGcWo4TTlwRVAreUlGbmwyQVNhL0diMmFqcnNH?= =?utf-8?B?U3ZyeFMvNjZJWXB1TldQbVBmNHhtUWQ4Mk40K2hBVkt5R2VSSFNRdHpCdTZO?= =?utf-8?B?TE1hQm9maDhUMStmUzdHQlp3dm05VVZvbFpxL2FWVzZPSVptZjlvN1NlOTI0?= =?utf-8?B?VWhGbU8wYy95aVRtRnBHV1V5eXZBWlhNaUk2MVljZ1FLekNSdDJ4MEpVRmZ1?= =?utf-8?B?ckJpaW9xUUoya1ZVcmZ0TEMzY3RYSmZtMVZZWWxlZStrNWdidDdnMUcwMUVI?= =?utf-8?B?RmtVcTdGUDVOa2RsOE54QnZNTjNRclgyaXR1eWh4bjZ3bGRlSVZLNmpQeHpM?= =?utf-8?B?UWZSSHhra3FYT1R3clR6YjJtZGY3U2QyajhSS2crRGhOb1NTR3B6alEvQ245?= =?utf-8?B?WDRlVEF6QlYwby9ZU01ZNmhuMHVodGRwK1ZFL0w1ZmNVQWRYekhLRTh4REw4?= =?utf-8?B?NHFxSlUwaDByNnhSd2dXQ3pnZURza3pGNnEwVjJPNExaODViRGo0WThERWZ5?= =?utf-8?B?OGZRbDVuUEZEM3dHZW9kQ1BwdlY1K2xCRXltR2kyZFdhbkMwL0lwb1lPb3dx?= =?utf-8?B?cjBMTkVsU1VoWHN3MEZUVnErWXoxekhYNldKdDdTUlRGaFVYRmZPdzliSkFH?= =?utf-8?B?N2JtYmhEQ3gzV00zM3B6VW5WV3Q4U0hDOFd6Y3FsMFpMVEtrUm83UmV0RDdv?= =?utf-8?B?M205bUpPcGRYcjVyS1lhUmtSZ2ljdHlVWG5FeFlJZlpienplN3VaSDNYemdT?= =?utf-8?B?LzdCR3daNENDQytVME44bU9vQm0zcDNLSVUrVkJoNHpYS290OHF3K05oY0lu?= =?utf-8?B?aGc3eVZkdWFsNHdmWUo2dXBNUThYMHQzbDdyNXoyZytZVHZPYnp3U1VzRVY5?= =?utf-8?B?bHFGc1RYQTBNcVBqYm1RejE2Y01ubGY4MVMxYkVTSWNqRXZTb2tSV1pXWE8r?= =?utf-8?B?eHQrTFMyYnljK0VJNDNybUJHeG44cFZHOXViOU5LNHNWZy82cDJORGgxaDNs?= =?utf-8?B?ZHV5dlFaMVcvQnZuRmwzUzV0L1FYbVEyalV1K1lTV1QxWjEwV0g2TUJJeWw4?= =?utf-8?B?dlg4OXphYUV4clo1OG1UQ3prR0VzS3NqMDNKdE9JOXpCdktycEIvb1p2Unp6?= =?utf-8?B?RzR5dzZ0bEJ1UVhrNEpyU1IvYW1Ub01QTGo5TXZYVC9WcU80WWYvQjZaUjJw?= =?utf-8?B?UlhSSFkzOFZmT0hQbTJVT0sreC9qTGpQZHA3eTVkRXBZWTJhblY4MVlWd3dm?= =?utf-8?B?SU1DYXdiUVJESVdtbUZWTEkrRVdaRU0wa0s2dk1GdnlEdnRCQTJORGZQdGNG?= =?utf-8?B?WDBLTkpiWlM2bmVmbmlTUEtWWWF1Zkdud0ZZMUdtbjQvYUZIL3hSUWhGTkJE?= =?utf-8?B?ZDFpSCtNZ1pXbkw3SnRqdTU2ck52UGg1VFVNbkwxZHJqNGNlYWRzRVZkMmlS?= =?utf-8?B?SEVJU2Rqand6WG9IbU15YVlOYUw1MzBqN1NLOWduaFFtcytUcXoySVE5R3JT?= =?utf-8?B?WnVCVXQ0OHQ1TnBXQVZscXJtV1FmbnFjMW5DN2U3RERoM0ZGaVZjWjBOWTRs?= =?utf-8?B?RWkveU9uZWlLZWxSd21BQVV5RS9pWk1tRWlld3RMcGRpaTkycUJ0M1lXaFRH?= =?utf-8?B?R3lJTGJZcFpSRG0yVWt6K3lWODdDc1pRUHp1ZHRWTXdkcVRWc1lTR2VmRExq?= =?utf-8?B?dFlON3dHZ3RtUGs5ZmZkOUZSVFQydFlBbkI5eEJMZ3pSZC9KTzdIL21Ud0c4?= =?utf-8?B?YXZZa3NEVFJGcVQxQTVEQVlLVGFLUDNyVHRTektnL1VZV1NmV0U3VWVFRHJ5?= =?utf-8?B?SzNNWmYrNldzZEVpUVgwK1JOTFFudm5hYkpiOFBGT0dzeEJ5Tm9mVXJHZlI3?= =?utf-8?B?aUhiM3JQSVlzS1RRSXNpeU10eWhlM05EU1E2ZnhwdG1kZ0czekh1TnNYZG8y?= =?utf-8?B?WkZvaGxsZG8yQ1pZdStXWGRBVDlCTFU5dVAwd1J2dkpRSjhhSDdXUVBNRStJ?= =?utf-8?B?TkhWV1FwZEpSWXZIM0NwWUc5dUJBRjlGR3lqd3R2a3R6UTZxMlFWU3FOYk5K?= =?utf-8?B?RnFZc1NMSnF5SkpCbnpCNG5tZXBpT1RlUFVZWVdGT2NaeUN0em9nOFNWNUgw?= =?utf-8?B?M1Y5WkpxdDhPS3F4Z2pTUUZPVUxiTHdCaGdMMG9JY2Z4MWJZZWJUK1lZci9j?= =?utf-8?Q?9kQuYwpVMHmBdB8DNB?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: ebabab00-5202-42e1-06cc-08deef72f73c X-MS-Exchange-CrossTenant-AuthSource: IA0PR12MB8374.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2026 02:16:58.7133 (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: S47r0/HU7XdB4r5BgGRg4ExdEEPADwg2ESeBMg9Qad2ISTTOdSj0FJMGIsz1bDEn X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7373 folio_change_private() should be used along with folio_attach_private() and folio_detach_private(), where adding and remove ->private content requires folio refcount change. add_hugetlb_folio() simply sets folio->private to NULL without refcount manipulation. Change it to direct assignment to avoid semantic confusion. It prepares for a future commit that remove PG_private. No funtional change intended. Assisted-by: Claude:claude-opus-4-8 Assisted-by: Codex:gpt-5 Signed-off-by: Zi Yan To: Muchun Song To: Oscar Salvador To: Andrew Morton Cc: David Hildenbrand Cc: linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org Acked-by: Usama Arif --- mm/hugetlb.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index a77c3c1cb8943..0abaeb47890cb 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -1433,10 +1433,10 @@ void add_hugetlb_folio(struct hstate *h, struct fol= io *folio, } =20 __folio_set_hugetlb(folio); - folio_change_private(folio, NULL); + folio->private =3D NULL; /* - * We have to set hugetlb_vmemmap_optimized again as above - * folio_change_private(folio, NULL) cleared it. + * We have to set hugetlb_vmemmap_optimized again as hugetlb page flags + * are all cleared above. */ folio_set_hugetlb_vmemmap_optimized(folio); =20 --=20 2.53.0 From nobody Fri Oct 2 12:20:17 2026 Received: from BN8PR05CU002.outbound.protection.outlook.com (mail-eastus2azon11011002.outbound.protection.outlook.com [52.101.57.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D068A3BBFC0 for ; Sat, 1 Aug 2026 02:17:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.57.2 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550633; cv=fail; b=Ro78+DycK5yNMKNRHjTYQs3ri3pAT+d9HiTBFqyLd70d9OvTQt5ROMqohFfBdSwwqAEfzw2OzQzlLB9yIz8DfLuZZQmsbFHgXrWY3K2ZfL58Alveaki8kwej3zLqqEXF5TL3sGqp9pf3oLu3lyj8DNlsqeX3sm4JBUaN+wIe9sQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550633; c=relaxed/simple; bh=0olIpjN9UuFP8c4AZ7LyyrP+AdGHxcVxtseaQEG03qM=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=QSILTksROsewVyKG7a7xrPnXKQZPyx8FdPu4P2Jpb0ghQBBLS9PzErZ21ugzAlqz9/yw6ax8EWG2VSpGiKHPik8VyPTm8FpGTNsYKDfjLT8ijmDjNNWdONnayZsOiItmR+aS6o6+4+mLsVvGf0Mz4dZohSOSnVSJNVKYepni9VA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=fx0l1vm7; arc=fail smtp.client-ip=52.101.57.2 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="fx0l1vm7" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=FPBlD8p/2rgSjbh4voVM7RDBkVb6cywQHmuF5xQwDngQUhA+HGGjYF64yOkPku2e2ZT02oTH70bYXV2FKz2a/HABCTIGhgznjbFYcgPMdecXecUMyTmVfulQPOAOMa2cG3sAmSgz7dQ/HUoG+pNjMum0WE16B2o/fMcKEA9m24aR9aZxtViY3RCR3ydHrxTuiuoCNVyEXnyMQMgGl50cCyWa/cGlfkFQ4getYUk7Ka59W2e6aCCzpWMC+ZFPMQME4J4FSTYDfylQzoK3/KrKRtgXw0sIRQeQ7SN95e3XuB69Vr6gGb/rhPBNTWNePprJyyRZq+CkdgwZimcItt2yHg== 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=AMgAg6910qK7vf5U2o9gm4F3uUSFgtChdf3nqlA7jhA=; b=NiYaYvGfnLnm0Wiu+hWmutZZDcVg6r3DbD+XXvwIJsePsuRhKOf48/bOgxi5bheAcXHERXIIwbW03saOGu1bMs2ZV8iplzg686jCexGljBrgkNRrp3ut2Uw4DRX+uDXLNlkReCmKngBWE7E5p+Qf+SbyVGoQBNXieoRQNp6CqEJjhAifFlvUf4RBn+1kqeB81gNXjEkZWxhwdqAIpoHvNUDbpZwaL0F0XWixNbo9+5JSGtvk9Fq/ZfxPzvjvCVkQdJOdPxRuAlkFUraD3QhRj5aRTbeG/gsRXykhxtL+cPRqLcXryHq1tgSYnMH0C24+/7otcRXS6Zomo1dK0bzCZQ== 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=AMgAg6910qK7vf5U2o9gm4F3uUSFgtChdf3nqlA7jhA=; b=fx0l1vm7gO0hjaCS8s//ANg1yUsHmH8VGwXf3v8GR//vPikT9kj4r+51LHbXjrzw8Hrkoo+vC7XXQqNG7or2tgo4xiAbAMaPG/1Lf9FhPLee9shft9/tVdnAjkYk9qLdqyMJ/Bnn2XQpNZSeAluggXKYifOZPXSTiVOn5jy+od+olT9HJvCupuNTYD2cIDRKDr1+C0pVkTmpqfgKVnoLX8sbASvwSzCH/Csk/ekSWw8eV8eaFp6v0AGTW9WNeuH2/0fz1pUL6xCCPLDML6HZh3Y5D4xUP/1o4nj6Ga6XnNN29X4edkmB9WM942GBznMrSmX/4pxlYi1TkBXUUWrSNQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) by PH8PR12MB7373.namprd12.prod.outlook.com (2603:10b6:510:217::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.16; Sat, 1 Aug 2026 02:16:59 +0000 Received: from IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16]) by IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16%5]) with mapi id 15.21.0270.015; Sat, 1 Aug 2026 02:16:59 +0000 From: Zi Yan Date: Fri, 31 Jul 2026 22:13:29 -0400 Subject: [PATCH RFC 06/14] fs/f2fs: stop using PG_private Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260731-remove-pg_private-v1-6-142c97ba3562@nvidia.com> References: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> In-Reply-To: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> To: David Hildenbrand , "Matthew Wilcox (Oracle)" , Andrew Morton , Muchun Song , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Baolin Wang , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Usama Arif , Gregory Price , Ying Huang , Alistair Popple , Johannes Weiner , Qi Zheng , Shakeel Butt , Kairui Song Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Zi Yan , Jaegeuk Kim , Chao Yu , linux-f2fs-devel@lists.sourceforge.net X-Mailer: b4 0.14.3 X-ClientProxiedBy: IA4P220CA0003.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:558::12) To IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA0PR12MB8374:EE_|PH8PR12MB7373:EE_ X-MS-Office365-Filtering-Correlation-Id: 593623a6-9da8-4a8c-2886-08deef72f7b2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|23010399003|366016|11063799006|56012099006|10067099003|18002099003|22082099003|921020; X-Microsoft-Antispam-Message-Info: vlfpQcmFH2nK3H69tHQ7qTP+m9pMc8hEfJQuipmoj2ws2hyeQc0vhxTATG450Wz+hAcMzRPCQXKLWtpqX6FjNkD5uIs6yjjtdFazJtjz7ftHQ5tHGMAyTMEr998gBOgMy0IFs2/+oCG1odQ5v23wnN7ncx5LIkXt3LbuWppIReSX5Acnj9chw6ZdpluwVtxv4H47mIyNh+kwXBbUr4Z4JL9VwCAMOtFDnanbIPu+YC+VJsZgZRvU72p7jz+jbDyThSn2HgYB8mKVUwdsOXnz0i6yIGmXFx8F1xim77m4naEnH59Lhp9fDQK3XxZOOVQva4M68Qlut02Osj8lzzEivLl/HbOtjlrd1VDUMghxHb/0/WO7KpThj1AAdVATV9f6QTy/WrznRjaF+onibcW3tMSUGYBYKc2LWnY0Yg6Yes5h0tS7G0czuY0DpOyAUtGAIfok/MeszjtrHdGpNYglK2CGWdj+nOcfpqz874P390hpX1C/lkx/VF4QMQf4+yXU5dPNzg8OVVF84abH+m56FzwHwyHlgNh4KnwTsKy5YPTirrQFBeaceRtojUkJMdMv1ny4XMI2t08s/VN54Kq4Pu2mz+DPEMAmvSgDXqke0Vab4ClLTFlIMPH3b+LcFY7W2bO49X7m23q8l7SVqzCsJ1tmfp7jbvoViLf1nDwFsJB1Un8NxtKgYsPKuDm+nbvkreMG9e4MrLlb0B722+f9zA== 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)(7416014)(376014)(1800799024)(23010399003)(366016)(11063799006)(56012099006)(10067099003)(18002099003)(22082099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dm02U3AyUkhqY3E4OTlwMGJXOFJBUFRLUnk0clJ1dGJTOFU3MzBxUjZlTVRu?= =?utf-8?B?dlIxbXI2MU1zR3ZuTGlnNG4rOGJuZ09jaUxZZmlNdEJvMEZVSWlVK2I4RmhP?= =?utf-8?B?RjVxMnp3QmorbXNoUzVueGgrTkw2bU44Nko4emZTY0hpdWQ1TnV4S0thMTE2?= =?utf-8?B?YmpsZ3l0SkJLalJUQWZUTGUydS9EYk5WZDRmSXFwQkViUmU4a0lGQUdmSTNv?= =?utf-8?B?RW40RURydzIyWEVBdFYrMWxtV1lMVTZ6T0RVd2UzdnVNY0tpdDEvQnMxcDgx?= =?utf-8?B?Ny9HNWpiUTljdHA1ekRiNEMxaXVHV3RZZmZwRXpFSVBrNXp3TUJVUENEM2xu?= =?utf-8?B?NUdNY1NQbG51VmRINGlCc2tma1N6OHNBMmh5TjBLbExRdDhCSDVDOUN3dW1i?= =?utf-8?B?dCtwZmphWnF6Z3NwUm4zekJ0SGZsL0FVRWI2NWltT0pneDlCWGd2eDNqdzFl?= =?utf-8?B?KzNtWVR5ckp1TjJtN1VUMFl2SkdLZEowWWNsRzN5TTJHb0lDbm9GSEgwS3dr?= =?utf-8?B?SmYyYlZZUVEyQVpNZ2pQQ1ZqdjVUVmV0a1FrK09HQU8ydnFoUmhRWnByYm96?= =?utf-8?B?a1BqRTI4MjFXT0hGSGd3cGRIZk5yYWE0SkpYN3VDRDQwMCs0OFFqM0VrdEts?= =?utf-8?B?ZEpJaW1HU2s2ZkkybVZrS0tqQVZYTWJZVkZuMFhGc2Uyc2ZpWEZveEdTc2xR?= =?utf-8?B?YVRHSTNsVUtFYm4wUlFOU3FVYWFQQmwxRk5oNitJWkZoQ1Q1d0k3WURteFp3?= =?utf-8?B?WFR0ZHZOdHVhWlFmV0t0QzgyNEZ6OXZ3U0M4bWJIakpoU0hiMFJOVDBEU2Nq?= =?utf-8?B?Y2ErZHZCcGxwbEkwajZvaTV3M3JCVzMzYzVjWEJoL3N4eEticEg0M2pZQ2Rp?= =?utf-8?B?RVNmaS9tQTYrSmtsQkJCRThucml1WmlDak1ZVnZOdjZWTEZHQTZ3MjJwcUE4?= =?utf-8?B?UEJJcUVkNXNuNk9GMjBPZzFTQkllTzM2TVlyb2F1L0hoZXhHRVdZYmRPdTdR?= =?utf-8?B?NWhCOG5qM0xsRkp0MU91T0JFcDQ5UWNTMWo2MVZtTHROb0JEMXZCdEpGQVA1?= =?utf-8?B?R2NGdDZWK3k4YzJQdHdPTElCSzNnY2trcXVTZ0pjRGFIcW9maUI4cEFRWkxC?= =?utf-8?B?RHRrTWR6ekFYdjhYc1ByNTQxNEVzZ2VmZCsyTVFtSHhSbGV3VlhlVDlNU2NK?= =?utf-8?B?Zkl1eGZQVkVtcUJaTzB3N2E2S2M0ZGVWVms3ZHVDWXZ6VGZhQkVUNjJRNkh6?= =?utf-8?B?MVBXNFo2dUdSRmQyd3lLQjFETkZVOFhWM0t6NW5xMElrTlpGTHY5ZWFFTHR4?= =?utf-8?B?bXhzR2gweDFpaFp4VWhLaEdONVJWTU1SMDBiM2RwQVpFTXJqanhaOW9vdUxv?= =?utf-8?B?YWR6b0JhSjVvS3lnb3ZmNDBtLy9wSW5QN0dIdnQzMmRmM2Nob2lyOHBFaCtr?= =?utf-8?B?S05hZlBCM0FFMmtRTmF5SVhsNmF4Y0xjaG9WQlVvTmRSUzZJL0pNUjhKcENZ?= =?utf-8?B?bnkzWnFHN1BpKzNtbGdKOGx5MWw4MlFZUER4NERKalVma2IrY2NRUkFCZW0x?= =?utf-8?B?a082d2dFMlBqV21UcHoyeXZoQjBxUHhMUzF1Z1hNTVFBdWl5NUpVRVplUDQy?= =?utf-8?B?WEt1Y0M0U1FzTnhjd3hCT3BKKzVRM3IzRjhwSDJwbVhORTd6VVhFODBtWFhC?= =?utf-8?B?K3JnZ0VTTG1ueDZyaHAySzJOWWlLbVErU0o2T3NqdSt4RDY0R3htWHRzbFpE?= =?utf-8?B?U2ZTbSs1SktHUWZpL1g3aEJmWFRiU0JJVkp2YW92YVlsVkt3WU1SWi8xeGh3?= =?utf-8?B?T1phUi9iMXVXckZJSWRReXZKbGMreEpvM1pVV1pqWEMrNnIrMWE1RE1uc0Vz?= =?utf-8?B?c1BUV2hCV20zUlR6R05BbkdPTHJtdlRQSEUwN1JiOVZkaW1aQVAwL2RrM3l3?= =?utf-8?B?QWRoRkkzNUtWTkNNUmVwMlN1K2tTVmpsb3pXd2RZR0haQmVpTjlObjJuVlps?= =?utf-8?B?YTRIeHdNTUx2d1lJWHpGUDYrV1AxN2hPeTJ1WHgvVTE2Q20wY2dXWU5MZkli?= =?utf-8?B?RjJBN2xaNjRPRW1IR1NNaGZBcmQ5QUs3YmR1Q0J5N3d6S3J0VXZsK09sM0Ji?= =?utf-8?B?YlJLN1FTN2RQemRwejNCMC9KVlUyUFpINUU2c1MrTDhHWGdEbjh1OGVIQlBI?= =?utf-8?B?ak1XSUhBSE1URE9BbFpVV0VtM2YybktkdG1uTW5KZWpYM3ZhSm9EeE9MS2hr?= =?utf-8?B?OENDOHJMcm9od0NvemU2ZWFVY0xjbmxNQ3NMUWh6TkljeWJiWVRKSGRlNTZm?= =?utf-8?Q?F5iBAU/umosg4bD20u?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 593623a6-9da8-4a8c-2886-08deef72f7b2 X-MS-Exchange-CrossTenant-AuthSource: IA0PR12MB8374.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2026 02:16:59.4869 (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: 4ZfrAFwmjrSSnKpGdVvBWJjvVvO+XnAUowpi3g4TRlorgYJjMeDitqdpc2RufSRJ X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7373 f2fs sets its PAGE_PRIVATE_* flags in page->private and checking page->private !=3D NULL is equivalent to checking PG_private. Change PagePrivate() to page_private(). Meanwhile, in set_page_private_##name(), page->private is first set to 0/NULL before an PAGE_PRIVATE_* flag is set, but it can cause confusion when PG_private is removed and page->private !=3D NULL is used instead. Change it to initialize page->private to PAGE_PRIVATE_NOT_POINTER instead and retain the original semantics. It prepares for a future commit that removes PG_private. No funtional change intended. Assisted-by: Claude:claude-opus-4-8 Assisted-by: Codex:gpt-5 Signed-off-by: Zi Yan To: Jaegeuk Kim To: Chao Yu Cc: linux-f2fs-devel@lists.sourceforge.net Cc: linux-kernel@vger.kernel.org Acked-by: Chao Yu Acked-by: Usama Arif --- fs/f2fs/f2fs.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h index 8f3e632f315cc..edf01eb4b3b30 100644 --- a/fs/f2fs/f2fs.h +++ b/fs/f2fs/f2fs.h @@ -2643,7 +2643,7 @@ static inline bool folio_test_f2fs_##name(const struc= t folio *folio) \ } \ static inline bool page_private_##name(struct page *page) \ { \ - return PagePrivate(page) && \ + return page_private(page) && \ test_bit(PAGE_PRIVATE_NOT_POINTER, &page_private(page)) && \ test_bit(PAGE_PRIVATE_##flagname, &page_private(page)); \ } @@ -2662,9 +2662,9 @@ static inline void folio_set_f2fs_##name(struct folio= *folio) \ } \ static inline void set_page_private_##name(struct page *page) \ { \ - if (!PagePrivate(page)) \ - attach_page_private(page, (void *)0); \ - set_bit(PAGE_PRIVATE_NOT_POINTER, &page_private(page)); \ + if (!page_private(page)) \ + attach_page_private(page, \ + (void *)BIT(PAGE_PRIVATE_NOT_POINTER)); \ set_bit(PAGE_PRIVATE_##flagname, &page_private(page)); \ } =20 --=20 2.53.0 From nobody Fri Oct 2 12:20:17 2026 Received: from BN8PR05CU002.outbound.protection.outlook.com (mail-eastus2azon11011002.outbound.protection.outlook.com [52.101.57.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9140A3ACF0F; Sat, 1 Aug 2026 02:17:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.57.2 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550635; cv=fail; b=kVb2htG3gKNSBnDBkd1CSMvbSd+Nctob0Zl7cAvds6bUHuAPzFEDtvXAtqRsSiE5eVfCjCG+PvkkBvNW53iQoNweFn7ytoNM7uk89uk+sDHHiF0bOgKx8bwhxb/cYqYWCDEKxKpGGqWS3gic5eD0FK6FABPiYub1kRYZvfQUMSQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550635; c=relaxed/simple; bh=vPOb0v8HgWgZkeHFAVKPg8IalnM7NyG2LfSuNl7no1Q=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=kGbbInXx7Djqpmu09aKIPIou+xTX9pi/5j53IYlZ7kvxt6q6nE/pgk9sG29aVy/n/+UJHfVxSXWzzFXXCccMwJ7a1r+gmjDjuEi5RotyrmOspHmUWowHPDeI3hF/YPQ5AG+ScFIKaGOM2i2Fk+qQ3/2RC6R/XkIe7yYWHvHpB0I= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=cqL2slsZ; arc=fail smtp.client-ip=52.101.57.2 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="cqL2slsZ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hQltLXNeMPD1NXXjLvK+awgv9a3snayNMjtOfZwOrRkLksPmZlEFFtpDCMI9oKHzCzc/lZKeG8k2Ya/ZmlI424oMTuHGIKIxunVVC8oUS2PIN27nr+uCFBHeJvOykfMJg5aiAYNpokKqRj2X3FLPupCwIflXS2I86WstG27IUTDJ3Sos9LO93gTq+s6oSD04n2qn9Uk4vgFAZflS00+e8fpCuTY893+xicjVcFzl2/8YeIgn3wJGkvsSiwNJ5AWnILH6B4+nN5ijQ5jR9bMGw/2snkiSpNMxXJY5wH85DOyMkX1CxWL9y2G7FX2pB+MLpmKKTjbozblz+4u7z38BGg== 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=Cu2PNoyPHXaPHHDe/kk5zDlt2W8gJm9Sv8bR1p8K1bM=; b=a2KPswTbQxdVFxfCs2eT/0ZM8mprJs6zcE+7hEuPHZGHgrNqRMQRBGja8EEzl14LNORhCsnpS++lXcBgEnimmCafCIdcbOSugjroGkbob4jtoUPXgyOmvqvAmFeQlwcmYV5p4IkgHjoeSjlMF2p1u4AKpU9hrdfnsxDJxRBtbpIlCB+j1et6Ww+zt3ikj8YAdWhrdfOoCHuSJPFnKwRMok9nBnROB0bkUgbcmS3sMJXSwQuip+SMfhml6S3S1KYtp8DQuydIdqoJLOvOsb0pznpaKkiE6nEwOEl7vXae+BUkMSL+GZ7dyDeRIO5IdvN7i6j6oUGrvxJpk8KbT2yJ4w== 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=Cu2PNoyPHXaPHHDe/kk5zDlt2W8gJm9Sv8bR1p8K1bM=; b=cqL2slsZebnGMQ95nmBSWGj1jv94ONjMj7ucuvWuVaw+a6mtVNg3siAs/Psssbkh3EOvL9pyFoc1tmoWwL0IhcDTJYMW8MpWUIX+slGpwqZXxXK7spaJmlPqBzMLJQLzuBUUg4fhdNDdS0jEPHuO03x3xTcGWmZ1WD4TYQI1FsMZi3GF9xCLLxFNL/32w8eb98p+UHPgGTmxs6w0NkLqTfyfPz4Qvod95zWtUptmqwpDeg/aopLzLzNYgwv7L/6hICsudrmEd7f5kWQH3VBTNmLvJuk4GzNiX70jkG5hUi7m7wt8wXrofsMj3db2jnvXzcp7oO2tom3e9WskbrJkTw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) by PH8PR12MB7373.namprd12.prod.outlook.com (2603:10b6:510:217::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.16; Sat, 1 Aug 2026 02:17:00 +0000 Received: from IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16]) by IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16%5]) with mapi id 15.21.0270.015; Sat, 1 Aug 2026 02:17:00 +0000 From: Zi Yan Date: Fri, 31 Jul 2026 22:13:30 -0400 Subject: [PATCH RFC 07/14] fs/erofs: mm/pagemap: add readahead_folio_reverse() to avoid folio->private Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260731-remove-pg_private-v1-7-142c97ba3562@nvidia.com> References: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> In-Reply-To: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> To: David Hildenbrand , "Matthew Wilcox (Oracle)" , Andrew Morton , Muchun Song , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Baolin Wang , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Usama Arif , Gregory Price , Ying Huang , Alistair Popple , Johannes Weiner , Qi Zheng , Shakeel Butt , Kairui Song Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Zi Yan , Gao Xiang , Chao Yu , Jan Kara , Yue Hu , Jeffle Xu , Sandeep Dhavale , Hongbo Li , Chunhai Guo , linux-erofs@lists.ozlabs.org, linux-fsdevel@vger.kernel.org X-Mailer: b4 0.14.3 X-ClientProxiedBy: IA4P220CA0002.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:558::13) To IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA0PR12MB8374:EE_|PH8PR12MB7373:EE_ X-MS-Office365-Filtering-Correlation-Id: 5b718f75-4527-4ad5-4b46-08deef72f81f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|23010399003|366016|11063799006|56012099006|10067099003|18002099003|22082099003|921020; X-Microsoft-Antispam-Message-Info: cY6vXdRV/vF0F+k/47PdhIkvJwP7SpFo2Xdk9DC83j1gYreI3VXtSsJ4HiOI1BArl82P4kh1ihEpIJ60MFBxh/wnq+6Rd9zleuTIOr7kHg1FY2NdRiU0hpT3ViJFZTvIwZa4i3eEla70a6YhPk52yuR1oiZB+SpgL274/iyNMEaJtuU7ccsRTWBj7Wu6WnuI4l/hr8PHb+in23N5i9r+ibmdxfYw8elIm6myzuy47VpTxg4+4cVD2zLy/bF3qNxFSEfGs3kOiDkkTVkU7+HMm669OtYNQYUIYethxneB7A4YFTrQY6BkORFn7eZaMIP7XO7ZNw5Kj6jzslRVmHzCIy362icfIy6YV89YAMSwsb64AHVDAjlyK6s5u8N91iG9sgK3pwj8cdWyh3bmF9hmxJovYM4y4ypXh7hvqLryQsu0d7xUvyA/bwj4hbecs0rn/fp/zNPXLRPAIxQGtCPtq5yEwyRXBIHGqYB/2gth/7TwBqVbvFUwkSAFbqRL4mtLQTgp4eLedAN3A9ZwbzUnH/deyQ/L57gO2QbGtx1j1VdW/ASzb9vZb0XNM9A1B0U/XrTZLtSaPym9K1iXbBe43EQjL52+zxFzxAhq1WORxQIFx7/RdMv35JqzH+rThg8emKWKexHmbFn0OpmAMoUYpy2y6K7u+0D8jset7179X1y/KORjp8/3/BbVVO6BQUAMzOsBdaf0jMRdF6CGwWoFBA== 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)(7416014)(376014)(1800799024)(23010399003)(366016)(11063799006)(56012099006)(10067099003)(18002099003)(22082099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZDEwOE5ITDhMdmFhQlFUaExGK0tGZEdlbUZFR2FtWmg2U1pMTkx1eUUxWGZ1?= =?utf-8?B?U1JnUTNpTDZYS005QnhJM1EvMFd1OFVWakowSEViN2wvclhpQVJuMUd5TC96?= =?utf-8?B?WWpxLzdScDdrUGN0a0hZZTlZL3NDcFBnZ29GazNsVTdkaHV1UnV4M3krbEx1?= =?utf-8?B?VGRFdll1VGoyajh6RnU5ZS80WlBLQUVxblovQ2RKNXRIWndndENpcE9wK1Fm?= =?utf-8?B?bzBLWWFVZFUwQWFnTGdqakd5dk5HdTNwQmxaYlZUMzB3UDlIdjBuNjk5YXQy?= =?utf-8?B?c0Q5TGxOSCsrQ0s3b083QXdQRjJodmFtdVB1RXREVzNOYjgzenFyb0MrUWwr?= =?utf-8?B?MTQ1d3NCNGtKUEZ5VXl5bklhYjdvR1Iwb2Z4bFdBTERHOFI3NVBLdkJER2hh?= =?utf-8?B?K01sRVNRRWVNK29sV0djWkhCdDZJVmw5Mmc5bnJPQlUxcUpiWFBOa3JleFNP?= =?utf-8?B?bDYvZXZveE9nZXlicEVhTWpYcnFseUw4ZnJCNFEzbmU5b1I0VlVNLy9pS3lG?= =?utf-8?B?TjRSMHJRQ3A2b1ljRUFYaE9yTDFDTzB2Ny9TZ3FHM2NxeDB3ZEVoOXJOaCt0?= =?utf-8?B?c2NaNFh2Y3NHT2ZFeEtPVmxSbzdzeXEvSUR2akppUmkzelJxYkxtRk1IYkky?= =?utf-8?B?VWFiWFV0ZUtqVFhGdmwxMmVFTEgvZWRTU0R1QXZJaHQrc0F2OW14R3Z6S3lP?= =?utf-8?B?Z2wzZ3FIc1M4U1FPSzlpS28vZWVCY3FQWk15N0xURXgvZEF0N3F5VmZqbXZ3?= =?utf-8?B?TmV2UjlIZXQ0R1VxOWVhM1hPa3VOQWQzYURUem9Edktpa2x0bWpSelJDYnlB?= =?utf-8?B?TzlXOWZPVmpzYzJwSjNtc2ZtQVl1eGlWMVZTSDVqSkpGVTZuUmYvbFY0dXRw?= =?utf-8?B?eGNxOGJOa2pXNFVTaW1IUWxCeDRTZmVnZk54WW1SaTFqQnNlcEJWcnlZRlBL?= =?utf-8?B?eHM2ZklPcG9oMUIvbnV2VlUrcGxkSHJwNVIrZGpNb05wYXNqWnRBcGNOMzRz?= =?utf-8?B?RGpxampUWEllSzZYR09qbTNaRERXZGZvSXc5Q3h1bEkzdVl4QTN3YWxIU3Nh?= =?utf-8?B?ZlVJVjI5ck9wUlpybUtkR0NaTFZSaC8zT1Z5OHlsQ0I4QW16a1NPNXlvSkxF?= =?utf-8?B?eXJxRlltejVRUitrRnEwYkZPdmZQVVhSMGJ3VWtMVVU0V0pvdnpvdzlJSTF4?= =?utf-8?B?S2hJQmRqWG5tWTQ3MXlZeE1McG92VDBheE9MV0llaVdLcno5SUVyRjU2S2gx?= =?utf-8?B?L3pjNDQ0QkxCK0Jub3ZMOW45T2RpdytsWEdrOVR4ZmJmdk5aZzF6d2pWWW5Y?= =?utf-8?B?SkR4czcwVWQ4d2J0UmpzSC9ReXZndFJvWElkUkFJMFcvb1JaR0xROEFCdi9h?= =?utf-8?B?V2xqelZuV3YxSlNMeHNFaGg4b3UrSGJlMmw2SGY1RVRCWWw0dFFBaHZVS0R4?= =?utf-8?B?cUVzTUpEaW9aYWZ2N0NNZFFyQ0VZSVhrbUw1ZkNuTm5hMlQ4clhSN003Szcr?= =?utf-8?B?VThCN3BqSURpV2M3KzB6ZVBhdTlVZ3dqaGxNLzBUdnJTajF1T1YyODE2aDR1?= =?utf-8?B?eGNpTUd6bkZUQzVrYTJvYVBLVWFFZVk5TUJkUGs0eUV6Mi9BZ3J6Ym5ZOHZq?= =?utf-8?B?eUZoOWtmMTNRcTFlWWZvV0tweWV4UGptYzhDOXdGUVFXamlrMDNaRXFpaTZJ?= =?utf-8?B?elhPbUpGbW9MbGdmNEt1Rk1DanFUYmxUcG9OOE81eVpWT0ZIYVp5cTI2MGdP?= =?utf-8?B?MmYwZ3hBWFp6WEM5YjRKK0NpbjBrRXNxL3JVN2R5dUx0YUF5cVc4d3ExdmE2?= =?utf-8?B?cTI2RnFJRXdROVhaMi9wWnBCQjFOOEtvOWl1MWx3WnU5VmZTdmNzRWFzWXdT?= =?utf-8?B?cmxCcElIazEvNDlxRm0vQ1FoTGFLRjNLaEx6NWo3WlFvSWdxRUtPb1ZBN1pt?= =?utf-8?B?ZlNjbnNWb2FFT3FrRE1MSjZUQkhlVmtJZG54TVYvY0JNUGtuY1Z6NUhzYnRQ?= =?utf-8?B?YmZ1WXRWcG5TVDQyS0lsdG1Nbkh3ZCtMd1JTVndSb2Y0YUc5VHlYMFZJRlla?= =?utf-8?B?ZU8yeTNmWWxnVUhHeGFJaWwxOFo5V2ljUGZ4TmVLSWhvSDExNDFLTDdsNUlp?= =?utf-8?B?dGVSdk1KaHFhOUZyMkFnTThTVllvYVY4OXZZaXZJMzMxMjRkSzF3OVNIODJl?= =?utf-8?B?bFBMNWUxV0dJa25vL3dYVWxQL3gwUlVuR1NHMnB3b0xOdUdncHIrR3ZMZy9X?= =?utf-8?B?L3UyRGZJbFppUWVYWEJoOHpUTHJ2SWNqaS9mRmw3NGtvc3lLYWNYVXVPeWs4?= =?utf-8?Q?Q8UZdz3YGAIPhFr/Bs?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5b718f75-4527-4ad5-4b46-08deef72f81f X-MS-Exchange-CrossTenant-AuthSource: IA0PR12MB8374.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2026 02:17:00.1951 (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: due+TvJ9NIwYy7oj02SiKmUnCFUNpRJ6VtB8+179ZDHkHol703nFyxLh+tNAby6S X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7373 erofs needs to traverse readahead folios in reverse order to achieve maximum performance by 1. reading all folios from readahead_folio(); 2. storing the prior folio pointer in folio->private; 3. traverse from the last folio to the first one. Add readahead_folio_reverse() to achieve the same function without using folio->private. It prepares for a future commit that replaces PG_private checks with !folio->private checks. After switching the checks, erofs's use of folio->private without bumping folio refcount can cause unexpected outcomes, e.g., in filemap_release_folio(), try_to_free_buffers() becomes reachable. No funtional change intended. Assisted-by: Claude:claude-opus-4-8 Assisted-by: Codex:gpt-5 Signed-off-by: Zi Yan To: Gao Xiang To: Chao Yu To: "Matthew Wilcox (Oracle)" To: Jan Kara Cc: Yue Hu Cc: Jeffle Xu Cc: Sandeep Dhavale Cc: Hongbo Li Cc: Chunhai Guo Cc: linux-erofs@lists.ozlabs.org Cc: linux-kernel@vger.kernel.org Cc: linux-fsdevel@vger.kernel.org Cc: linux-mm@kvack.org --- fs/erofs/zdata.c | 11 ++--------- include/linux/pagemap.h | 31 +++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 9 deletions(-) diff --git a/fs/erofs/zdata.c b/fs/erofs/zdata.c index 74520e9102596..b59f2745a8e72 100644 --- a/fs/erofs/zdata.c +++ b/fs/erofs/zdata.c @@ -1902,21 +1902,14 @@ static void z_erofs_readahead(struct readahead_cont= rol *rac) struct inode *realinode =3D erofs_real_inode(sharedinode, &need_iput); Z_EROFS_DEFINE_FRONTEND(f, realinode, sharedinode, readahead_pos(rac)); unsigned int nrpages =3D readahead_count(rac); - struct folio *head =3D NULL, *folio; + struct folio *folio; int err; =20 trace_erofs_readahead(realinode, readahead_index(rac), nrpages, false); z_erofs_pcluster_readmore(&f, rac, true); - while ((folio =3D readahead_folio(rac))) { - folio->private =3D head; - head =3D folio; - } =20 /* traverse in reverse order for best metadata I/O performance */ - while (head) { - folio =3D head; - head =3D folio_get_private(folio); - + while ((folio =3D readahead_folio_reverse(rac))) { err =3D z_erofs_scan_folio(&f, folio, true); if (err && err !=3D -EINTR) erofs_err(realinode->i_sb, "readahead error at folio %lu @ nid %llu", diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h index 4e8b2b29f6d3e..90904a4d173b7 100644 --- a/include/linux/pagemap.h +++ b/include/linux/pagemap.h @@ -1549,6 +1549,37 @@ static inline struct folio *readahead_folio(struct r= eadahead_control *ractl) return folio; } =20 +/** + * readahead_folio_reverse - Get the next folio to read, from the tail. + * @ractl: The current readahead request. + * + * Like readahead_folio(), but walks the range back-to-front. The folio is + * returned locked with its refcount dropped; the caller unlocks it once I= /O + * completes. Compound folios are returned once, at their head index. + * + * Context: The folio is locked. + * Return: A pointer to the next folio, or %NULL when done. + */ +static inline struct folio *readahead_folio_reverse(struct readahead_contr= ol *ractl) +{ + struct folio *folio; + + if (!ractl->_nr_pages) + return NULL; + + /* xa_load() follows sibling entries, so a tail index returns the head */ + folio =3D xa_load(&ractl->mapping->i_pages, + ractl->_index + ractl->_nr_pages - 1); + VM_WARN_ON_ONCE_FOLIO(!folio_test_locked(folio), folio); + + /* Shrink the window from the tail down to this folio's head index */ + ractl->_nr_pages =3D folio->index - ractl->_index; + ractl->_batch_count =3D 0; + + folio_put(folio); + return folio; +} + static inline unsigned int __readahead_batch(struct readahead_control *rac, struct page **array, unsigned int array_sz) { --=20 2.53.0 From nobody Fri Oct 2 12:20:17 2026 Received: from DM1PR04CU001.outbound.protection.outlook.com (mail-centralusazon11010053.outbound.protection.outlook.com [52.101.61.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D156A3C4546 for ; Sat, 1 Aug 2026 02:17:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.61.53 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550638; cv=fail; b=Ahq2Nva+4za21hefrzCqBltitKE5n0/8G28IoitFQqpz85pGH5ZZ61D6aAm0cku8Q0s8JCgmQaFT6jey4HzHGkJDWg+Wf0/nwscuZyANjS5Tv1cSckc2XhKkm5Jyq5WDtC78SgO6wpD3zQqhcQySrJLzzsPlNszxjOZsSkPprLs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550638; c=relaxed/simple; bh=SBjtzVaza7hi1Lg/biww2CRJKxeFLRrDPoCiyo2faLw=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=qJwpBqc42YytHxVij/Nxp4viDwe6/7RVnp0o3pPX5Z2ET3ZG+YBx9tn35JqbAUEoq6aXNKq5TlBaL5ZF7kMXRZ/aNg7B/EDNrxs2+p9BzmMBONPOwAYiB0dOwoqyBtp8ug8aH81tSDRaTDOTizcW6PXR1ThlF5TIHBgfqw5ko2c= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=rj86P/nd; arc=fail smtp.client-ip=52.101.61.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="rj86P/nd" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=dUuEEGl2IUJrJD2EqhZcKaEY9wKyXYI7bHbk4HQ1g95Y75vXx0DAdo2YCT11UyqhdMuTBNpXeDITAHkNZqaGvayPzqUrqvUPhCfIieDHgq7l1J17gpsR4E30s/1XpYd50TXW24COyNFvX+E2hLP614Y8j8598iDatWN4kO8X2GSC8jcH6hzrfkFLhWR0X6r0iqQJUtg6ypbxMNYzPZEGuoFXuLMMdjBrQbBeMI02JPvsvq/zm2n+xyBkzxWWKpAbilLopdkjWXFrGSF14tgBZcQq154q8peKIMKAKyYhWH+P8QPmsOuu/uAD+R86yr8aOy30L7o1h1OFCROhmvt+iw== 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=EEncI6jDgQ8oag3wg6GEeAFOusIKNSMwKpxUqu0FYrQ=; b=qH5xlpZVQ50RrDAadrjzD3+bU0mXoBL/EILGHIXgh/tyQoGAjdKFDSi2gHalrbk2Tj+BvFtAXM8DVwJSHrHROtp+HiU5v2ISA/oc4OAsNBpA3XvOapAcrroqt/nkR9T3HWsljkRtHc/S3nGt66vEnP1mJ7ygTpEAljbZrZrFigB7amFrL4aYnUroZ/PuCif8u1XJCkgkfSD+0q2PbX4k4bikFI7VInlsLX+JOrNKh1bPecG1Laxfv51Ar6LxzM3ZXaAjiBnuN7C20sUaSyl1fOGeC/j1ksNi9NWLe/+mEerNahWBuExXzs/PGYlMJ2NEFiWTScpKax5XUDNqWX6ZuA== 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=EEncI6jDgQ8oag3wg6GEeAFOusIKNSMwKpxUqu0FYrQ=; b=rj86P/ndf2e5ZbvU76BVAWF8xdEfSpqTIMtFJx92fBmAOCpImX1afvJM0bDdN+ThdL3Tvk6ipz/qK2++H7KnlQRibaeyxv5rkQ7bcIaxKM2qkfG7PNU096++FBkwRz5pASkuAonetcJyzvn2XDF95sxtIY3ylWNSkbYl+pCcn2sSci9xKjn7CAHTq5eCcQUAdvipTigQdYTF98OWcifB7YbSWGLbvgDvDaeJRC9huSTYH6XSTAmPKmeeRomGGlpN0WqRIW8sPd4DBizn4zuNf3YEFLq2VckHjbycs+je8mHwrSO6EBWSVPFct8rBV5nd3nqUoMUswrggb2JWLFK+sQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) by PH8PR12MB7373.namprd12.prod.outlook.com (2603:10b6:510:217::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.16; Sat, 1 Aug 2026 02:17:12 +0000 Received: from IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16]) by IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16%5]) with mapi id 15.21.0270.015; Sat, 1 Aug 2026 02:17:12 +0000 From: Zi Yan Date: Fri, 31 Jul 2026 22:13:31 -0400 Subject: [PATCH RFC 08/14] fs/erofs: use folio_attach/detach_private() instead of direct assignment Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260731-remove-pg_private-v1-8-142c97ba3562@nvidia.com> References: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> In-Reply-To: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> To: David Hildenbrand , "Matthew Wilcox (Oracle)" , Andrew Morton , Muchun Song , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Baolin Wang , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Usama Arif , Gregory Price , Ying Huang , Alistair Popple , Johannes Weiner , Qi Zheng , Shakeel Butt , Kairui Song Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Zi Yan , Gao Xiang , Chao Yu , Yue Hu , Jeffle Xu , Sandeep Dhavale , Hongbo Li , Chunhai Guo , linux-erofs@lists.ozlabs.org X-Mailer: b4 0.14.3 X-ClientProxiedBy: IA1P220CA0001.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:461::15) To IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA0PR12MB8374:EE_|PH8PR12MB7373:EE_ X-MS-Office365-Filtering-Correlation-Id: ef79e80b-cbc1-4a07-5bab-08deef72ff5b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|23010399003|366016|11063799006|56012099006|10067099003|18002099003|22082099003|921020; X-Microsoft-Antispam-Message-Info: DYPBZ1LECW4V6HIl14lPv6xElU7H7dGN5vgbu7r9jCi+KStPs2KKfiQ8NP8z9whP1WjIL984USM+c4Dcswg2ei8hHBrSC3yQvIsgkA9Ldg2Cm44RIFuudCoGv/vgFPaMEn9/16Jv/jBPSq6rG54RYE4nR7Cz9xVM4jwi8Nn6j+KKztuQG25s/2fpDTB9WMdhs/Nks/NRF5nozMUJdahWJmW89FcpaLU9heLn3cDJpnEznRS8DNYRLDcYKIMkTE249FwiMAt5Pw7IsMMW0ocULYoyh1Vv5GMRtiQ4wt9cNG7RGPngb8e9liLle+T/0a/IccrXSri3zo88a/Ee+oP+6pznkhfrvJK6eniJVSXHI7e/Gq2ecYYqdTsdX9QjheDD5qL8YagfHfghZahFn5qi+QX2xp9PFuQyom78iaIPbMDIgpk89fNkjhYwE0/Dtzb7u7SZt2Gf5FnV8N/AVkYq3Ih/cDpRc+fQEAULe4sd3gG6QHVkBDyBuTkjyio1wOiV4KjtFyDrelfuELRhQUL34jepE44a2DnZauxHZuFnsWbeSbdHtH9L8xZQ3T+7VdLkMhaKcktCHXh0Wjs2EjlmxmKSV6Id32fmZEuX4QwFww85jgJB8XX++e0SoytLFsfRUvg0yg2GsmS0l7SV4lWi/FcegAnCDdYsbyAm4SsUNGA1hHSGwTJfqQn07rLiEcpMx4P0LPMePccVRaasqmC4+Q== 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)(7416014)(376014)(1800799024)(23010399003)(366016)(11063799006)(56012099006)(10067099003)(18002099003)(22082099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?b0FzOTFkQjBqSXVaYU5vSldYTmtTeVNKR3lGT2xBb04vYzhEK0RCVEEvdC9I?= =?utf-8?B?N2tPSEkzcjZBalRCc0FOandwUmlUUUdtWEtuT1BId0NuWWQ1N0J6cXhleEFS?= =?utf-8?B?QkJMN3p2QmtZcDRpalM4Nm5tTjdxME03QmZsZDUwd0dwWDNwK25yMzV4NFRV?= =?utf-8?B?NUpNUG5ld0tja09ETlFlOUl6NnVtbU1GWm9qcTlPZ0l6YzNDOVNXRGdub2pl?= =?utf-8?B?SGgwOWNYVWlJN2lCNXlvYmZmemwvQkhMNkRYNm5ZcUxibTVna2NCbjgyVFpD?= =?utf-8?B?RXAxNVpSR0xpSXh0WUZGNDc0b2E1d2UxVVFUMUsxVWthRm1uRkUzeElUWkRS?= =?utf-8?B?U2U3c0loRFpkU3lvK001d0hyZXNqYVdNWjhPN2NwcE8wL3hqbWhBRXBzRWNu?= =?utf-8?B?SDhsOVZkdUhhaTlrL3ZyOWtlYjFpV1cwRzBISlE4ZTl6VGFoTVNwekFWMzRa?= =?utf-8?B?TWJPNmhia1VLSWhFekhvRzhHRVB1T2o4M2w2U0JZbWEzUkVVR3BqamtKUFBM?= =?utf-8?B?aUVieStDQW9QQ0xQZmFBTjJXblB0aFVnZ0NTMXpnbDIybmYxaEhQTEZXaUZo?= =?utf-8?B?Y2JwWFZyN2hiMVUxQWtTQjZIQzdZMXRRSElBRzFJQ0xoNkdIZnUwTFRzeEhN?= =?utf-8?B?TUVmU0NocUgySTdyVmQxZVFMN2JHRVNobkE5cmJyd3hEdmwxQ002N1hpUW5l?= =?utf-8?B?cmJvanN0dko4ZURJV3JLSWs4ZTZDMUE5cExFYzVIUnNXNXV5VTZHUktCaHFr?= =?utf-8?B?R3JXeHcySUtER1pRUHloQUd2cVdHd0RPZ0FjcGhHOHBuclFvam5FYWM0cU9S?= =?utf-8?B?T2IvRGl5NE4raGJIZHVmSHBZdVZuclp1em9MK2JlNG5tRmFuRjhZRGVWNG9S?= =?utf-8?B?ZTJqVTlLMTcySm1pVkFYMmNrblh1RW5oL0pPVnIrR0o1MFZDcm1YMHVNcmxz?= =?utf-8?B?MXFMUmpyU3hFMHhNNmhsWGRDN2Zoc2p3TitsUVFYdVJ0WDhzNExrcGdXd3kx?= =?utf-8?B?VE4vb2dGZ0R1dC9zMHAzaFhaMzI3S0F2a2tDRnlySTdQckNMc21jY3pwR21P?= =?utf-8?B?M2Z5TGNPYlB4bEJzRW0ySjNxdklDT0dBK25nT0NvUlp4bmhCM1pUVnB5TlNM?= =?utf-8?B?SHE0N3JET29BalpuRDZDdDNHc3hpb3VKcnoxNDZJTjZxYWlLKzBXVkNTOEs5?= =?utf-8?B?V3FIT3ErcFpxaytsRE5LT0pvcXhoemVCL1BnMEcxWlRDSEJUa00xcm9iUFZ1?= =?utf-8?B?cVZMeEFiZWo2cjhpdVc0SjJ4QVg2Wno4K3R4bEttWlZoVG5BNnNyemJIYUJO?= =?utf-8?B?QlBkNysvQTEzY1FzWWNjcWVaVHVVS2JyWGV4T1dsdWpoV09jbjN0N2FVMmVN?= =?utf-8?B?N0xLK1M1NStWcW82QkFGclJXK0JpZHYzdlJmS3Q1Uk9uQ2lrQ0xiWW4vVFlo?= =?utf-8?B?UjZxMG05ZkpIUzYxYTJGT3Q1QXM5MkFEZ0V3UVRyeHNGekNFTGZ4eDIwZTZR?= =?utf-8?B?c3pPZmpTMGhSQS9kN05Ca2hadnFPbmcrWXlQWkk2VnIyL0RyaVZlMS9hOXdH?= =?utf-8?B?Y1dzVGFTMVprMDRtYzVDWVlxcUprS2pKT0FZWlNIQVVFKzEvclFkRUg2RVR2?= =?utf-8?B?ODFWR21hVFZLc1FiYmk2R0dLTjV5V0RkVWwveVV6Y0IwSEJTNE9LZWExdG5a?= =?utf-8?B?ZjF5aEp2cyt6WGhKc0k3M3BXcFJVZGpJSXl0Z2tJaDZjOVZsNjhlSllHcGtr?= =?utf-8?B?Z1RWa2xsM2x1YjNwYTNMdmdLWEhCME5UcjlXVG1LTFhsN3ZDV1hkenJ5MnhC?= =?utf-8?B?M0tWQVBUc3d1bVdQcEVZNnArZHh0SEd1ZzdFQXh1SGc4Tnc4anBpQkdFNGlU?= =?utf-8?B?cVdUcXdYZ1d3VkJiZXgwOU5IUzc4TUx1VXAvcHB5K3E5OGtjNHU2V3pOMHRm?= =?utf-8?B?My9qQkhTQzZvcGlCNlZiTWdxUVNlNGxsNDB3U0NrME0yajdqNVl2MFNsR2xF?= =?utf-8?B?TDZzaTl3OVhyUVg2bjFZTnJaWW5veXJOWjlDdEF2Uk0vcXRvYTNjeXVtMUtv?= =?utf-8?B?V0IrVnc2VHJSNnkwK0s0THdIZ1FaYXpSTWNpdjM0UWtGL3BiTTNvR1p6bE50?= =?utf-8?B?NGVlM0pkUDcrNHo5N3Y1Q25PWW9YaERKWXVsUGJsVHExbjZKQ0kyQllzOHdz?= =?utf-8?B?OVVCMHd3cXV6b0dFTU9qdWFVb3VMZzlNL0xMUjhBNjQyQis2NGFkOHRETUFX?= =?utf-8?B?dzlwWTNzeGtwN1JxcTNSb3Y4N3d2ZlR3dkR5VGM1VWVPMXJjYk05amNDUzB4?= =?utf-8?Q?0MVLxJUP2pMHxIUJCz?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: ef79e80b-cbc1-4a07-5bab-08deef72ff5b X-MS-Exchange-CrossTenant-AuthSource: IA0PR12MB8374.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2026 02:17:12.3449 (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: k2pknUau9t9GPASVywterpQNPIWNNQMzO1INHwAscrs7AFxf0Gq/9bjtbdaGQESe X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7373 erofs_onelinefolio_init/split/end() use folio->private without setting PG_private or increase folio refcount and it works. But after PG_private is replaced by checking folio->private in a future commit, it can break folio_expected_ref_count(), since the folio has private data without elevated refcount. Change it now. It prepares for a future commit that removes PG_private. No funtional change intended. Assisted-by: Claude:claude-opus-4-8 Assisted-by: Codex:gpt-5 Signed-off-by: Zi Yan To: Gao Xiang To: Chao Yu Cc: Yue Hu Cc: Jeffle Xu Cc: Sandeep Dhavale Cc: Hongbo Li Cc: Chunhai Guo Cc: linux-erofs@lists.ozlabs.org Cc: linux-kernel@vger.kernel.org Reviewed-by: Gao Xiang --- fs/erofs/data.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fs/erofs/data.c b/fs/erofs/data.c index 9aa48c8d67d12..356665f025fb9 100644 --- a/fs/erofs/data.c +++ b/fs/erofs/data.c @@ -263,7 +263,8 @@ void erofs_onlinefolio_init(struct folio *folio) void *v; } u =3D { .o =3D ATOMIC_INIT(1) }; =20 - folio->private =3D u.v; /* valid only if file-backed folio is locked */ + /* valid only if file-backed folio is locked */ + folio_attach_private(folio, u.v); } =20 void erofs_onlinefolio_split(struct folio *folio) @@ -284,7 +285,7 @@ void erofs_onlinefolio_end(struct folio *folio, int err= , bool dirty) =20 if (v & (BIT(EROFS_ONLINEFOLIO_DIRTY) - 1)) return; - folio->private =3D 0; + folio_detach_private(folio); if (v & BIT(EROFS_ONLINEFOLIO_DIRTY)) flush_dcache_folio(folio); folio_end_read(folio, !(v & BIT(EROFS_ONLINEFOLIO_EIO))); --=20 2.53.0 From nobody Fri Oct 2 12:20:17 2026 Received: from DM1PR04CU001.outbound.protection.outlook.com (mail-centralusazon11010053.outbound.protection.outlook.com [52.101.61.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7006C3C73EA; Sat, 1 Aug 2026 02:17:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.61.53 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550640; cv=fail; b=YT5srgk8qH2vcx6LUKSM8+zmHScCIRM9JUpMYTKytN6eXgJ+LdNjDSMWHAm4iJ7dHWUfZSaxF41HPNMLHuKWbNmJptPWuwMY2xtpDAaHVb/pPxYCtr5mmPf/xz98ULfMjvBT73GYMvN5Q0CmsNPumyBrX4TOKvDl4OAGi454uuU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550640; c=relaxed/simple; bh=wEswOiTbZx+kaa8gIz46hWdl9AlGstYHUwyRcca4hm4=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=oMf+Myp71z6hMHqeoiu6kf9I5X2wekc6cEXQUM/ZVfLtDKwEnUX3O9BxKFfujaRlraVdibqmvBeKGK8gs1Suve02e55jSo8B6ja9itZpdA011eL24pczxTFSOl6WOO+4oT/hiMIlcHk0kP2XABJ4Vz4iVfl5fdqpUDMYerxHrbg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=V7+fAAvw; arc=fail smtp.client-ip=52.101.61.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="V7+fAAvw" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jbGxXhNqhqciYfrJrT+4pIEbvJiIw82PNZRMXUdPr0sILKYGJzhnIht3Bnk38obhpcHYLPVDROI7m5Zhjw8GCS59o/Jc30Rw1xhMmkW4v9eytQKdP1acM988Erx1+7ZkKZwYs/ZbQbx9AJbRkR1WgIundYccYWswCe3c/GgKXbAspFpMy+zGaViBvlqMA+HIgRAuIMY8ZkcwzyaZiIzblo4LvDNdLYqSkvqSTXwA8f1IHLNKuo+khRWiFSU8/LBYGdfta0xXSEzYu1d+j2Nv6XgDewBr6uJIvDpTEyilzFkoQCJpUqJtRFnCEkj6gIAwnRZ7WVe34WQIIXjv6jeGMQ== 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=Ve3jazNzqzZLcEb5eDxPBcYbxu+FauvcjmAdxm+XhOE=; b=cgC/pVP5TR3AC3QGsxnC0vh/XYrOh5hZzSTcEbqC8KuawZDArfNZqFqy4H2FIX52z0lQI91FXeEyV7wcOHfu7HLY7nPHxLAYLKPpSU1ZzDBxbBMWHrPxijRnvc5W/4qdZuPzptaNxr3mxAf4NVwUSYfhHiwwzYZWUs+v5V1FHdHo5BJU5QbetN+4g2iCbBrY0x7XTQWJNjwvfx+rSySYoT6RLRV4KLxswrK92herYPxi0IgaZBZoYqxZo7jJAGAqkW9FBuNfBBcBts9qebaHIgsQkaeYZymeHXdSlBve8KKrRFFOZZWhdICIX3F0NkG4X4ML05Vd+F7DFkLKTA1erw== 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=Ve3jazNzqzZLcEb5eDxPBcYbxu+FauvcjmAdxm+XhOE=; b=V7+fAAvwwk4WuzJdQ0jIA0xuEJchU8eab6bg6QvKhv1suDbmJDSPPiCygBe5FwEJxbwtsC96E5Pqn0T664HKzN8BQ79LNOzsiUOmnH9BTXzcFdZKcvuAOGnGa4zqwz88surhqRykN34MhYYWBhukm4H4HXi9aNTNji2F6t8odr+6IlmaIjZs/Mds7RRO8DYaRImNdLZ4uTvsECqtMX7HzsAjnHE3a2OYiEm8llPcCc8IgpNsp4x9t6fDs9qYrZE/rje+snoy/ZijDSN+nrZD2BfR+jIu1eaE33N7vVG5l5umRk3yfMREDkL6QapUPgWsPZswOpqSztSQ0LzGCkI1hQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) by PH8PR12MB7373.namprd12.prod.outlook.com (2603:10b6:510:217::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.16; Sat, 1 Aug 2026 02:17: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%5]) with mapi id 15.21.0270.015; Sat, 1 Aug 2026 02:17:13 +0000 From: Zi Yan Date: Fri, 31 Jul 2026 22:13:32 -0400 Subject: [PATCH RFC 09/14] mm/page-flags: check page/folio->private instead of PG_private Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260731-remove-pg_private-v1-9-142c97ba3562@nvidia.com> References: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> In-Reply-To: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> To: David Hildenbrand , "Matthew Wilcox (Oracle)" , Andrew Morton , Muchun Song , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Baolin Wang , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Usama Arif , Gregory Price , Ying Huang , Alistair Popple , Johannes Weiner , Qi Zheng , Shakeel Butt , Kairui Song Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Zi Yan , Steven Rostedt , Masami Hiramatsu , Jan Kara , Mathieu Desnoyers , Matthew Brost , Joshua Hahn , Rakie Kim , Byungchul Park , Axel Rasmussen , Yuanchu Xie , Wei Xu , linux-fsdevel@vger.kernel.org, linux-trace-kernel@vger.kernel.org X-Mailer: b4 0.14.3 X-ClientProxiedBy: YQBPR01CA0167.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:7e::23) To IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA0PR12MB8374:EE_|PH8PR12MB7373:EE_ X-MS-Office365-Filtering-Correlation-Id: 71af5d83-175f-41d2-c3b9-08deef730010 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|23010399003|366016|5023799004|11063799006|56012099006|10067099003|18002099003|22082099003|6133799003|921020; X-Microsoft-Antispam-Message-Info: 7TdfpscXtX+ZAOJ6wPVnLfzAI0qontjN5yLip1FhHQ4igRjsTB3GCWogwEQmeQVQKvc7EWQfFsWxdEv5428GhQZyXtXW+/MYKkee8dDXhaKRsNl6kNLtXCsZWZXKFR1sI0TfKWoSxafQM6GeQdvbsjs8vZo9HJuXlbILiWozubTHz3gez4pydOOXkXIv/o0k3USSdHfXZHkQy+CBmVuLGDpscxCXOhZSwWJefvl6jqjvwuXT+EAKKR67ZwlFKCxL5/EZBcyfYYquEPSRni0ZfzFs/yAphbcGX7CDi0UlB4SW5gg5nK/oA2ZFdU7ZGzXL7ApoL2q4JazWmaQ21aZCoQ6v7X6XQEo7XCeJKwJVDHBZhTtCqeyruGLoh988PQayV4QxzogRfg7sWXlvnQAkdbOluWeRlDegoXagKQ51OrLFzU9JF0BTtAPvVRC49Gd0G6daytizz4Vb8UE3SO0X5AJy6PcXgWjip8kW2JJIVSjJI7MSwjfgcbMxjKqb9LhRfDYOp6ecJjdbH0yCamcrun1YgSzHy5fLrM8+g0wwtrPAKPdsTGxk5lmz3tWrlewuJZkQYdsgUdJ/YHj7mPmIsHJmNEf4Kdq0cJk26PFE9HsnbEsx4FaG29LH8I206r/7X+k+w3F7LUd+W0vI/6JkF7zFs7OXZSRfGWm4mEoFn0/pVXHQLWwubJ+of6tD/1a6OWM2SqOQfNvqJ2VHxfRX4Q== 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)(7416014)(376014)(1800799024)(23010399003)(366016)(5023799004)(11063799006)(56012099006)(10067099003)(18002099003)(22082099003)(6133799003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bkpoMTFuWk9EMEFreVVkcUtvNElkRnczWWRZQTk5Mjc0R0pMRmNUVzFnbjAz?= =?utf-8?B?QUIrcC9mSXIrZEd5YjI1YVRyOGxtRHF3R0h4SXR2aWIrUGZBc2dTWHlqSThH?= =?utf-8?B?cllHb2NrSnJialhqNTFBVDJYR1dNeXdPU3dZUk1QeWpWV3ZNcEpTYnZFcmRx?= =?utf-8?B?a1FNMDJXSXV3cXZsV2RWMmFnTGNYbmxFSVZpZ1FreXEyNWhnQ01SQ0c4eThr?= =?utf-8?B?TTR0N3ByVHJGMlRVNkdQNDlZa0g1R1c4VDB3WjV1RWgxUU5ESG45NUtXZzAw?= =?utf-8?B?MkJ4OUM1c1l0K2xaU2EzSDEydldoZFI1ZndPVFVYalBvclNtcU9Ra3NXdnd1?= =?utf-8?B?VkdHVm1aSjVBOTdLZmFiUGRUSHJKK2xpazVnTXVHdFpRM21EbFdpV3h3amZ1?= =?utf-8?B?QnNwMXJtMVR6a0RISVhGZUROdjB4dlp1YlpkbDNibTI1N2w3RjR0Qmd3a3p6?= =?utf-8?B?Ujh4bkt1VVY0eGxNS2RjMzY5SkVPYWxqTzBsK1o0NUs5NGxrZlV2c3VLYW5T?= =?utf-8?B?aXV0dnpnZTNvZk1DY2RHTzY4MERpV3FHdURia2NjcFRKNkhHV1ROUkc3ZXNK?= =?utf-8?B?M3E1UG9XVTFMSHFmNDZoTkYwcTlZVHU3dlZxVGFtK3k1Z2M4OGY0NnBvS2dz?= =?utf-8?B?N0g0bDg0Y25TQVRmaXVoR2ZMUXJCbGVtOWtqUEFQRnU3TW95aEtGN04wZlFT?= =?utf-8?B?T2V3WUxhUmhkSjJBOFUxR2hYd0lnd0d2a21NVTQ1Z0dNUi9HbTRyUEloWWhT?= =?utf-8?B?ZnhpNloxYnFQOTRaTUozS21ERDlFVGpHK3FJRUFtYzVxd0pHa2lDMHhzSE1h?= =?utf-8?B?NlZWT2lNU0R0dGpxQlZ0Um0zSG1JQTY3c3h4VjF3cnh1TFU1cFUyWGZwT3BF?= =?utf-8?B?Q0tSUm5PMDh1OE81ZGxSOTBuUUR1aXBEUVoyZmlpY0dYMHRWZWVqcDNGVGp1?= =?utf-8?B?aWpyZWhEUFhDNUsyMFo5bnE2V2YyY0tldWZ3bWZzRmFsaU1vNWZZek1qZ3I5?= =?utf-8?B?VDNLb3VqUlBIQlFReVVwVEt2alpyU05MTVZhMVp2UVhXVFB6N2t3TzgrMVNr?= =?utf-8?B?TlMrOWZQdUcydjh2N3dyb01GZFJMMmZ6TmJubjZ6RUFXSXBram1QVEdVZVF1?= =?utf-8?B?Yjllb0ZuTXh6cjFEVjB4bFUvZU1oN1Zha1dNSG41Wjd0TGpEREtNaFMrNlBx?= =?utf-8?B?V0lnWTVJVjE2REFKKzlWdkgxWVQ2L00zWkNuUGVsWjczRjdKRE5OVk9LaVJE?= =?utf-8?B?ZWp0MkhDWGE3dUNPZThLV2o2cXBFaHBZYTZJZU9QS2cxd1RodURac1JFdW9w?= =?utf-8?B?VUEwRzBrNXdvd01qOU43dnMyT0t5WE5adkQyaUVLOGNQWGliby9jNlZCOXdr?= =?utf-8?B?S1laTWN0b1NuL0tCZXhqUG1MOXVRRGtHUlcxQ0pQcm1rdUpCUXJDQjlib0Fw?= =?utf-8?B?MXpyemhtUUE3VnNFdnovT3RpRncwa0pheEY4RkpVd0FXWEF1ZWw0Tlh2VEtn?= =?utf-8?B?ZnJIamlxQXUxRUVnZUlMUHdDdFgyc3VQSG5UYjBEL0IwRFhsdC9oeHFNYXYz?= =?utf-8?B?ZzMyVVRzUTdQa2ZVL3R0TmRnRzY5QkVwb3lDNDFQeW96N1NlcE9tSGloWkN5?= =?utf-8?B?VWZjaHFHcnNrVTdaRTFsSXd2NllITGRBUjdEZW5hT0dSUUVITUNxY2NCaUlI?= =?utf-8?B?T0h3MEZrekVIOEIrMWY0NkZyMkY1ZDdueWZhblhUV3piOTI5anFoT2RRd2Z0?= =?utf-8?B?QjRxcmQ1OVIvZ05qOW00Uld4QWovTTBNamFRZGpmaUdxSlRISmttcnVZdDVC?= =?utf-8?B?dTBKRENFeTQ4bFYySnl2VDBFTGVKamR1MWsvZVpUTFJhUVNyekRQbGpkeUlv?= =?utf-8?B?clFZbjFsYWM2cXIzUU1jS0V2U1htdzE5eWVraUNTTG5pd3Fmdk1ocWZSR3Zv?= =?utf-8?B?bDNUaVpNaFM4bE1mc1JmQTdVRll1bnJBODNVSGN1b2RmN0Z0eVo4WDZvUWJH?= =?utf-8?B?VkM3ZkVHTVNmRWR6cm1MSkdIdlBadUxQMlRPa1RIVGZWYlBLMzhKaWdza0tv?= =?utf-8?B?djJ5MW5aVVNuZ29aOEJ1ZnFTTE50b3UzSFRDd1R2ckRYTW44dUdxZEdzNjBr?= =?utf-8?B?UmJDL3ZQU0ZjV1BuOWxUTS90bURJQ3krNUNabjBzWktLdVVucTdtazdaUkFs?= =?utf-8?B?OCtNN09Gdk5UZERyNm5nUzRUTmpaRy8vY1VTK1F4RDZZWENST2RLcUFQQUxQ?= =?utf-8?B?eXBGT0hFTThFOXdNc1UrRTlPcHUxME5TZkJPYjltaEZMSXRrMks1TVBrNG5w?= =?utf-8?Q?BhpEpI+xKt9gx0/b2c?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 71af5d83-175f-41d2-c3b9-08deef730010 X-MS-Exchange-CrossTenant-AuthSource: IA0PR12MB8374.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2026 02:17:13.5427 (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: RIAQq/xE66jMQs8qQfKsfq5QTEMuln+3IICksSLLswWWLN5H3HnpFF8YDaNDxuGJ X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7373 After the changes of the prior commits, page/folio->private !=3D NULL is now equivalent to checking PG_private. Stop checking PG_private on pages and folios and use page/folio->private instead, except swapcache and hugetlb folios, because the former uses a field (swp_entry_t swap) overlapping with ->private and the latter sets its flags in ->private. Exclude swapcache and hugetlb when the code is meant to check PG_private only. folio_set/clear_private() and Set/ClearPagePrivate() become no-ops. PG_private is no longer checked at page free time. KPF_PRIVATE exposes PG_private to userspace. Change its code logic to check folio->private !=3D NULL and exclude non-pagecache, swapcache, hugetlb, and anon folios. One minor semantic change, for orphaned pagecache folios (mapping =3D=3D NULL) with fs-private data will no longer have KPF_PRIVATE. Assisted-by: Claude:claude-opus-4-8 Assisted-by: Codex:gpt-5 Signed-off-by: Zi Yan To: Andrew Morton To: David Hildenbrand To: Steven Rostedt To: Masami Hiramatsu To: Lorenzo Stoakes To: "Matthew Wilcox (Oracle)" To: Jan Kara To: Johannes Weiner Cc: "Liam R. Howlett" Cc: Vlastimil Babka Cc: Mike Rapoport Cc: Suren Baghdasaryan Cc: Michal Hocko Cc: Mathieu Desnoyers Cc: Zi Yan Cc: Baolin Wang Cc: Nico Pache Cc: Ryan Roberts Cc: Dev Jain Cc: Barry Song Cc: Lance Yang Cc: Usama Arif Cc: Matthew Brost Cc: Joshua Hahn Cc: Rakie Kim Cc: Byungchul Park Cc: Gregory Price Cc: Ying Huang Cc: Alistair Popple Cc: Qi Zheng Cc: Shakeel Butt Cc: Kairui Song Cc: Axel Rasmussen Cc: Yuanchu Xie Cc: Wei Xu Cc: linux-kernel@vger.kernel.org Cc: linux-fsdevel@vger.kernel.org Cc: linux-mm@kvack.org Cc: linux-trace-kernel@vger.kernel.org --- fs/proc/page.c | 6 +++++- include/linux/mm.h | 11 ++++++----- include/linux/page-flags.h | 26 +++++++++++++++++++++----- include/trace/events/pagemap.h | 4 +++- mm/huge_memory.c | 4 +++- mm/migrate.c | 3 ++- mm/page-writeback.c | 5 ++++- mm/vmscan.c | 3 ++- 8 files changed, 46 insertions(+), 16 deletions(-) diff --git a/fs/proc/page.c b/fs/proc/page.c index 260772b20bd99..abfa6f7d890cc 100644 --- a/fs/proc/page.c +++ b/fs/proc/page.c @@ -232,7 +232,11 @@ u64 stable_page_flags(const struct page *page) =20 u |=3D kpf_copy_bit(k, KPF_RESERVED, PG_reserved); u |=3D kpf_copy_bit(k, KPF_OWNER_2, PG_owner_2); - u |=3D kpf_copy_bit(k, KPF_PRIVATE, PG_private); + /* preserve the original KPF_PRIVATE semantics by excluding non pagecache= folios */ + if (folio->mapping && !folio_test_anon(folio) && + (folio_get_private(folio) && !folio_test_swapcache(folio) && + !folio_test_hugetlb(folio))) + u |=3D BIT_ULL(KPF_PRIVATE); u |=3D kpf_copy_bit(k, KPF_PRIVATE_2, PG_private_2); u |=3D kpf_copy_bit(k, KPF_OWNER_PRIVATE, PG_owner_priv_1); u |=3D kpf_copy_bit(k, KPF_ARCH, PG_arch_1); diff --git a/include/linux/mm.h b/include/linux/mm.h index 7fabe6c66b4b7..ebc035ac26ccc 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2961,9 +2961,9 @@ static inline bool folio_maybe_mapped_shared(struct f= olio *folio) * @folio: the folio * * Calculate the expected folio refcount, taking references from the pagec= ache, - * swapcache, PG_private and page table mappings into account. Useful in - * combination with folio_ref_count() to detect unexpected references (e.g= ., - * GUP or other temporary references). + * swapcache, private data (folio->private !=3D NULL) and page table mappi= ngs into + * account. Useful in combination with folio_ref_count() to detect unexpec= ted + * references (e.g., GUP or other temporary references). * * Does currently not consider references from the LRU cache. If the folio * was isolated from the LRU (which is the case during migration or split), @@ -3003,8 +3003,9 @@ static inline int folio_expected_ref_count(const stru= ct folio *folio) if (!folio_test_anon(folio)) { /* One reference per page from the pagecache. */ ref_count +=3D !!folio->mapping << order; - /* One reference from PG_private. */ - ref_count +=3D folio_test_private(folio); + /* One reference from filesystem private data. */ + ref_count +=3D !!folio->private && !folio_test_hugetlb(folio) && + !folio_test_swapcache(folio); } =20 /* One reference per page table mapping. */ diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index 7a863572adce7..8efc61f967302 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -578,7 +578,23 @@ FOLIO_FLAG(swapbacked, FOLIO_HEAD_PAGE) * for its own purposes. * - PG_private and PG_private_2 cause release_folio() and co to be invoked */ -PAGEFLAG(Private, private, PF_ANY) + +static __always_inline bool folio_test_private(const struct folio *folio) +{ + return folio->private; +} + +static __always_inline int PagePrivate(const struct page *page) +{ + return !!page_private(page); +} + +/* no-ops during transition */ +static __always_inline void folio_set_private(struct folio *folio) { } +static __always_inline void folio_clear_private(struct folio *folio) { } +static __always_inline void SetPagePrivate(struct page *page) { } +static __always_inline void ClearPagePrivate(struct page *page) { } + FOLIO_FLAG(private_2, FOLIO_HEAD_PAGE) =20 /* owner_2 can be set on tail pages for anon memory */ @@ -1170,7 +1186,7 @@ static __always_inline void __ClearPageAnonExclusive(= struct page *page) */ #define PAGE_FLAGS_CHECK_AT_FREE \ (1UL << PG_lru | 1UL << PG_locked | \ - 1UL << PG_private | 1UL << PG_private_2 | \ + 1UL << PG_private_2 | \ 1UL << PG_writeback | 1UL << PG_reserved | \ 1UL << PG_active | \ 1UL << PG_unevictable | __PG_MLOCKED | LRU_GEN_MASK) @@ -1194,8 +1210,6 @@ static __always_inline void __ClearPageAnonExclusive(= struct page *page) (0xffUL /* order */ | 1UL << PG_has_hwpoisoned | \ 1UL << PG_large_rmappable | 1UL << PG_partially_mapped) =20 -#define PAGE_FLAGS_PRIVATE \ - (1UL << PG_private | 1UL << PG_private_2) /** * folio_has_private - Determine if folio has private stuff * @folio: The folio to be checked @@ -1205,7 +1219,9 @@ static __always_inline void __ClearPageAnonExclusive(= struct page *page) */ static inline int folio_has_private(const struct folio *folio) { - return !!(folio->flags.f & PAGE_FLAGS_PRIVATE); + return (!!folio->private && !folio_test_swapcache(folio) && + !folio_test_hugetlb(folio)) || + folio_test_private_2(folio); } =20 #undef PF_ANY diff --git a/include/trace/events/pagemap.h b/include/trace/events/pagemap.h index 36c3a90f0acca..fb9abec40ec79 100644 --- a/include/trace/events/pagemap.h +++ b/include/trace/events/pagemap.h @@ -22,7 +22,9 @@ (folio_test_swapcache(folio) ? PAGEMAP_SWAPCACHE : 0) | \ (folio_test_swapbacked(folio) ? PAGEMAP_SWAPBACKED : 0) | \ (folio_test_mappedtodisk(folio) ? PAGEMAP_MAPPEDDISK : 0) | \ - (folio_test_private(folio) ? PAGEMAP_BUFFERS : 0) \ + (folio_test_private(folio) && \ + !folio_test_swapcache(folio) && \ + !folio_test_hugetlb(folio) ? PAGEMAP_BUFFERS : 0) \ ) =20 TRACE_EVENT(mm_lru_insertion, diff --git a/mm/huge_memory.c b/mm/huge_memory.c index 21c92ee48e469..d21a9b8f40d15 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -4799,7 +4799,9 @@ static int split_huge_pages_pid(int pid, unsigned lon= g vaddr_start, * will try to drop it before split and then check if the folio * can be split or not. So skip the check here. */ - if (!folio_test_private(folio) && + if (!(folio_test_private(folio) && + !folio_test_swapcache(folio) && + !folio_test_hugetlb(folio)) && folio_expected_ref_count(folio) !=3D folio_ref_count(folio)) goto next; =20 diff --git a/mm/migrate.c b/mm/migrate.c index b937cbd764808..ad5daef8721cf 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -1330,7 +1330,8 @@ static int migrate_folio_unmap(new_folio_t get_new_fo= lio, * free the metadata, so the page can be freed. */ if (!src->mapping) { - if (folio_test_private(src)) { + if (folio_test_private(src) && !folio_test_swapcache(src) && + !folio_test_hugetlb(src)) { try_to_free_buffers(src); goto out; } diff --git a/mm/page-writeback.c b/mm/page-writeback.c index 47495be68598f..b44468383f900 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c @@ -2706,7 +2706,10 @@ bool filemap_dirty_folio(struct address_space *mappi= ng, struct folio *folio) if (folio_test_set_dirty(folio)) return false; =20 - __folio_mark_dirty(folio, mapping, !folio_test_private(folio)); + __folio_mark_dirty(folio, mapping, + !(folio_test_private(folio) && + !folio_test_swapcache(folio) && + !folio_test_hugetlb(folio))); =20 if (mapping->host) { /* !PageAnon && !swapper_space */ diff --git a/mm/vmscan.c b/mm/vmscan.c index 17d2b793cbfc4..ab059a2c6ea35 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -954,7 +954,8 @@ static void folio_check_dirty_writeback(struct folio *f= olio, *writeback =3D folio_test_writeback(folio); =20 /* Verify dirty/writeback state if the filesystem supports it */ - if (!folio_test_private(folio)) + if (!(folio_test_private(folio) && !folio_test_swapcache(folio) && + !folio_test_hugetlb(folio))) return; =20 mapping =3D folio_mapping(folio); --=20 2.53.0 From nobody Fri Oct 2 12:20:17 2026 Received: from DM1PR04CU001.outbound.protection.outlook.com (mail-centralusazon11010053.outbound.protection.outlook.com [52.101.61.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A19A03C8C48; Sat, 1 Aug 2026 02:17:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.61.53 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550642; cv=fail; b=slUeKGzGo+f5hcno1zSrS1oZCwze2t+19VP7yibSm9NFPvk6kXGiqxPNeTgqeeKsuy5jMkb/e8zfTAO2LtQ41EDdu3fwI5do7OdQaR0iuvMYpgDt+UIepQlfe9D2nLaZsOP1IZ9TJgBH9XHqa5IJ0WD3V4exmOpKYNlTqoh1e1o= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550642; c=relaxed/simple; bh=2rlQIt/qPCvW4iHWkYekXXXFglmQNSVlBIuRAaHkIuY=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=QTzWgvMonBav4+14AJrG4l91t1sWIRyovn89FOJdZF0spZBPq+WY1UERLhsrbJdFwjEH1aslEqUSdg8158q/eF7nVSq8enUby/SlHfKmcA2wrkh7S2d16amyTAMXNZtIjJXrlVHTYl7BIeKRRKzJ8aOuqsDZiLET5jMEPlE8wOE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=YmK9D+SS; arc=fail smtp.client-ip=52.101.61.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="YmK9D+SS" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=kD4g4wk1ttey5MTQbK/vItLjD1bSuNLPdkONHKbUKvLnwrcXocqBpb6XhvFpyPFMpZqihC25jyepv5FaQcZoN0RKQa1vFlFJJLCVkuGimbospn3DM+RNh+l6aKLsgVUAecI9QqbCw9necZCAncZiOq9jfuH1UL3pc5Exhv9iNHaZDaja4G3gF2yrSBzI+bIjQqjbrotL5H7va01gc2QOcSR2U9aG6uqC1OGh4FO/d1jxqyWh0YiYnGPYW8Qp24uGvi2DjwIdz2tBNx+vuHoNnbMIBzSoqFjEqXJFVZcIvk3gmBQDUS2OZGONQTE6Lv1i6GagTVZ+1WQ1MyMCpTx66w== 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=3QkUoXorDthlznC/aydCAoLmJxnU3u8/BsWO/tbZ3xM=; b=sA0Zx7ZQxOSwUZ1H6jZJmivAX3qlsGI+BCO60gm3xEvsOIP53YojNDbkgr72Zvaufq9g3ZsCpmMRWBQxvRR4IDZmnd2hnKGfPu9yd/AzxWj0gILI86CTWWYc30hcP93w6mcvc9+NA3jI1uw15oXyxKqSN3Db4X2MpIe5hyoYQDz5+JP/nTKdWlAPJd3KJCJ0r6vDRXWU+ymCJwkhMnZI5kneSpwINP0Q1zfA7771QONLvrHnvSQ39u//CLQ/pGb0oq1uerJeRA6HK+Ma5uiW1C1iEYHSS6BwYYWyck7vW/hiXv/ENAmlnNzBEn7SaOWmHBwYrtxeOkjuFo2VsBvBLQ== 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=3QkUoXorDthlznC/aydCAoLmJxnU3u8/BsWO/tbZ3xM=; b=YmK9D+SSYgm2WpLJReodwBIwBpXhjO/e++B8tnuCzvtCfTlmnwA9S0lihNeuMSyaiKl8B/rREr3t9QSFHbvlfvpMcPbPjALL/wl6GnE3blRwAHDWuYODtvSUIhv652e55hr+7mI3+snuBJ4H4A/XxOsUU5PrSrdtg/IWUjNwfzlVRz49t0TWJnwE1Z5aCxQLXAmG/BPJTsxS1nUIgMOwuUuMUIPX0GH88Qd11Yc9qsmHPST+EmAGTKDSZJir+WQTsrDpQNd6TSGUkKqdHS2bxTeS55OSgPoAkJoZkjuzXLdQTJWYk3oL+dj8VVBus5BVekf8EoXH9nOwPR+BPxIHYQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) by PH8PR12MB7373.namprd12.prod.outlook.com (2603:10b6:510:217::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.16; Sat, 1 Aug 2026 02:17:15 +0000 Received: from IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16]) by IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16%5]) with mapi id 15.21.0270.015; Sat, 1 Aug 2026 02:17:15 +0000 From: Zi Yan Date: Fri, 31 Jul 2026 22:13:33 -0400 Subject: [PATCH RFC 10/14] mm/page-flags: introduce folio_test_fs_private() Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260731-remove-pg_private-v1-10-142c97ba3562@nvidia.com> References: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> In-Reply-To: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> To: David Hildenbrand , "Matthew Wilcox (Oracle)" , Andrew Morton , Muchun Song , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Baolin Wang , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Usama Arif , Gregory Price , Ying Huang , Alistair Popple , Johannes Weiner , Qi Zheng , Shakeel Butt , Kairui Song Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Zi Yan , Steven Rostedt , Masami Hiramatsu , Mathieu Desnoyers , Matthew Brost , Joshua Hahn , Rakie Kim , Byungchul Park , linux-fsdevel@vger.kernel.org, linux-trace-kernel@vger.kernel.org X-Mailer: b4 0.14.3 X-ClientProxiedBy: YQZPR01CA0069.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:88::7) To IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA0PR12MB8374:EE_|PH8PR12MB7373:EE_ X-MS-Office365-Filtering-Correlation-Id: 555700fa-23fa-4105-0152-08deef7300e9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|23010399003|366016|11063799006|56012099006|10067099003|18002099003|22082099003|921020; X-Microsoft-Antispam-Message-Info: mY1cXFMnqHJZfDWFOr4Th7Jt9FRhaB4o73frKciw5rz0UHEmyk+DAitIIGKxbDUF/6xQfosRTuMeVJPfy35kSZhFKlloSz1XekT7sdgO7TiLtGSFAqn+2hh9r5HbhHa3sFV5yRbPGqiqH+BxSB8BL+VuMxBk3qTSXQtUEKEgsfcR2cnO5N+i0ww9n23Vz6vaUJ0QxQBM6fC2zd7hjo75utoa3Y8csB7zkKynYmiXewlA/KSRsq4HUact1Fk6khE/msGPAm3+ymbPRX/OIuQQqPCfDDjrKTTu7KM5hhjQSGJJ86egEckqDLGm9hdKSYUeC/hCZV/P1vhFC5q6C/9IcPG9vZIDxZoklk6QzU83VxBdJOABTseh3TD0H0XRI9tZRRFhW6piN/bpX1sNJOYaBnGavIy4mdwgi2DDJGUbyo7sdMR/1N2sYYUQPFEqdFJlhQMXcZNfkBmTUyMtS9VpfXdoqTGcNT/Yh4kseaChBQ6S3Nutye/RXEiOeQSgQBR5S8msUJ8nn24gj2xi3Zb49x6+ROcCSFnV/2dHG+Qgy5Vqayhla8Uk1WKd9wbBwIzA58sbo+Fz94u0U/pe/YRaDOwVjYo04a/dsqeHpio7nZuZRKTaoWn08EhPVS6Q3hqckLTsAnD33//L+MJsm0USzHlhTMwnZ4eovGZ3M29NEVw2e9otFzngCoKcTKDckSAq3xD970oUL+iWT1ATI0bcQw== 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)(7416014)(376014)(1800799024)(23010399003)(366016)(11063799006)(56012099006)(10067099003)(18002099003)(22082099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OVpNdUtkNHhseDVyajBFOEk1UndycU9zUkp2ZXNZY1U4NEQ3MGJGMFUzVFIy?= =?utf-8?B?c042dGtkMnh2MVJPUE5YRXhGVGFMcTAyckhwcFFwWUR0RGFvMHgxU3VmMGRm?= =?utf-8?B?d1dudG1wZUVQUDZwdUs0M0xHeTFKMERBV0pHbFFkczlxSk1FQlJmeDZGUGha?= =?utf-8?B?eFhsSGpaZ2NBUUU4Q2w5aWdVUmxJU2Y3QXN1b3ZhVWllRVdZNjl0cGhJbWdI?= =?utf-8?B?dlVxYkZCQldqVFJHVHIyOGQyZFZ3clNuTldIcnBsWXBFTTFHSzlBc3R2L0Jr?= =?utf-8?B?Wm5PcDF1S3JjMytzTUlhcS9HUTZXSHJMVmlLZGs2dTljRm50dGVBV3pIQXhC?= =?utf-8?B?Y3VzQTRkdldEb3BXUUJSMVMzVFF4dzg5SzlqdnIxVzRtUmdQOE5ZWTVGTXF2?= =?utf-8?B?dERCL2tBYW1xYyt5OCtOQUdtOHZSUU5LSUNiQzh5dGw0NmJHUmZyZzJIUjVW?= =?utf-8?B?YnpqK3pEcmRVci85YWltZnYva3U0Vkd2czd1TGZmMTJKN2dOVFl5cXIvLzBp?= =?utf-8?B?ZWU3UUNLT21FNFRQYVVydEFjTWNNS0tqaDZENEtGZnRxSkljN2NFeCs1UnNq?= =?utf-8?B?Nno1UHp6NzI3Y2x0dEJkSXErcXNIaUswYjZXSzFtU2hkNjc0UnRncUhZUHR0?= =?utf-8?B?amtFSXZReUlyeGpqdkErV0NYQjNmZVR1YlRBUnpwQmIyTXhZWjRWVEU5SmR0?= =?utf-8?B?bnUvRWtnbG9wdTdjdnFBYlJkTFBwa3crRHcwWHQ0Q3A4MktMY3BmcVVHSnNx?= =?utf-8?B?T0p6YjdKTzdHUU43MU9YLzN2SCtmL290TGtJaXNyUEdoL2VrWldmaERUanlH?= =?utf-8?B?N0JCQTF1c0prMlZ5WW5UcXo2NDB4aUxZY093TW1YQ2NyMkdBVCtMU2s4bjI4?= =?utf-8?B?SU1vYmYxTUJyKzV2OERWRGQ5cktSWE5PdjhCRzZhOXUwZHNnSk0wNEY0a09M?= =?utf-8?B?WmxGVHJjZi9Uc2krUFlwa3B0eHpWQnhUd3hVcDI2NmYyWEtRemQrNHkrYUdD?= =?utf-8?B?K3NWL0FSVzZ1WXRGL3ZtTzB4MFdaaXZ2cTFuVHNYY2ozODRFTVkwSk52aCtO?= =?utf-8?B?RG94VWhONVh5ZERYTEJOVVNIMm9KV1hQMjlwNzdmclFuRGZqUzMvUzdwM1di?= =?utf-8?B?ZUVFV1dYTWF5aitQaEM5QzFGS08xVHlNdTRJeWVGMTZLQ2hHaFkxM3IvK2lw?= =?utf-8?B?VVltRGRjdHBqNTQ4RVg0OTMwWFJHMmtDZkJJRXFQb0thVWsrOTkydFlxYnRS?= =?utf-8?B?VlJjVDcxdnNIdDhPTHZYTFJkejhmelhEWlhLSHZmWDg1V1dmeWpwNGFLbmw2?= =?utf-8?B?bi8rdDM0VkE1Mzd5QlQwK0hITnZFbENwQmluc0JNYXpIYVRBd3ovRzJPV2pE?= =?utf-8?B?VERXajhwVVZzOE1rZXF0ZTEvRzhZTUZySEwxaytCSGJNMUt3YmxHa0QzTU41?= =?utf-8?B?TE5NSk9JUlYrMWN4RE1Ta0dUR2ZHZHRROXp6SHdQc3Q1VFJOdFNIZmJRREpv?= =?utf-8?B?aytCblk1c053SkJnSTBUbGVzU2VaUFN4cGNsbFZKUGFlOWdsRStCZUd3N2FR?= =?utf-8?B?MVZjZWFKQVc4TXltdkVIVithVWRuNk9wa1R3bWowSk1rRll6d3NqdWlGVFdi?= =?utf-8?B?SHJNVWx4MDk2Z1UxaUZJOUx6RlBpNFdEK0ZEQmgzYmJZZEE0ME9jRWJsd2hV?= =?utf-8?B?QTZrblhBMS9wSzVqQUpBRjNIV0FaR0ZMT3Z4ZFhLYktMN2tTWm1ybU9kS3Y1?= =?utf-8?B?Yms5d2VraC9lV1l6TWI4Z0F6dWYvcTlGbVNmWm9UL293SU0xNlFKTnBIeG5U?= =?utf-8?B?bzdtMWhzZ0RkcWtCRlhXUWoramNnWmFJeEYrVXRQQ2hud0dFcFJ0YkJmRFhX?= =?utf-8?B?a2hjVEQvRTNBeHVRbEJlUU9La2tBWmMybSt4bFI0M1crMFlUQmExUlI5VlZD?= =?utf-8?B?a0tiZDZ0TWhpM2laY2dhUE16dTIyTmlSY1dNWTVHM1N6N3M5MFBRQ2xEa0tx?= =?utf-8?B?OU1nWUp5VHJjU21QOXFRM1QrUjhwbUx2UGJwYWFNSm92R05YdnJYbTkvYldn?= =?utf-8?B?M2lQQjBUYjg1V2luN2lBemFTUUdFWTdlN0wvV2l1NHlmcW9FZkQyT2xoMk1B?= =?utf-8?B?cVVIQ1lTWVk4UERYN2lCR285NkRpUldkU00zVHk3R3h3NHNMRXovUFBIREhI?= =?utf-8?B?M0R1SmlHQ25PdVhlU0Q0N1I3WWhwVU04Z2xOeTk1eGV4cFdyVmVaSlBuL20v?= =?utf-8?B?MS9VZG1xQzU1ZEd4UXQ5WkpETTlpSUpiczdIT2Y0NC9naElOanVCaXV0RENn?= =?utf-8?Q?J82dQeuf4lun8BJJVl?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 555700fa-23fa-4105-0152-08deef7300e9 X-MS-Exchange-CrossTenant-AuthSource: IA0PR12MB8374.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2026 02:17:14.9607 (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: U45Z6w1oQXDG/x1n0B48lsrtUxoEujxf0JsFsKG/lOWQ03HHXaY1h1EdL5tfvGzf X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7373 folio_test_fs_private() wraps folio->private !=3D NULL check and excludes swapcache and hugetlb folios, since swapcache uses swp_entry_t overlapping with folio->private and hugetlb sets its own flags in folio->private. Replace open code with the helper, since core MM does this check frequently. No functional change intended. Assisted-by: Claude:claude-opus-4-8 Assisted-by: Codex:gpt-5 Signed-off-by: Zi Yan To: Andrew Morton To: David Hildenbrand To: Steven Rostedt To: Masami Hiramatsu To: Lorenzo Stoakes Cc: "Liam R. Howlett" Cc: Vlastimil Babka Cc: Mike Rapoport Cc: Suren Baghdasaryan Cc: Michal Hocko Cc: Mathieu Desnoyers Cc: Zi Yan Cc: Baolin Wang Cc: Nico Pache Cc: Ryan Roberts Cc: Dev Jain Cc: Barry Song Cc: Lance Yang Cc: Usama Arif Cc: Matthew Brost Cc: Joshua Hahn Cc: Rakie Kim Cc: Byungchul Park Cc: Gregory Price Cc: Ying Huang Cc: Alistair Popple Cc: linux-kernel@vger.kernel.org Cc: linux-fsdevel@vger.kernel.org Cc: linux-mm@kvack.org Cc: linux-trace-kernel@vger.kernel.org --- fs/proc/page.c | 3 +-- include/linux/mm.h | 3 +-- include/linux/page-flags.h | 21 ++++++++++++++++++--- include/trace/events/pagemap.h | 4 +--- mm/huge_memory.c | 4 +--- mm/migrate.c | 3 +-- 6 files changed, 23 insertions(+), 15 deletions(-) diff --git a/fs/proc/page.c b/fs/proc/page.c index abfa6f7d890cc..aab0e20b8f9fa 100644 --- a/fs/proc/page.c +++ b/fs/proc/page.c @@ -234,8 +234,7 @@ u64 stable_page_flags(const struct page *page) u |=3D kpf_copy_bit(k, KPF_OWNER_2, PG_owner_2); /* preserve the original KPF_PRIVATE semantics by excluding non pagecache= folios */ if (folio->mapping && !folio_test_anon(folio) && - (folio_get_private(folio) && !folio_test_swapcache(folio) && - !folio_test_hugetlb(folio))) + folio_test_fs_private(folio)) u |=3D BIT_ULL(KPF_PRIVATE); u |=3D kpf_copy_bit(k, KPF_PRIVATE_2, PG_private_2); u |=3D kpf_copy_bit(k, KPF_OWNER_PRIVATE, PG_owner_priv_1); diff --git a/include/linux/mm.h b/include/linux/mm.h index ebc035ac26ccc..a93eaf7aae545 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -3004,8 +3004,7 @@ static inline int folio_expected_ref_count(const stru= ct folio *folio) /* One reference per page from the pagecache. */ ref_count +=3D !!folio->mapping << order; /* One reference from filesystem private data. */ - ref_count +=3D !!folio->private && !folio_test_hugetlb(folio) && - !folio_test_swapcache(folio); + ref_count +=3D folio_test_fs_private(folio); } =20 /* One reference per page table mapping. */ diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index 8efc61f967302..0e3628ea080c4 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -1210,6 +1210,23 @@ static __always_inline void __ClearPageAnonExclusive= (struct page *page) (0xffUL /* order */ | 1UL << PG_has_hwpoisoned | \ 1UL << PG_large_rmappable | 1UL << PG_partially_mapped) =20 +/** + * folio_test_fs_private - check if the folio has filesystem private data + * @folio: The folio to check. + * + * Use this in code that may encounter swapcache or hugetlb folios but only + * wants to detect filesystem private data. Swapcache stores swp_entry_t in + * folio->swap, a union with folio->private, and hugetlb stores its own fl= ags + * in folio->private; both are excluded. + * + * Return: true if folio->private is set and the folio is neither swapcache + * nor hugetlb. + */ +static inline bool folio_test_fs_private(const struct folio *folio) +{ + return folio_test_private(folio) && !folio_test_swapcache(folio) && + !folio_test_hugetlb(folio); +} /** * folio_has_private - Determine if folio has private stuff * @folio: The folio to be checked @@ -1219,9 +1236,7 @@ static __always_inline void __ClearPageAnonExclusive(= struct page *page) */ static inline int folio_has_private(const struct folio *folio) { - return (!!folio->private && !folio_test_swapcache(folio) && - !folio_test_hugetlb(folio)) || - folio_test_private_2(folio); + return folio_test_fs_private(folio) || folio_test_private_2(folio); } =20 #undef PF_ANY diff --git a/include/trace/events/pagemap.h b/include/trace/events/pagemap.h index fb9abec40ec79..5425ef7bbae6e 100644 --- a/include/trace/events/pagemap.h +++ b/include/trace/events/pagemap.h @@ -22,9 +22,7 @@ (folio_test_swapcache(folio) ? PAGEMAP_SWAPCACHE : 0) | \ (folio_test_swapbacked(folio) ? PAGEMAP_SWAPBACKED : 0) | \ (folio_test_mappedtodisk(folio) ? PAGEMAP_MAPPEDDISK : 0) | \ - (folio_test_private(folio) && \ - !folio_test_swapcache(folio) && \ - !folio_test_hugetlb(folio) ? PAGEMAP_BUFFERS : 0) \ + (folio_test_fs_private(folio) ? PAGEMAP_BUFFERS : 0) \ ) =20 TRACE_EVENT(mm_lru_insertion, diff --git a/mm/huge_memory.c b/mm/huge_memory.c index d21a9b8f40d15..7f8e99cdeacb8 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -4799,9 +4799,7 @@ static int split_huge_pages_pid(int pid, unsigned lon= g vaddr_start, * will try to drop it before split and then check if the folio * can be split or not. So skip the check here. */ - if (!(folio_test_private(folio) && - !folio_test_swapcache(folio) && - !folio_test_hugetlb(folio)) && + if (!folio_test_fs_private(folio) && folio_expected_ref_count(folio) !=3D folio_ref_count(folio)) goto next; =20 diff --git a/mm/migrate.c b/mm/migrate.c index ad5daef8721cf..014fcb745d210 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -1330,8 +1330,7 @@ static int migrate_folio_unmap(new_folio_t get_new_fo= lio, * free the metadata, so the page can be freed. */ if (!src->mapping) { - if (folio_test_private(src) && !folio_test_swapcache(src) && - !folio_test_hugetlb(src)) { + if (folio_test_fs_private(src)) { try_to_free_buffers(src); goto out; } --=20 2.53.0 From nobody Fri Oct 2 12:20:17 2026 Received: from DM1PR04CU001.outbound.protection.outlook.com (mail-centralusazon11010053.outbound.protection.outlook.com [52.101.61.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 83DDD3CAE80; Sat, 1 Aug 2026 02:17:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.61.53 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550644; cv=fail; b=elvG6y2nA/XjTwerwtBkWL3WT3v8n1JurH+zmir2IFsIUZ8QrwLjapGyVsO1qi0Em1vSgJplZxMZV7cC72CknxGB6Gtnm5qUt+v1Bq6ldlVJRAd1N1Tq1PiGXEHAw2bZj2keX10Kt8johWoMU3ngPLFiy8mftuRPvwr259F1aLw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550644; c=relaxed/simple; bh=IKzuYV22urpgBlckYLv37cjVTy0l1Lhd1u2gOTETy/A=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=s5PH+Vb9van+fRt3I1zhmBlfDSEn3oylbg2Juj9yAYGOlSkgfqb7CIBVGkdf8fjzTD01XuVCtSHVh8HV8HPelXQQF1FTjwPdHW8PuaRk2WZUCM6VXII8ldMZ4sOUE7nKv121mJ9XTCBCLdeP83IKmcE0grxUzd2g1RmZjHUeVlM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=a/U1vveT; arc=fail smtp.client-ip=52.101.61.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="a/U1vveT" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=A+OPzzjghyU8z52C/Gb87aqfOxdgsqToV/iwlAJ2rD4/RtK05siMA308H1Sq/tRdDuQxbaHGwCoPLfEW3vZuxaI/Evtn/0MNtXYRBhw4TU9ISo5u0pG4uontvoa2zfSmV4v9vH9XDlUsWPZyWtbSX8tYxqrMHeiZUGp2inoZ8u/UnexQJmQ7dXBXm16aR/IMW2WlS92h4uNogYi+9MTjJU7/5lkG13IdSe3pto+HHGQqXUWtu0YS309P9kUmPN/yd6RSfnRAwGJvPbBc36+BVQbcr1JFy//1ihXCtkI59PJmKlGdBR1Jxr44MlkOhDNftkOzu4OzGkSEnIoGWX+6rw== 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=n4lozvq9uKgvd0bpywWGfYya+QgCvIFqHmjtqhue0JU=; b=Ifa48KguS2w236QnAAb+m58XsdBFHaTn4ybD54/nQgIKpY/tAOlq5h41DqUMagkDLuPocXPef2uik1RgsDmAqqKOwRu8BCoQg5MFCw7hfQxhaz03p+OX+RNmvwJSjwMAVP5tvXcW/B+ZYnOnmnjk5Lyk8D+z9dqxC37dm1GOWn6aTb3dWK8w7ZM+v+ot2Kmw3hjrRwb6bpaHZwCHfx0cA5/hSM21+oiuOU4I7keROH0yGhtWbdNO6FCjf46Vfl30JrTgFr3bTx7Aqwb6ypOeKb3VO4KdTylLjVgr2TpuWzTylomOPqQYdyqX2hxrmZTqASeFKLuX+V05M3BSyd2G+A== 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=n4lozvq9uKgvd0bpywWGfYya+QgCvIFqHmjtqhue0JU=; b=a/U1vveTLmBgVl8qTFHn0YktC/JpfARhY4LQyKNQWh00Daek+8F9N605nXuYzWlcnynpUEk1SqcvAPiNgxByHmQn9b2sD3xL0qaeHESPeC+527ZbWiplwA2ZDlcf1JWoORDTdcYFFF30nMeBiQg2LmjkQsvNSELYD1iQAf/PcdVO6rF1fEqpBH1UjqCYZOh5okp3BhKqpgcBsotz7+dtePR0+nawZk9Ld2W3Kx1vl4aEkZ9K29+1lFZInerELBZqyKtq/FPTqT5pthfULj2Mo1znvVF7oq96oAgugR3Wx9/VzWwByHhKU61kfUWQd3HYhRW0YYMTSFTBjkqbEJrgpw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) by PH8PR12MB7373.namprd12.prod.outlook.com (2603:10b6:510:217::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.16; Sat, 1 Aug 2026 02:17:16 +0000 Received: from IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16]) by IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16%5]) with mapi id 15.21.0270.015; Sat, 1 Aug 2026 02:17:16 +0000 From: Zi Yan Date: Fri, 31 Jul 2026 22:13:34 -0400 Subject: [PATCH RFC 11/14] treewide: remove folio_set/clear_private() Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260731-remove-pg_private-v1-11-142c97ba3562@nvidia.com> References: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> In-Reply-To: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> To: David Hildenbrand , "Matthew Wilcox (Oracle)" , Andrew Morton , Muchun Song , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Baolin Wang , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Usama Arif , Gregory Price , Ying Huang , Alistair Popple , Johannes Weiner , Qi Zheng , Shakeel Butt , Kairui Song Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Zi Yan , Trond Myklebust , Anna Schumaker , Jan Kara , Matthew Brost , Joshua Hahn , Rakie Kim , Byungchul Park , linux-nfs@vger.kernel.org, linux-fsdevel@vger.kernel.org X-Mailer: b4 0.14.3 X-ClientProxiedBy: YQBPR0101CA0331.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:6b::23) To IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA0PR12MB8374:EE_|PH8PR12MB7373:EE_ X-MS-Office365-Filtering-Correlation-Id: 8ecab2c0-bb39-479d-696d-08deef7301ce X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|23010399003|366016|11063799006|56012099006|10067099003|18002099003|22082099003|921020; X-Microsoft-Antispam-Message-Info: xXx87EjiaXGsntcE9tDyl1M8js9rolJZmrjYvTlux1aiVm2yDP/iix5PW/wQC9yO0yeDINafCEVYHN4mwTB21rXXMBeLuccdlmBAcz8bIObykZO2ZmmMfp0wON8T5gii2oBS6SVBPJ5YmPjQnF23mG/xiI4bRrVEx89B/u74pWsFljH9aHbFU1Pw3G8wYXkDEfXetIE45WZDnctL5PvLr/DPoJTsXKS3S0UkgsmD5191S7caNn0NCcQgZPtbUEcbZ1oDas4M4E2agvDVc1vCqy0c0NFY3cUcr16eECum2BAfV8MFhMbyYAP5DiwhtLOEDtd7vYqcUFeHlfQWu0XAJk4idMmlML0k/ASWFIVFsgTnv7L0AMqhe1tbxgtMAEZmcE9Ix5SQUHFUBs91uIu4TjWizx3zapF58N7IQ+hEzyN9rQJSIgcnBYtetbUhtgY87o+phcnPja/mh0aWQIiJefFRTJVxiPBMP1+AAXZ46MyQG/kB7zpjVeBytqncMx75ou8NqLZFOPsLpcrzPBpLsbax8FPAT5EIpB6Q1lGPjh1qiB8QEKUWgDShaStn6f5iMxNvvJCKyue7QL7T1YiIp/FlETNGahI9vsxlG2sPGpKEx9tsMfdzyWLvW5q+JldZwiG+e11xb6iXMJsMtEcGomSPxijZqJduxBvbC3K6M0DsnV4B6pBFrU6m6ViOsTQed4K//SkOJdLcEJmZwoR7vw== 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)(7416014)(376014)(1800799024)(23010399003)(366016)(11063799006)(56012099006)(10067099003)(18002099003)(22082099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NlVuMGQ4aDdjRmUrRnlxVTBobW16NVpicVBZQUR3S1RYOWh1VzdGSFk0anRl?= =?utf-8?B?bXV5aDc0c01sazBaQkdpN0tJbHUxNlVuMFpuSzRjZ3lpVVhScHBQTCtvU1Vu?= =?utf-8?B?dkFxMHBKQnM5bTlFVzIrNld0UU9IR1R6ZzgxQlBvQUFZVTV4SHB5TVJ0YmI2?= =?utf-8?B?R2o5SGFaQnpsOElBdkdCdjZyMVhKOFlWR21VVzNRTEM1RCt1N0NWR2NVMGNj?= =?utf-8?B?V0RQaFBOZy9zUk1hYkg2Z3l6R0pMZXZQcDI5UFpXRnJRbnEvelRmV1BaMmFm?= =?utf-8?B?TllubFk1QXRnS0d5QW96WG5ieWdLSFdkN3pXYmhGTXRCY211L2N5aDJTM25B?= =?utf-8?B?MlI5dGhCZXpJVEYvczcweXQ0NmZSczVwU1EvdGM5MVFFckg2ZHlVd3Vqcno4?= =?utf-8?B?L1hiaGZuNmI0c2x4aEM2dzhzbkdGd09XbnV0K2tacXEyR2RQanJRT2VjekU4?= =?utf-8?B?WjFGWmJoeTluSm1WOXVhOEp2TGJqYzZVZ0dlem5hb1cybnN4K3VkaHB5Qjlp?= =?utf-8?B?Y2tKWGFyWGpWY29Ubzc4TFFVRUE0R2RHMEhRRHBrajlaUDZ5aGJDUE4xTjNX?= =?utf-8?B?dTdYMUsrR0dDc0V4K2IzN29ZVEFHaTJIWktKN1pzRGlyMGVrYjdBVEkrWVA0?= =?utf-8?B?WDFTbzhWaWJPVWJMWkFWYk5lcTJDZEtjOGhYZnRjUW5RbExycHBMNjVUQTBT?= =?utf-8?B?Y2hOZ1cwd281eDZqcXMzZFcva0xTbDBaWUowWDBNcXpuZjhEU0h1UzhMUVRm?= =?utf-8?B?eDBGM0FINXhBU04vNU12U1Z0RG5xbXdNY3orYTVLdi9VSDE1MDFXekZ4ZjdB?= =?utf-8?B?aVMzZDZZV3QzNHd1ZCtON21WT0dlbXRoUzVsTDlpM1Vqd3ptejNvTkYyZGhh?= =?utf-8?B?Z2l4U294YUVNRFdHcjN1ME9mM2NGNXhoK1dzVWF3c0NTZHN1bW9teitZQ0Nv?= =?utf-8?B?QWNJT3UxQ3FoTENpYkVidXRPWXRJdHhvUXFGU3cyRXNhNFVDRFByUzA2U0JN?= =?utf-8?B?bm9KYVpBT051cVNKRnEvN3laUlBOK3NSS1d3M2ZTcmNVL2RwaldoSjRTQ1ZR?= =?utf-8?B?M21UTGpnbjd5dGdSM0o0ODVqalkzK21vUU1TbFJmTmtDVk56dDNXL1Fud1dj?= =?utf-8?B?a0taU3ZkQUR5THJ3Ri9VTVZjaE5hTUtCd1k4YUxNWFptR1lJL1Nub3ZxYzlR?= =?utf-8?B?MGNOMGxUZDd5L3E4cCtXVEVVU01NdmpRdWg3SzI0dVVienowZ09oWHYxRGxC?= =?utf-8?B?UHVTeC85cU9CZzhNNXBsOGh1RGVDVmZlazNmeW5yejN2NFpVS2pobkdsa0pj?= =?utf-8?B?d3dZTkZ0dlN4K0xkencxa095THVHRWhRWFc4dnluT25Ibm1NOTNUNWtsY290?= =?utf-8?B?dFpXaFNEVkFFdTFVZGJTNlJkUk45cmYzaFJ5cWJFRjVESGpCYnJCelpjVU9z?= =?utf-8?B?RW56L21xVHJNbXViQmo5cHZoK0cxR25hZnMxSEIrN0Y5aXdlcXlvWkNUU2RQ?= =?utf-8?B?TTNFcnMxTm4wdUtreXV0bllNQmhDWWNWbWsrQzdJN3J5WGd1Szh1djZ1bU1u?= =?utf-8?B?SFRMNGpBS3NBdkVCQnFqT1JBQVZXZVpWYWhGS0J6UmpJZEZOWFV5Zks4WUVH?= =?utf-8?B?MmRxYVRPK3RENXRkS0M1R2tRLzNJblRsRmRYWFRydmpzdGxPNHYzdlg5Nkpx?= =?utf-8?B?WVRacS9QZ1dpMmN3cWF5QTdzcStZVEg4T291RXQ0THNJSm1DMXRJdHhWc0pZ?= =?utf-8?B?Z3E0WFJ5b3grVW9XRGxxekpuRFNIUWNZc0ZrSWpqMndzMHFNdTZxTWFIS0cr?= =?utf-8?B?MDVsK01RZnJVZGtsZCtUVVlkY2tRNzR6a3d3ZFJTWk55NU96eFBvZmkvOGkx?= =?utf-8?B?SWJmcUVUUmhDTmpxdGF4Z00rY1gzS3VybklMMHl1OEh6T2RJaEVHUk9WS2JF?= =?utf-8?B?bUVHWTJlS25rQkRjWFNkSXVZMzhjZkZPZFNtSk81L1hPcExlNHRrYjEwcmNu?= =?utf-8?B?cFdGWjJ0RE51NHh6aWh4SFNCSGZVTk1yOEtLV3NLN25jdUhLVWVtc3FpMDBi?= =?utf-8?B?aGt4RmMvNjZvQWRxbkR3azFqMVMxQU9xdXF1alpqd1NzdkRQWGlNRW1UWm12?= =?utf-8?B?T1NXUzQ2aFIvNm5vajkvbSs0SzhpUnh6ZGNleFp3OFh4amcwRWdSNVFqM04x?= =?utf-8?B?V1gxYXdWRjNFaVZ2QkNVc0I3YW44c1MvTms3c0lvM2EzWS93UjkrQ25FUHpy?= =?utf-8?B?TmlEOHA5bW56NnErM014SkdFTW42TnZDM3g3a242UDFxREdHcUk5b1EvSjQw?= =?utf-8?Q?zc1g8ducTZMR6q2UzC?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8ecab2c0-bb39-479d-696d-08deef7301ce X-MS-Exchange-CrossTenant-AuthSource: IA0PR12MB8374.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2026 02:17:16.4542 (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: xze2rfAkupGrMuxDrHONTIIQw96llD4yJRlCuVcVqci2rjnLmVIgTbcB/1xZdUdl X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7373 They are no-ops now. Remove them. Assisted-by: Claude:claude-opus-4-8 Assisted-by: Codex:gpt-5 Signed-off-by: Zi Yan To: Trond Myklebust To: Anna Schumaker To: "Matthew Wilcox (Oracle)" To: Jan Kara To: Andrew Morton To: David Hildenbrand Cc: Zi Yan Cc: Matthew Brost Cc: Joshua Hahn Cc: Rakie Kim Cc: Byungchul Park Cc: Gregory Price Cc: Ying Huang Cc: Alistair Popple Cc: linux-nfs@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-fsdevel@vger.kernel.org Cc: linux-mm@kvack.org --- fs/nfs/write.c | 2 -- include/linux/pagemap.h | 4 +--- mm/migrate.c | 1 - 3 files changed, 1 insertion(+), 6 deletions(-) diff --git a/fs/nfs/write.c b/fs/nfs/write.c index d2b03ceaeb4f1..d7e50ecb4edc3 100644 --- a/fs/nfs/write.c +++ b/fs/nfs/write.c @@ -717,7 +717,6 @@ static void nfs_inode_add_request(struct nfs_page *req) nfs_lock_request(req); spin_lock(&mapping->i_private_lock); set_bit(PG_MAPPED, &req->wb_flags); - folio_set_private(folio); folio->private =3D req; spin_unlock(&mapping->i_private_lock); atomic_long_inc(&nfsi->nrequests); @@ -744,7 +743,6 @@ static void nfs_inode_remove_request(struct nfs_page *r= eq) spin_lock(&mapping->i_private_lock); if (likely(folio)) { folio->private =3D NULL; - folio_clear_private(folio); clear_bit(PG_MAPPED, &req->wb_head->wb_flags); } spin_unlock(&mapping->i_private_lock); diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h index 90904a4d173b7..5ca5aa365f319 100644 --- a/include/linux/pagemap.h +++ b/include/linux/pagemap.h @@ -594,7 +594,6 @@ static inline void folio_attach_private(struct folio *f= olio, void *data) { folio_get(folio); folio->private =3D data; - folio_set_private(folio); } =20 /** @@ -629,9 +628,8 @@ static inline void *folio_detach_private(struct folio *= folio) { void *data =3D folio_get_private(folio); =20 - if (!folio_test_private(folio)) + if (!data) return NULL; - folio_clear_private(folio); folio->private =3D NULL; folio_put(folio); =20 diff --git a/mm/migrate.c b/mm/migrate.c index 014fcb745d210..1d84766f12a18 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -838,7 +838,6 @@ void folio_migrate_flags(struct folio *newfolio, struct= folio *folio) */ if (folio_test_swapcache(folio)) folio_clear_swapcache(folio); - folio_clear_private(folio); =20 /* page->private contains hugetlb specific flags */ if (!folio_test_hugetlb(folio)) --=20 2.53.0 From nobody Fri Oct 2 12:20:17 2026 Received: from DM1PR04CU001.outbound.protection.outlook.com (mail-centralusazon11010053.outbound.protection.outlook.com [52.101.61.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5F3EB3CF678; Sat, 1 Aug 2026 02:17:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.61.53 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550646; cv=fail; b=HD+KUv5afSHQYcbiYdIHtF5FSMbXmdgj2YBQIR0fXS/zXIkOKfRQsu6kE0NdnctS2uL89D5/+6HkSgTmVlRcdEkT5mwZnmoNEkXrc6edyvj/snPvI2va7vti/SPixKMZ1zOBu0dIpV6EvQmJcKq/mmNQpe62e6k9IO+hc3vsnro= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550646; c=relaxed/simple; bh=nm0Pl5EDyQGxBl7iOm4Btby8IKLKXykDG+VrdUgjv+0=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=Asq/1ZHwvg6+itIqdDkKtz2+vybkkCawhZJPteCwiywHcRs5+bQlXdmo/JJ7TD/7X96fS/krE/5ZnvOLTgU1NIohVtpl9g45T+xars52kPY5nCA4s3hy6o3cjI44/RcuXhQcJVASk0kpwHcz3Ljhu77gowGXu+pnycHoSJTyTrQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=AkwXcHaQ; arc=fail smtp.client-ip=52.101.61.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="AkwXcHaQ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pQXipCbDCYZvd+/4XVq9SqIDa4M46ysxo9SMQUoGKg4RQqGMOZDbYmu7ZwhXA4c3XEk0Cfqch+oYixiD+0U5ZRt2CmwawPhJMIQoeksBZ591VWaxf8NTy4ZzxWCvsZMcoDnFj59kvAK8IVq0L0nOi6WzuKMWaifDhwHkdv7re/jJ29xzCvWZfI45ak8sKaQ3Zhp29Iljj0MBPT0BzXs9xGJAc6AJgdszmpRb9CCbV7Euodjp0VKlt1fdBmlrdyiPITSaXixmwcLhN9J8m4p4eTy94dv7izfvPJcIM2BErqWa174E+qKmt7/eLnf6PN/SBqc35WchwvLdt5fI/zWEXA== 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=QJvqsac47SOz07N8rXHOifzxid6Tu7zuGdAeXj6PwQ4=; b=aKE1ANh/W2SMmTa8lpNXRNLqfjjXoGja/D57COTozVcr2hxQOQquKEAZ2W7epYdG4wFwB4d4+jTsGIPzLeBqqubpk4m97CwB+1hBFbSZ3QP27R5NZ1V52YkG41wvNjg+z0xlbHhLHRbelQhbky3GIUXGCyAIkAudyR4QVNs5uUl90iVdbyrLluvoe+53PSyEJA6fDiqDZRPRhyvk+SNzSGyW0fN8wLIKOX/gxjp2HhBsLRjjeLwVi83NGVz3sMIhaxXao2tvGp9wIZj/LrxJx1D69tjAFM/46eUBEFpaCWV9zCo50MlzcNdpZYsClCSGp8QmKjzrlQBchKxrLNPegg== 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=QJvqsac47SOz07N8rXHOifzxid6Tu7zuGdAeXj6PwQ4=; b=AkwXcHaQXUCtmjzvsKXGpGgWTsaANzZM7Pi6ONGCU1udySxEuq/gx+xEt734XQ8CEdNPHztPcYVaKA1UxazdYY73GruIhO9TWb+n3gcheJgwx1prGS+XACBljG+dfWllgheQJbXV0ojAfTaAZU/757JtaHwIWFt6CFSzWNXh7OXZl7xpyRfijA/NaSl6z5joroamQuztarVPTgmWzOdZmhq53L8zVGm59cY1Dm+xzfPTBTz13avBEjekNSkFp5ml5a8ejFu3c9fmA/18y0oIWSYyGZAJg4aLRi2Yf7jEG2sv3oHGrTwnFaAo9ZgAausHcXs5s3geBVDF4rxxOXC/ZQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) by PH8PR12MB7373.namprd12.prod.outlook.com (2603:10b6:510:217::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.16; Sat, 1 Aug 2026 02:17:17 +0000 Received: from IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16]) by IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16%5]) with mapi id 15.21.0270.015; Sat, 1 Aug 2026 02:17:17 +0000 From: Zi Yan Date: Fri, 31 Jul 2026 22:13:35 -0400 Subject: [PATCH RFC 12/14] treewide: replace PagePrivate() with page_private() Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260731-remove-pg_private-v1-12-142c97ba3562@nvidia.com> References: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> In-Reply-To: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> To: David Hildenbrand , "Matthew Wilcox (Oracle)" , Andrew Morton , Muchun Song , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Baolin Wang , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Usama Arif , Gregory Price , Ying Huang , Alistair Popple , Johannes Weiner , Qi Zheng , Shakeel Butt , Kairui Song Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Zi Yan , Song Liu , Yu Kuai , Ilya Dryomov , Alex Markuze , Viacheslav Dubeyko , Li Nan , Xiao Ni , linux-raid@vger.kernel.org, ceph-devel@vger.kernel.org X-Mailer: b4 0.14.3 X-ClientProxiedBy: YQBPR0101CA0256.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:68::23) To IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA0PR12MB8374:EE_|PH8PR12MB7373:EE_ X-MS-Office365-Filtering-Correlation-Id: 0b24b9a6-03b4-456d-ba7a-08deef730283 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|23010399003|366016|11063799006|56012099006|10067099003|18002099003|22082099003|921020; X-Microsoft-Antispam-Message-Info: l8VW8MJNMQ+zKeBjGBMCtZ58ZO0GJCoiULSAWZbccsAWxRRS9ApCb59D/Q+aBD57LGP7WBCTJTuYvelhJB2yQs+66T3FHO1/R2juJO1IEqZY4nw6af4CIrRyvJ2JaZKbTUe/ft2q9i2xTCjhkGYoQQiQHp/USVGdjuLMlft0bbxW7U+ENium7Y/DfY12RZlZtIuXSEaMV6NXhspOtdlf0waD69tVUx12IjyVzCiSl8GYQ74Qt3it4WvRgf2aRmhHNKuWqtAkBgoMej44Nem3ztcMsstmfqAJ4LnqKK1nik56ZSrTxHKuo373XamvjvTaFNe/ntiN6jaK0RC09TGF2c6Q3dzgkq0eQtV/pUvOfbAHk8iMZIE1rfcfuCC9M5/MM/XQ4VnEHPjJrZ6Z9j1HzZHS6ySDRyM4C2ZwhHLJFXL5mt+2fMRGjtK7bhzy517jFJwF9SLadFXvsQUGwnYkx37wP6UeiPYmyt4Fx2ngK6vZN1pJzfTN9CdKlBMn5sPSEU532cuoEPk2lrmNYFA17cqWL/ap7X5J4oTKx0AbCO+Cd+0blmPpLIra6S3UaXThT8QSzy0QcvnMNtj733s8eVfwPJNgKdUEngTRi0evoI5oXVPtadOJi9INCGJzeMtbUUORhTlf4vJW4mBn3iUb/656OyQ5gExROp4jk8b4OmeHSco9qoqiXFliqm4NWydGKwdGMgrfy4LeIF4//IGNHg== 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)(7416014)(376014)(1800799024)(23010399003)(366016)(11063799006)(56012099006)(10067099003)(18002099003)(22082099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TUtsV1VTaEhBYVhZdUhQS2NXN0RGWTlwdVJ3SDA4RXBtblhDa1Zza3lHRUwz?= =?utf-8?B?ckZVVVEvTmp2Qlk4d0dWMEQveml4RGhOcG9uWW9SNWF5SkE0bXphZDlqYUYz?= =?utf-8?B?a3ZoTjRGaXBXSWxNV01sdDgxQUlKdkIwQ3dERTA3MzRWWmxDZVV6ZzAvVitI?= =?utf-8?B?MWcycGd3MnBtT0h3WXJyV0VxMEZMTGRsSC9sUmVVN1VyQVFIVFRhUk93SzE0?= =?utf-8?B?ZHRCYml2dW9kZjF5QnFoNmM1c0NGR0FWMVBpQThId3VyRGlJZmNrbVlzMXRD?= =?utf-8?B?b1AzSUFkZXUyaWtVbFp6WFdiQ3JFRXFLMmhPNHB1MVlEbWJFai9xYUV2ZEF2?= =?utf-8?B?UkcwYXlVQ0F4aENpcU9XSWVOcVYydHNsZnMzdUU0Y056WWJBdVVSa0h5UkJW?= =?utf-8?B?b0l5NjI5OFZZTEcwM3R2dDBFRk5ra0V2YTYyazB2WERqUmY1cXpKNExmVUFZ?= =?utf-8?B?UUxDSzlZSDQ1clFDTEVlYStpYXhMK0dLZkhRd0sxTGpKOHZyMWc2S3hTVEpy?= =?utf-8?B?bWM1TS8weG16d3JhdnVKWFJ2V1VsRitleW9NaE5pRHZJMXBTbGozcVMrUVBs?= =?utf-8?B?WVZJZGlmU2VKbmgvRklzVDBHaDhkSEhtSFJPVVEvZXpvbDUxbUErK3lQMnpF?= =?utf-8?B?OHZKTHpjWkN5WGRCRC9qWDlLaVJNcjI4TlA3Z3luYjBkWVpFTlFUTW5MVFVy?= =?utf-8?B?cGduczdTbHZyeDlheXRMejdxdTgzQkZnb1hEdnNFaCtGTTFWaWxlQmR1LzA2?= =?utf-8?B?TS80U3FWL1kwUVRXemllVzYvMzEwcjZUb2liaGIxNFYxSCtsQjdiaU1jWXZH?= =?utf-8?B?N1dNQk01a2N4S0pWN1pQcXd2ZmlQTDZmc1d6dHF3UGw4Y2tYZjl3SDBic1ZV?= =?utf-8?B?U21wcDZhTGZ4elRYNWh3SzJCR3l6WFB0cGxRSlVBNmhKTUgyVUp2Tlg3VEJM?= =?utf-8?B?WjlRUHloa05BSXhKTmgvek53cGJQM3NXU25EdXZZQWxsRVFvQkorbXlIMGtI?= =?utf-8?B?eFUyV0l3ZXRqTSt2SlZReUJTUkwyVzZOVlUxdGRBSTI3M3NzU21NQWFyakdp?= =?utf-8?B?SVVUTnRlMFppcmtoc0xITlY0MDhpaERzbXNyN3ByWmlZVEFxM0ppclhaR1NM?= =?utf-8?B?bjIyQVh6Zm5JdnhPSTZMdjJEZnozMTRWMHJ3TXlFcUJSSzFFcVdIdzdzUmdi?= =?utf-8?B?QUxYTVJPWEJtbnFZbFN2dHd5QzVzSlZ1aHFKTExqOFpLZm8wd2czZkQwL044?= =?utf-8?B?dVNQby9uSUlsMDZhdVQrcThCTkloR2NPZ3AxVG8rRnArcXUvNkQvTHUvZ1lL?= =?utf-8?B?R09HWXdrYWdLU2NkMnRyN3pJN0FicU8zS1F3bFM5VG4wYzlxWmRRcDFRay9F?= =?utf-8?B?NW1EVUQreVdhZlpiay9ta1Zjb0NQN2FKK3p6TWlpY0lhS0dFT2hYMGF0M1lP?= =?utf-8?B?a2xaakJQaWZaWUpmUHN5YWxweHU2MVRXNUg2d2JHWFErRG9FaVUyQTJxdDUz?= =?utf-8?B?ZCt0N0YzSkkyZlVLNXZQeE1Tc0JDZEE3TEFDNVVCOU1DRTd3OG1WZG1iZXll?= =?utf-8?B?UFBENTR2anhUZDBIdWc3STdvY29VL3lRMnAvS1lZSmZiWTZodWVUL2xlNTU2?= =?utf-8?B?UmR4VmNSMW0xbkltaXJlNkd4Y21iSTFqRzRKdmVZWHI5T1pBMnVpUndyWmV2?= =?utf-8?B?REF4U2hWRlk5L1MzNkxZVEJQZVNHNTFZdXQyZ0FINHErZGxicy9RM2FSTHlj?= =?utf-8?B?a29NOFozaFdVbFhpeE5sbGFrUEJvNHA3VXVGZFMzcWFmbTFYM3ZxMUJGZW91?= =?utf-8?B?bzF0NEVYNUthTGJvSVZrS09TSWxZSWoyZEFmdG9NS0JDMTdTaFRaRlZFQjhX?= =?utf-8?B?TDVpdzdkcTZTQmVLV1hOUDRJK2tJNzNtVjZwZnE0TFpRNDJvQk4xZUQ3cEgz?= =?utf-8?B?TStJbDZMRjlISVhBWVFBRFVaS3B5N3BsaG1OaDZIQmIxRnR2ek1pSW5US216?= =?utf-8?B?L2pOR0dvbmMvZWNQeXE3ck5BRFhXckhneG5lWG9HdU9IWUxnWFhINUpSWmtQ?= =?utf-8?B?eEpBTnQzRDEzWVgxT0RhMnNFWk5MeXlHeFBmZVpRVDZJYytnM3l0QmtFbTdO?= =?utf-8?B?ZjFMQ0J4MkN3RmlkV21CSG5BY1dsSlVXeWZrNzZweWNCL2d4TmlIL3FxV2kz?= =?utf-8?B?SVRyN1ZzNE9yMkx4OHg0ck8xZmJtakNYNWZUZEZZMVVzR2NTKzNyeUlRclFI?= =?utf-8?B?RmhGVFFZdWlMakxZNmFHWU1TcXRHTXIrNXRyQVY1U0E2SGlZMXVTeGFHTUdH?= =?utf-8?Q?UzLrov+esZ6LGdKWuk?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0b24b9a6-03b4-456d-ba7a-08deef730283 X-MS-Exchange-CrossTenant-AuthSource: IA0PR12MB8374.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2026 02:17:17.6524 (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: 02f/mGVVjw/BV/zXEZ2LX0cYytl5N8jAo4109Yos3vyD3fPEcIEhy6hPt9wuEmTC X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7373 PG_private is going to be removed and its check is replaced by checking page->private !=3D NULL. Replace page_buffers() with page_private() and delete page_buffers(), since only two users left and both can be converted to use page_private(). Assisted-by: Claude:claude-opus-4-8 Assisted-by: Codex:gpt-5 Signed-off-by: Zi Yan To: Song Liu To: Yu Kuai To: Ilya Dryomov To: Alex Markuze To: Viacheslav Dubeyko Cc: Li Nan Cc: Xiao Ni Cc: linux-raid@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: ceph-devel@vger.kernel.org --- drivers/md/md-bitmap.c | 6 +++--- fs/ceph/addr.c | 4 +--- include/linux/buffer_head.h | 6 ------ 3 files changed, 4 insertions(+), 12 deletions(-) diff --git a/drivers/md/md-bitmap.c b/drivers/md/md-bitmap.c index 0f02e2956398d..affd4807013e1 100644 --- a/drivers/md/md-bitmap.c +++ b/drivers/md/md-bitmap.c @@ -516,7 +516,7 @@ static void end_bitmap_write(struct bio *bio) =20 static void write_file_page(struct bitmap *bitmap, struct page *page, int = wait) { - struct buffer_head *bh =3D page_buffers(page); + struct buffer_head *bh =3D (struct buffer_head *)page_private(page); =20 while (bh && bh->b_blocknr) { atomic_inc(&bitmap->pending_writes); @@ -535,10 +535,10 @@ static void free_buffers(struct page *page) { struct buffer_head *bh; =20 - if (!PagePrivate(page)) + if (!page_private(page)) return; =20 - bh =3D page_buffers(page); + bh =3D (struct buffer_head *)page_private(page); while (bh) { struct buffer_head *next =3D bh->b_this_page; free_buffer_head(bh); diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c index ecf33b66610c8..92074db8732ac 100644 --- a/fs/ceph/addr.c +++ b/fs/ceph/addr.c @@ -70,9 +70,7 @@ static int ceph_netfs_check_write_begin(struct file *file= , loff_t pos, unsigned =20 static inline struct ceph_snap_context *page_snap_context(struct page *pag= e) { - if (PagePrivate(page)) - return (void *)page->private; - return NULL; + return (void *)page->private; } =20 /* diff --git a/include/linux/buffer_head.h b/include/linux/buffer_head.h index 8b23bc9a244cb..5cf0b8c058ce0 100644 --- a/include/linux/buffer_head.h +++ b/include/linux/buffer_head.h @@ -175,12 +175,6 @@ static inline unsigned long bh_offset(const struct buf= fer_head *bh) return (unsigned long)(bh)->b_data & (page_size(bh->b_page) - 1); } =20 -/* If we *know* page->private refers to buffer_heads */ -#define page_buffers(page) \ - ({ \ - BUG_ON(!PagePrivate(page)); \ - ((struct buffer_head *)page_private(page)); \ - }) #define folio_buffers(folio) folio_get_private(folio) =20 void buffer_check_dirty_writeback(struct folio *folio, --=20 2.53.0 From nobody Fri Oct 2 12:20:17 2026 Received: from DM1PR04CU001.outbound.protection.outlook.com (mail-centralusazon11010053.outbound.protection.outlook.com [52.101.61.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2B1803D3488; Sat, 1 Aug 2026 02:17:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.61.53 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550648; cv=fail; b=fwE0P1TeUtTsX3YFPMdXuMedKUHNFAK3EmUcIN8vO/kW4srruPdm5QKBT02ZCMGPb4kkwEflhx755pjsy/RJU5QAhFlexTaYkf/2YNgH16BY27hYiXZm+FvQjvZTVbDg0oSYwP1Tqay1ZaNWrr133iFz1DabnyxThxyIBRWcFls= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550648; c=relaxed/simple; bh=d1qronFy9w/J6Cgcl7Cn9sKuhG1MUxv1S4B+7W7oq5Y=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=GaR0xU6EeSpUJieOmVI1mIkO6/M3U/a/vZ4Zh5d20/j3rQqkhtiGOEMiBjsCUlXuCr/AasHKJRvI8jtaDMiRzmNGXRTDgBwzvXNaIE2CLLuGBnPBVMY7YuastEXKn5NoAq/NvgerODb+LdeMs8C8MhgTQNrpUhSPEEJaN4kV934= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=bQtJCjRc; arc=fail smtp.client-ip=52.101.61.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="bQtJCjRc" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=I7l9fgb+NuvuD+R5anVs9JYMUi9a35IiDvgs/M65huGyuB4XSkdcBFj96Qsd4fQvL+LYnCokcXI6YGNTMlUR0kRWAJcIqrrVFxwK1GqQbBT4G9mkU2Rtpb+gn3tfpqHFukVs+XDyiDlcfFXpgM6SfqhEKNEeMH8odAUvqlly9le4c5AAxlWKeJRxAwj5Gnn8e4oQP/kEpiJ8THYPCLFJNFAEis4FQ3uqsLh7sfktPtylKAhNuVq566pkwHsggmeS9yGNlWqyichD7oEh3WCkdI/EWxpxh5be4NNvmHAbubTIlg3U8hBOvdgGZKAOptr9V2j1Adpw2ZK1njjfNDT93g== 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=/N0f4pNTjlrvvsqDiA7ch3Ptmh4hKaDn1JOzG+v4I3A=; b=otux9MDqIdxHs+pCSiXtdqclJAYl+aMcQIF2miG1l8auumH8RAVQU45YSDDmdqPlBbRrKdGXePSBT47PY96SIUaKZoQAFHE6QsPHY/lxVFiPMXwFD7WtzHN2BkunjPTJ3GjhlIT6bSxw5/QpY8JZQqcPo89uSXkMoW/G6IoLetO44duPs2nJ0WHB15KS17gY04/9adoKp0Q9fJG0XSXA2obOWIWuOjb0Fsey2qeXVPEpvIrvimLa9ejG3l9ArcW79Yw8kOixwaTKjA23ZUTMoCR4lF9SldsS69a3r1Gf1arnPyKmXGySPDW/2sm+PtB6hr8w4HKEkJctyJZ6e0MIrw== 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=/N0f4pNTjlrvvsqDiA7ch3Ptmh4hKaDn1JOzG+v4I3A=; b=bQtJCjRcuc2HBPbuaVO6OGBKCBrhVaAsY8lmE7Ex1778BBK+IMVFgysRjbdvIzrFCaRgzn/qbt3MShUxgoiBRXklSIW+UCoAFsug+YoZ9y0O+vr3gBCzirSzNoQ2oEdnwYo8VbYvNpkI7Z0QRlfXFvxXLEkWOD5nMfIB5CbXCYbKyN8g9/Syo9+3EhGFsfZTED9pkxmvZIzyYoVpol+fDs572bq2BSRYUkcxPKDDlrdOxrOyE+JdAdHLO4OcDbwFg6RhJ5T39fdew36thYM0bD8bsjVlGiUVXTYicIv60i+Rt9ugM99iXTtLs9cc5jbSaIpcvhH0cP12p9ZTmp/gGw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) by PH8PR12MB7373.namprd12.prod.outlook.com (2603:10b6:510:217::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.16; Sat, 1 Aug 2026 02:17:19 +0000 Received: from IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16]) by IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16%5]) with mapi id 15.21.0270.015; Sat, 1 Aug 2026 02:17:19 +0000 From: Zi Yan Date: Fri, 31 Jul 2026 22:13:36 -0400 Subject: [PATCH RFC 13/14] treewide: adjust comments on PagePrivate and PG_private Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260731-remove-pg_private-v1-13-142c97ba3562@nvidia.com> References: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> In-Reply-To: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> To: David Hildenbrand , "Matthew Wilcox (Oracle)" , Andrew Morton , Muchun Song , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Baolin Wang , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Usama Arif , Gregory Price , Ying Huang , Alistair Popple , Johannes Weiner , Qi Zheng , Shakeel Butt , Kairui Song Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Zi Yan , Ilya Dryomov , Alex Markuze , Viacheslav Dubeyko , Trond Myklebust , Anna Schumaker , Richard Weinberger , Zhihao Cheng , ceph-devel@vger.kernel.org, linux-nfs@vger.kernel.org, linux-mtd@lists.infradead.org X-Mailer: b4 0.14.3 X-ClientProxiedBy: YQBPR0101CA0267.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:68::27) To IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA0PR12MB8374:EE_|PH8PR12MB7373:EE_ X-MS-Office365-Filtering-Correlation-Id: 6e22c095-4377-4be3-2299-08deef730352 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|23010399003|366016|11063799006|56012099006|10067099003|18002099003|22082099003|6133799003|921020; X-Microsoft-Antispam-Message-Info: OoYjSdhMB5/FfsvCLddwvHB3YtSqnSfRwAi2zUiLB3su4ahtVUwmwZpCFMxQd4VdnBKSiNSc/SztlIWSIGBg79kFjjGjBqNKL3942KARlODfOpGbrpIRfo+q2j/V7OwXX+KowJFPKGZd7wD62ww7NWgY7oY2gW0N8n0AGrs55SFHExmPgCLS4NExcTmjDFnaqe9lU659BDghGWhgVj5Zy5eqIleeFyopNPKNH0N7Tk4GpqxYWV4s5FTqTRsOGujCs9CdqtP8O9e482a48Jplnn+P+RWxDVMpRLp8QJ9cVG+6aCjDbaj/Xi3Li/cXLSRCuy75tW56lefPqC8QlruEpD7vpq2jIMBHxyz4dtnP8xCPe9ae/P2v+OEl90R14Z51vi6FWuCm0TyHS11233FRvyeNAK6FeFxn8ooz2YWMQS5STzBSJeslpXLSpJ7HXWnTTSw6oxsvPIvtNseb3B1mL9dRcssOMbqGXEKGfAZiUFrHBGX2VbR7G7mPJK/dskgRY+IEZnCvqha4ujE6bJvtYqksSsgiRfyRX+rDQzQzjOy5PAUkCF99pMfSv9V2DYJ+RNY6V1/kkDweSd+Z0AEJebIE5AmewKabCHJnac2l00cONWwKU44AoNqXel1wkqSYSmNF1JchPRWXn0bhrZ5mbX1pRK6Mafy74mJ7zLkmDVbG1GtMze2JrpjIMJ2WuyX2DFNf5Wa40SR1DlxVe8DJlA== 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)(7416014)(376014)(1800799024)(23010399003)(366016)(11063799006)(56012099006)(10067099003)(18002099003)(22082099003)(6133799003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VFM3bzBmNVZ1WE15SmtDV004UFVkc0E5MDNqQ0Z4NEpVU3FUdTVndXQ4RVJr?= =?utf-8?B?RFc4eU1GY1dSY2U4ZndQVVFhSWZsSnZlelFXbWUvdkxGQXN0Z0ZRQjc1cENn?= =?utf-8?B?S25UVkNHQXZ0VDBxL2lmQW9Zd0NRdjI2RjY1NTRiTUxxcFZLNE1zTkRDdFVz?= =?utf-8?B?Ujh0WnpuQ2c0WFJrQURrTHdYWnE3NWFHMzhib3ZIKys0TnpTQ1ZvNlZ5ZEZT?= =?utf-8?B?OGYzU2JzdWJUQXBpbDdQajR4bkd0dGp0emFuTmR6eVdMeS9ESjhmeTdQRC9L?= =?utf-8?B?NU4xM3pvMXR3d2JOaGhaVER1MDRsRVo2cTRpTHFRdGdNbExqZnl0YWdqRFY5?= =?utf-8?B?TGJpeHYxNk10SE51NklHLzlKSWZQdTFsTkl5KzNydlV2QUlLcmYxSFpHMzY3?= =?utf-8?B?YlhvbWdwU3VCM3NoKyszc2JMcFZRL1hFK0JTQ1RGaU1tbEVualVHRDBaNzRx?= =?utf-8?B?SEtpcEhoYjB0TUd0VnNQckpqNUtCc2UrR2xPN2FlZFlDUzZSWlB2NHRWWHJL?= =?utf-8?B?anUyRzFRTmJoYklEZXR3T1FUQnFIcU1XZkxTeEVuYVEvU2JKVVFVSG9qY0gr?= =?utf-8?B?S3hlSGh1dzIrYTVucURtYU9HVXdMRnd0YVNGTVVVMnNoQk9QRHhITGZNZmx0?= =?utf-8?B?VmNHY2FYRTlWNm1FVWtVT0NuU3NtdUxHMDl1eDZOYTZPempRbDhvWXZJSWxC?= =?utf-8?B?c2gwanNKbnpNemM5UklxNmdhOGxLbDg3SitiWmIzbk5kaDc3dmFhWjU3d0hY?= =?utf-8?B?ejRLVmVuei8vTGpKdURleDBzSU9XV3BmdGI4dnhVWFBoaXFlUk9Nb0JRR0R4?= =?utf-8?B?b0FQYnJrdXRSM2dqN0k2TGE0T1hRa3pNMUo5V0VLNlpoZkVWVHYybjNsZWxk?= =?utf-8?B?K3JqYlA2UXlHbU9oZjNHOVcwdzRYVnBuTmNWaVU1eDNnUUc1V1JKS0RDTWFE?= =?utf-8?B?WWxWUHFnZjhxU0EvQTUrYm9QMFAxOFRZdmpIY1ZWUmJtTHEwRVNXS2NqWFV6?= =?utf-8?B?dWo1eTh1MlltenpQYlpyYlV5czJnMHdzQzljTGx4R0V5ODljUFIrc3RnYzFt?= =?utf-8?B?M0QrYktVbU8zRVJuK05ObFJ6NEtITngrUS9SUGxSZDhZSWl0MU5DYkhVb25p?= =?utf-8?B?REsyTStFZWhITUR6ajU2UmsvR0xNNk9EY3B5NFZlMkoxM3R4VE5hbDBQYTcz?= =?utf-8?B?QS9LRkVheUdWc0hvbzFycXlZTDRhNDd2L0x5cldoblNmL1VtbDJzNUE4d3hv?= =?utf-8?B?d1IwT0EvRkNnemxLOUg2NW03cFJaT00xV0pPQ0hKcHZzRkFKNEFUYlAraWhP?= =?utf-8?B?RmQzWTY5djRadVk5WXE4Zi80Qm1IVVhLTjVLWklxbGN4RE1hQThTQUN0YUNX?= =?utf-8?B?QlJxWCtMOHZHdU91ZE1vWGQwV0U5c1g1aXdpaFl5TlQ3UUZLNWQvMG9kRTZv?= =?utf-8?B?VkV5cXdrUUVySlAvdEliMXBrZjU0a1hITU5ka1piMUNUcGl2VG5DZXZQa3Ay?= =?utf-8?B?ZzFPSU51NkJNYW51eUoyUXhMT2JoMU9CaEpmRFliMXVtRXV2T3hIQndWOXpu?= =?utf-8?B?VnlyZWRva1FZZklmcVpieGpPN0R4dExMclI2K25rS3I5MnZ5NnFPM1lpVnB1?= =?utf-8?B?OWJjandxWkNtcVI4cFJqeFZBVXd0dldOSnc5Y0dya0UwRUhWckZDM1ErN2hR?= =?utf-8?B?N0dnOHg2Qm9BRGcxc2lyZDFtQTZTYmpoK0xFYlpBVk9zdnJtU3QrN3U3MXl6?= =?utf-8?B?dFRaSjlBWEJENm9iSUQ2NVdUNERMWTdZT1JWMllDMFBtSHY3WFJiY0NGQmZh?= =?utf-8?B?ejJTNGZKN2ZMeGFqOWJOdkpzTnZUakVJaHQ5OFEwb2VQQm9PZXFNcGNET1lD?= =?utf-8?B?MHJYWkRiUDU5UHRYdkFaYmcxUENmYzVGZUp0L1puZ2tObFpxaDJFQWtzMGJn?= =?utf-8?B?YVB5bStNTHVER3Z1M3M2QXovWlFrdmJ1WUNTMTV4VFE1RXVTZkpVNFVtV1pH?= =?utf-8?B?d08vQ2paQjI4cEYwZ2lQVFZoYUgxMVNnbEc2U1lXWGZyOWRVWXZ5T2hWcXpw?= =?utf-8?B?T2ZWTEtVVDNFK2ZQbVVVZ1hIajdVUlJ1WGg3K09yQ0crY0UxYVkveTQ4MmhN?= =?utf-8?B?WTFOL1lRYm5lWWpucE5qWTZVdDVaUGdORGJXaENkUGFiY2Q0aFdHcHozQzNM?= =?utf-8?B?WWN0YVVFRDNiNGlyaytXN29wNFpYU3JTd3l0aU9ZMHRaZm1hRHU1Ly9FTEZr?= =?utf-8?B?L1FRYUI5UHJmNDFuOWcrTzVhMEkrR1VWQzJBNlZpNHQvOTlvRmxydnVDajB4?= =?utf-8?Q?VLdTzrwyJUPM9wnHtc?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6e22c095-4377-4be3-2299-08deef730352 X-MS-Exchange-CrossTenant-AuthSource: IA0PR12MB8374.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2026 02:17:19.0090 (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: ZQcx0wEAAgsbUx6XDbEcd5FLzcwsmT5S3CHB9eIdlHDg8VSDseD9ewnL8NjsLF5S X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7373 PG_private is going to be deleted. Adjust related comments to refer to page/folio->private instead. Assisted-by: Claude:claude-opus-4-8 Assisted-by: Codex:gpt-5 Signed-off-by: Zi Yan To: Ilya Dryomov To: Alex Markuze To: Viacheslav Dubeyko To: Trond Myklebust To: Anna Schumaker To: Richard Weinberger To: Andrew Morton To: David Hildenbrand Cc: Zhihao Cheng Cc: Lorenzo Stoakes Cc: "Liam R. Howlett" Cc: Vlastimil Babka Cc: Mike Rapoport Cc: Suren Baghdasaryan Cc: Michal Hocko Cc: ceph-devel@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-nfs@vger.kernel.org Cc: linux-mtd@lists.infradead.org Cc: linux-mm@kvack.org --- fs/ceph/addr.c | 4 ++-- fs/nfs/file.c | 4 ++-- fs/ubifs/file.c | 6 +++--- include/linux/mm.h | 6 +++--- include/linux/mm_types.h | 4 ++-- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c index 92074db8732ac..a4a463a9cef0a 100644 --- a/fs/ceph/addr.c +++ b/fs/ceph/addr.c @@ -122,8 +122,8 @@ static bool ceph_dirty_folio(struct address_space *mapp= ing, struct folio *folio) spin_unlock(&ci->i_ceph_lock); =20 /* - * Reference snap context in folio->private. Also set - * PagePrivate so that we get invalidate_folio callback. + * Reference snap context in folio->private. folio_attach_private() + * triggers invalidate_folio callback. */ VM_WARN_ON_FOLIO(folio->private, folio); folio_attach_private(folio, snapc); diff --git a/fs/nfs/file.c b/fs/nfs/file.c index 851d93a099889..fa3389d766d52 100644 --- a/fs/nfs/file.c +++ b/fs/nfs/file.c @@ -485,7 +485,7 @@ static int nfs_write_end(const struct kiocb *iocb, * Partially or wholly invalidate a page * - Release the private state associated with a page if undergoing comple= te * page invalidation - * - Called if either PG_private or PG_fscache is set on the page + * - Called if either folio->private or PG_fscache is set on the page * - Caller holds page lock */ static void nfs_invalidate_folio(struct folio *folio, size_t offset, @@ -556,7 +556,7 @@ static void nfs_check_dirty_writeback(struct folio *fol= io, * Attempt to clear the private state associated with a page when an error * occurs that requires the cached contents of an inode to be written back= or * destroyed - * - Called if either PG_private or fscache is set on the page + * - Called if either page->private or fscache is set on the page * - Caller holds page lock * - Return 0 if successful, -error otherwise */ diff --git a/fs/ubifs/file.c b/fs/ubifs/file.c index e73c28b12f97f..61d6a56b8c8a4 100644 --- a/fs/ubifs/file.c +++ b/fs/ubifs/file.c @@ -12,14 +12,14 @@ * This file implements VFS file and inode operations for regular files, d= evice * nodes and symlinks as well as address space operations. * - * UBIFS uses 2 page flags: @PG_private and @PG_checked. @PG_private is se= t if + * UBIFS uses folio->private and page flag @PG_checked. folio->private is = set if * the page is dirty and is used for optimization purposes - dirty pages a= re * not budgeted so the flag shows that 'ubifs_write_end()' should not rele= ase * the budget for this page. The @PG_checked flag is set if full budgeting= is * required for the page e.g., when it corresponds to a file hole or it is * beyond the file size. The budgeting is done in 'ubifs_write_begin()', b= ecause * it is OK to fail in this function, and the budget is released in - * 'ubifs_write_end()'. So the @PG_private and @PG_checked flags carry + * 'ubifs_write_end()'. So the folio->private and @PG_checked flags carry * information about how the page was budgeted, to make it possible to rel= ease * the budget properly. * @@ -1509,7 +1509,7 @@ static vm_fault_t ubifs_vm_page_mkwrite(struct vm_fau= lt *vmf) * * At the moment we do not know whether the folio is dirty or not, so we * assume that it is not and budget for a new folio. We could look at - * the @PG_private flag and figure this out, but we may race with write + * folio->private and figure this out, but we may race with write * back and the folio state may change by the time we lock it, so this * would need additional care. We do not bother with this at the * moment, although it might be good idea to do. Instead, we allocate diff --git a/include/linux/mm.h b/include/linux/mm.h index a93eaf7aae545..fc33cc1914273 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2073,8 +2073,8 @@ vm_fault_t finish_fault(struct vm_fault *vmf); * * A pagecache page contains an opaque `private' member, which belongs to = the * page's address_space. Usually, this is the address of a circular list of - * the page's disk buffers. PG_private must be set to tell the VM to call - * into the filesystem to release these pages. + * the page's disk buffers. It tells the VM to call into the filesystem to + * release these pages. * * A folio may belong to an inode's memory mapping. In this case, * folio->mapping points to the inode, and folio->index is the file @@ -2085,7 +2085,7 @@ vm_fault_t finish_fault(struct vm_fault *vmf); * case PG_swapcache is set, and page->private is an offset into the swapc= ache. * * In either case (swapcache or inode backed), the pagecache itself holds = one - * reference to the page. Setting PG_private should also increment the + * reference to the page. Setting page->private should also increment the * refcount. The each user mapping also has a reference to the page. * * The pagecache pages are stored in a per-mapping radix tree, which is diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index b5d4cd3b067bf..f15290dde16d3 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -108,7 +108,7 @@ struct page { }; /** * @private: Mapping-private opaque data. - * Usually used for buffer_heads if PagePrivate. + * Usually used for buffer_heads. * Used for swp_entry_t if swapcache flag set. * Indicates order in the buddy system if PageBuddy * or on pcp_llist. @@ -675,7 +675,7 @@ static inline void ptdesc_pmd_pts_init(struct ptdesc *p= tdesc) #define STRUCT_PAGE_MAX_SHIFT (order_base_2(sizeof(struct page))) =20 /* - * page_private can be used on tail pages. However, PagePrivate is only + * page_private can be used on tail pages. However, it is only * checked by the VM on the head page. So page_private on the tail pages * should be used for data that's ancillary to the head page (eg attaching * buffer heads to tail pages after attaching buffer heads to the head pag= e) --=20 2.53.0 From nobody Fri Oct 2 12:20:17 2026 Received: from CH5PR02CU005.outbound.protection.outlook.com (mail-northcentralusazon11012048.outbound.protection.outlook.com [40.107.200.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A5F923DA5B3; Sat, 1 Aug 2026 02:17:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.200.48 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550652; cv=fail; b=mQ/uJjVIXIDs7/uPTD/Y0cd4prR1BC81WhzlaW5pW/RdcDHONo+q+4C6sFJzJe5pHY1T/zy8CBVksJf3eq4OdTzxDv+k3hAZO4uTC1C4tCNFsZ011gvNyoZRKLfIiZUPN0uTQhQziPn87eR67boSOgxpOdVgaau09KieppF1bBM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785550652; c=relaxed/simple; bh=dPMQlYiBrcK/QltKeGHD3DDkbJXPBe3L9DXSuQhEaqQ=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=rZebTi39qRE9UEGWZOGs3GPQ19gJYA/2+jB7HGCTTaRsK9hS/gkdQQbBIC+QndACd7F9IQKnXIjb2QP4+ZeDqtl57ypxO6h2OHDbc2y7QNqDzVDwDVVa9E/b4PhtCUEatilmhL11ljC8OZimSi1IO+M4x4LlbrY+y2OybmI/sXo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=nFODE/+t; arc=fail smtp.client-ip=40.107.200.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="nFODE/+t" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XEXHn9OTclHnFLa0twxkAcXCaOWap+vQmvIuPgBMvTlMBQ55KCm2B9L4JShnGOPi1HHaThMo3iOQJ3HFe2FPziEiOlISoSMteq4O9usSzcsep83J87Yo8Rzkf5bQYwGoKOp3v+y+fN1UuvMieU+02SfIWojn/CcoH6Fq7IlVUgjEKspHW6uA9hB0YupL6uySnt3YmunGOA04bXUO7r3F5CKO3dYuqzU64Gkr+yRBbs0ooj92dzdr14hO+QqtnV/yh5R4ExCafFdf3kdfbvvKKsyKQwmDgADej7wYUXrF4DFm/YAjLN/RLzSITUxiCRQwQS/BP8GBM96OepoEFawBZw== 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=OB4Z6HAhO90wSrzqBCueeDHnctlgsxAOSQ2ZuZDGWmw=; b=mXbp6n7hPwqzEt1kp53pYLmyE7dBXKMjXLGWaewGRfYRovyyFWLu7g4zrgWtv7Uay9UqKbPtfmsdWUgosBg8YMKBmFiNNV1G67SIyi3sa1rlD/kM7etGohWyoy4ZnFFX5lkyJYGCa7pctEBdIF/5iuUiz35b32hY3YQa8LLhfo17WGhrg7cYPKi6uqUyb+rT6pBqMZlW6+iacWE0xmZR60+JdeYo7IOBwxn82wWlro9vnB0Gy5pFTC5ifRxrTBzGLBd33plPZBBpBCXxZj7/LkxQFlTTOcrIlCtgC/hpfzQIzdFj7bnykqIQWyoSqZO7WBPtrNTMexJxSXZeG17KMw== 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=OB4Z6HAhO90wSrzqBCueeDHnctlgsxAOSQ2ZuZDGWmw=; b=nFODE/+t7haKzw4Xq5lAl1t3Z2a5CtIBoUVG+hKpiErSYjBQLpcYwjzoOo/pEmTBiV9HJ4WXJqIQ0f1b+FLPXcKaqMHRpqOiNislWW5yl8dWA9XntqWYek2vzxQGhTniIF1dMKxudNdWtsXfkRvgPStZdJnwiJTa3iPKGdKc9WwfqTLqzfu9LcitZHdRtBatKQgWOwfTPewOxlM3NBgyCJ7eQpnDAePprCUHgcA3qW78NGcBDehD3O8KDVOjw+Ttv/vlZ8SMMnb1rsQqxtdZAMt6HLARDwc2dHOP6tDvS/4BeNxKyvSdw+363JJfgPB6tw4h4qjpAm3Cgo0EMLM0lQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) by CHAPR12MB999250.namprd12.prod.outlook.com (2603:10b6:610:300::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.16; Sat, 1 Aug 2026 02:17:20 +0000 Received: from IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16]) by IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16%5]) with mapi id 15.21.0270.015; Sat, 1 Aug 2026 02:17:20 +0000 From: Zi Yan Date: Fri, 31 Jul 2026 22:13:37 -0400 Subject: [PATCH RFC 14/14] mm/page-flags: remove PG_private Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260731-remove-pg_private-v1-14-142c97ba3562@nvidia.com> References: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> In-Reply-To: <20260731-remove-pg_private-v1-0-142c97ba3562@nvidia.com> To: David Hildenbrand , "Matthew Wilcox (Oracle)" , Andrew Morton , Muchun Song , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Baolin Wang , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Usama Arif , Gregory Price , Ying Huang , Alistair Popple , Johannes Weiner , Qi Zheng , Shakeel Butt , Kairui Song Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Zi Yan , Baoquan He , Pasha Tatashin , Pratyush Yadav , Jonathan Corbet , Jan Kara , Steven Rostedt , Masami Hiramatsu , Dave Young , Shuah Khan , Mathieu Desnoyers , kexec@lists.infradead.org, linux-doc@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-trace-kernel@vger.kernel.org X-Mailer: b4 0.14.3 X-ClientProxiedBy: YQBPR0101CA0189.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:f::32) To IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA0PR12MB8374:EE_|CHAPR12MB999250:EE_ X-MS-Office365-Filtering-Correlation-Id: 1246d7d6-8757-413c-3889-08deef73040e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|366016|23010399003|921020|6133799003|5023799004|56012099006|11063799006|10067099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: YtgmYyd9j5YwgCrUn++onox1AGnpP1h6mxVq5hpgG47VCp2c3+zu5ju1GggoIOHPuuP85qCDpY/kEAnkwZDKeGwf9BFmov6SoCD2MsaBKPLlLe285aqKKjpz966FY/AUn3FF3e+wZ/1/e8Jz9znAE9jDB8zYzuGA3H0zQ0L86LkiuBHulnvUmziZITwwB0pOvgPpTWs7qgLmUrevDnjPlR9vFiS1Ri2H7eqZ/Jn8a3kKRc9T/8EkiO3og41Gmd5TQopM38AHhmWa3IkNVoixNMOmlAx+6SnRSTnOIpUYXT0V7HJ6yKo3yv4QpKLnvCrW24CsyMTCmULyxAbupDt11PH0T0OkEjA2HC/5yk9sGQNduHmVd1yQz23u+BVCYfFho+7Pmacdqlw8JxkjIKnHB2DTxKA9Z8OZds7bSEpMcQh0/2xjOLRfzKuWYlOxjveQpfSMyKXkmsPuSH3KjTmYGY53KnIekI2P7iw51m7xqk8UIdISosxod4q4Sy7efsiED54PadzHDOdhOKUmbZ5mSq4SII3KT9g69YDLtJO4N4/X1dGo+c5vVrR3+9NhvDqiI54yAQOv9HnDz94Vlag7LOxQuQUhs72bpB6fwFGYTuLvkEUlmF3j9z8EhgfkiJ9k+VwJ9dq0tfsxmQminF7CIi8Thx5HADy7/kKfda5XaNwXEWdYMElcRMNgVxYEMc7zKAIx3Tr3Nau3Ix2+eD9ZMg== 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)(7416014)(376014)(1800799024)(366016)(23010399003)(921020)(6133799003)(5023799004)(56012099006)(11063799006)(10067099003)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NE5iN2VIa3RaSzRacVpGS1E3VGtWTjZKWkcrWHVjVTRiSmhtYTNMQW5hRnJ0?= =?utf-8?B?NFdMYlF4WWo4M25jbWhzYjdKR012aG1vTk9idkxjME9vUXEyTnBldkVPQkRw?= =?utf-8?B?cHpRenBrYmRNREljK25kSnRLUy9ZM0k2UmZQVzV2dzdVTzF4YWNDZHFPRVMx?= =?utf-8?B?QUJCNllucm0rZWd0Q3dOUjMvMm9IM0h2ZmhOeFJJWlAvWU94K25lcUZRUTE5?= =?utf-8?B?U3VkdHE0WTJxZjdRbkd4dzFpTmVFSG9WVzVMbVRzektSZlhTNlN6b1FjS0Vo?= =?utf-8?B?ODRwbm5tRHFUb3FCSmdQSldDTnM1cXppMC9JVkJ4YnJpWmxiY0VmdjZYbmJt?= =?utf-8?B?dUlIT3l1dXdYcm0vWFpyRHNickQxSTA2SVRIcEpYTitOWHRDU2s3QlJhVjFa?= =?utf-8?B?Y3FORGpHdS9Jc0VjVjB0OW1PUFQxZkR1VldzaVQ1RVA5NTFtcGdOWGhnSEJz?= =?utf-8?B?K0R3bEhPV2h4eURMdjRjS1ZQSGdmdkVEdFozRDZOVXhzb2x2SkpyY1RYQjVG?= =?utf-8?B?SU9hOWcwS2J2aFVqeCtET3lPdjV3azBkS2p2Y0V0aXNpNkdsKzVHWVNnWnpD?= =?utf-8?B?dGNTMlNETFdlWkVjRTdvc2VHdkxMU25qcUZwOXVBbFNPcjVqc2Zlb3FzU00y?= =?utf-8?B?WTlUNHIwN2k0b2ZQOGRwZXRqR3JzT0ZxZUlvdDA3WFN0ZXpFVVg2cVhQc1Nt?= =?utf-8?B?blFlUmp3T0hmN1NVc3d2eFlWTS9zRndHcitiVDhUMHJZNk5iWXZQWC9GalZ1?= =?utf-8?B?TnpiaElKTnZzUGI3YmZLdHpFaG4wVDNpb3Foc1VZRDBFK28vTFpzaWVYZXNC?= =?utf-8?B?ZWFZeEd2WnNWMDljeVJvRTEvYW9lOFB0Y2kxcjFWTTYxa3NCNDJVOXZDR2RP?= =?utf-8?B?bTllSVNKRVFOMkloTnFIL1RwUHFtUU9QSjEvNnlBbFQvLzBJZXVFR1AxQ2xk?= =?utf-8?B?NURiUTZMTElnTDBGaUo1UDByQ29sZnphRlZQSngzQy9nUmNCMlFNTGVvcXNv?= =?utf-8?B?aENEcytJbHFZQzlyRnZJUGFTRHhoenhtOEoxMDY3QWxOY09GYytydGVhWkdR?= =?utf-8?B?eUg3VUR1UVhiVTFtOFM2bUE5Y2Y2VjNoNUZ6ZDB5RVlQZTJGZDFEZ0ZGaGxR?= =?utf-8?B?YzdXTWtHdDVxQ3ZIbWZvUlhlZjFzb21hekV4U0ljZ2phNml5U3VPVElocTRJ?= =?utf-8?B?SDgvYktQb0JEeEgxS0ZQV01IQ0hXb3J4dVBubkVBQkw4WUNGeE5wRWpNbGNJ?= =?utf-8?B?UkYzZyt0RDFFQnFHdERsSDhVZjVWNnFZV1NMdHZ4cGVxeTFYY1FZU3ZqRGNT?= =?utf-8?B?Ly96bzJFU0tqbDZ5M0FtMkpwWUlPR2U4M0lqUmZPbUsrODI1YUZ0SVVIWEVk?= =?utf-8?B?VG0xUmhyNEd2WlRqbmVjaitCdCtkSThyMjFxckpMYUcvM0E4akN2eHpXaVlu?= =?utf-8?B?ckdkK1dZSDdDUTcvaVF3ekRNbkZhU3Z6T1lHbHV5alFObzBGUWlNR3QyWW1Q?= =?utf-8?B?SFJsVFdoWUNFc1V2dmViWkV1Ky9hTlR3dWhCcVFwQVI5RG9TRzNaUWpYcXVp?= =?utf-8?B?cGVia3lyQmo0NlpnWTlYYXFDWnFwVkpwUU1TSmtKbVZQdWl1Nks3WjV5TkNE?= =?utf-8?B?YklnZnRWVFY2UlN3VnFGSzRoN0NMaUZqdkJFV1g5TEIxM1NNQUhlM1BJMWxp?= =?utf-8?B?Q0Q3UDNtcHUxdElGL0t0WFFmY0RGWFFQU0RaS1ZCa3hHSC8wKzYwZWUrMGZV?= =?utf-8?B?V1VqQlBtV0JsNXJ5eXV6S2NEdkFMalp5bmR5MC95RTQwQlR3Z1dDa1l3UjFq?= =?utf-8?B?YWg2Q04rdUFneGdlV1dESVpEOGNFdzNmc0ZUNHpKWTIzTk5jdmRnVGVSbUdm?= =?utf-8?B?VVdzODBOUDBlNFZjSnFqZk43QWw1R3BTN0VsTWtNWGJ1QzRTWlBtMi9Ud0dE?= =?utf-8?B?dk05eHF1QmNpVDhCYWI0U2Y5ZHl5NFhGTHVrRGdsMUlhM3RUdjBDcTlxcC9z?= =?utf-8?B?bjZFVEJvQnBxei8vM3I4TUJJRFBPYURyVENNS3lPY2U2Slc2bXpOKzZiOW9r?= =?utf-8?B?cUtzUGZwYnExWk1JcXZJMjRHZ3JzQ1M3dzRuSkRrU3BtY2RZS0RNK1ZtVDBT?= =?utf-8?B?V0JJWUQweGdkc2pDWHM0UWJqempMOHZBcHczdGpGUjNrd1Z0U3ZLSlIxWXJO?= =?utf-8?B?VEdaTUVLaitNOS9iQklmTDZmaUt1M2ozS01qVUdWQmxCdzRIRkJuZVdMcW5E?= =?utf-8?B?cHRheFlWSm1LSnIxcjJFdlJaMW1ybWs2M21UMlJIcmFoNjNKYlVFdkFCRWh3?= =?utf-8?Q?cc4n9jaAEktgJX9rMA?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1246d7d6-8757-413c-3889-08deef73040e X-MS-Exchange-CrossTenant-AuthSource: IA0PR12MB8374.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2026 02:17:20.2222 (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: 91bkUmO6i4hIhaG8Qu5OmEn3y9IvCfuSTeJ6WjzB+wsg2Uw7eG38b12oK7hss0fg X-MS-Exchange-Transport-CrossTenantHeadersStamped: CHAPR12MB999250 folio->private !=3D NULL indicates a folio carries private data, replacing PG_private. All PG_private users are converted. Remove PG_private and reserve the space as __PG_folio for future use. Also update files in Documentation. hugetlbfs_reserv.rst is outdated and left unchanged. It should be rewritten. Assisted-by: Claude:claude-opus-4-8 Assisted-by: Codex:gpt-5 Signed-off-by: Zi Yan To: Andrew Morton To: Baoquan He To: Mike Rapoport To: Pasha Tatashin To: Pratyush Yadav To: Jonathan Corbet To: "Matthew Wilcox (Oracle)" To: Jan Kara To: David Hildenbrand To: Steven Rostedt To: Masami Hiramatsu Cc: Dave Young Cc: Shuah Khan Cc: Lorenzo Stoakes Cc: "Liam R. Howlett" Cc: Vlastimil Babka Cc: Suren Baghdasaryan Cc: Michal Hocko Cc: Mathieu Desnoyers Cc: kexec@lists.infradead.org Cc: linux-doc@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-fsdevel@vger.kernel.org Cc: linux-mm@kvack.org Cc: linux-trace-kernel@vger.kernel.org --- Documentation/admin-guide/kdump/vmcoreinfo.rst | 2 +- Documentation/filesystems/vfs.rst | 6 +++--- include/linux/page-flags.h | 19 ++----------------- include/trace/events/mmflags.h | 2 +- kernel/vmcore_info.c | 1 - 5 files changed, 7 insertions(+), 23 deletions(-) diff --git a/Documentation/admin-guide/kdump/vmcoreinfo.rst b/Documentation= /admin-guide/kdump/vmcoreinfo.rst index 7663c610fe901..5f1df6d080508 100644 --- a/Documentation/admin-guide/kdump/vmcoreinfo.rst +++ b/Documentation/admin-guide/kdump/vmcoreinfo.rst @@ -325,7 +325,7 @@ NR_FREE_PAGES On linux-2.6.21 or later, the number of free pages is in vm_stat[NR_FREE_PAGES]. Used to get the number of free pages. =20 -PG_lru|PG_private|PG_swapcache|PG_swapbacked|PG_hwpoison|PG_head_mask +PG_lru|PG_swapcache|PG_swapbacked|PG_hwpoison|PG_head_mask -------------------------------------------------------------------------- =20 Page attributes. These flags are used to filter various unnecessary for diff --git a/Documentation/filesystems/vfs.rst b/Documentation/filesystems/= vfs.rst index e7677423a20f7..5cc07f82fe371 100644 --- a/Documentation/filesystems/vfs.rst +++ b/Documentation/filesystems/vfs.rst @@ -649,8 +649,8 @@ Writeback. =20 The first can be used independently to the others. The VM can try to release clean pages in order to reuse them. To do this it can call -->release_folio on clean folios with the private -flag set. Clean pages without PagePrivate and with no external references +->release_folio on clean folios with folio->private set. Clean pages +without folio->private set and with no external references will be released without notice being given to the address_space. =20 To achieve this functionality, pages need to be placed on an LRU with @@ -674,7 +674,7 @@ filemap_fdatawait_range, to wait for all writeback to c= omplete. =20 An address_space handler may attach extra information to a page, typically using the 'private' field in the 'struct page'. If such -information is attached, the PG_Private flag should be set. This will +information is attached, non-NULL 'private' field will cause various VM routines to make extra calls into the address_space handler to deal with that data. =20 diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index 0e3628ea080c4..eb2961ed61018 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -44,10 +44,6 @@ * Consequently, PG_reserved for a page mapped into user space can indicate * the zero page, the vDSO, MMIO pages or device memory. * - * The PG_private bitflag is set on pagecache pages if they contain filesy= stem - * specific data (which is normally at page->private). It can be used by - * private allocations for its own usage. - * * During initiation of disk I/O, PG_locked is set. This bit is set before= I/O * and cleared when writeback _starts_ or when read _completes_. PG_writeb= ack * is set before writeback starts and cleared when it finishes. @@ -105,7 +101,7 @@ enum pageflags { PG_owner_2, /* Owner use. If pagecache, fs may use */ PG_arch_1, PG_reserved, - PG_private, /* If pagecache, has fs-private data */ + __PG_folio, /* Do not use: reserved for folio identification */ PG_private_2, /* If pagecache, has fs aux data */ PG_reclaim, /* To be reclaimed asap */ PG_swapbacked, /* Page is backed by RAM/swap */ @@ -576,7 +572,7 @@ FOLIO_FLAG(swapbacked, FOLIO_HEAD_PAGE) /* * Private page markings that may be used by the filesystem that owns the = page * for its own purposes. - * - PG_private and PG_private_2 cause release_folio() and co to be invoked + * - folio->private and PG_private_2 cause release_folio() and co to be in= voked */ =20 static __always_inline bool folio_test_private(const struct folio *folio) @@ -584,17 +580,6 @@ static __always_inline bool folio_test_private(const s= truct folio *folio) return folio->private; } =20 -static __always_inline int PagePrivate(const struct page *page) -{ - return !!page_private(page); -} - -/* no-ops during transition */ -static __always_inline void folio_set_private(struct folio *folio) { } -static __always_inline void folio_clear_private(struct folio *folio) { } -static __always_inline void SetPagePrivate(struct page *page) { } -static __always_inline void ClearPagePrivate(struct page *page) { } - FOLIO_FLAG(private_2, FOLIO_HEAD_PAGE) =20 /* owner_2 can be set on tail pages for anon memory */ diff --git a/include/trace/events/mmflags.h b/include/trace/events/mmflags.h index 935893e5ea53b..caf090cd6f85e 100644 --- a/include/trace/events/mmflags.h +++ b/include/trace/events/mmflags.h @@ -144,7 +144,7 @@ TRACE_DEFINE_ENUM(___GFP_LAST_BIT); DEF_PAGEFLAG_NAME(owner_2), \ DEF_PAGEFLAG_NAME(arch_1), \ DEF_PAGEFLAG_NAME(reserved), \ - DEF_PAGEFLAG_NAME(private), \ + { 1UL << __PG_folio, "folio" }, \ DEF_PAGEFLAG_NAME(private_2), \ DEF_PAGEFLAG_NAME(writeback), \ DEF_PAGEFLAG_NAME(head), \ diff --git a/kernel/vmcore_info.c b/kernel/vmcore_info.c index 8614430ca212a..5a417f8a922ab 100644 --- a/kernel/vmcore_info.c +++ b/kernel/vmcore_info.c @@ -216,7 +216,6 @@ static int __init crash_save_vmcoreinfo_init(void) VMCOREINFO_LENGTH(free_area.free_list, MIGRATE_TYPES); VMCOREINFO_NUMBER(NR_FREE_PAGES); VMCOREINFO_NUMBER(PG_lru); - VMCOREINFO_NUMBER(PG_private); VMCOREINFO_NUMBER(PG_swapcache); VMCOREINFO_NUMBER(PG_swapbacked); #define PAGE_SLAB_MAPCOUNT_VALUE (PGTY_slab << 24) --=20 2.53.0