From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 14996C83F17 for ; Fri, 18 Jul 2025 18:37:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 80F7E6B0093; Fri, 18 Jul 2025 14:37:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7E71F6B0095; Fri, 18 Jul 2025 14:37:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6D6826B0096; Fri, 18 Jul 2025 14:37:55 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 5C7B26B0093 for ; Fri, 18 Jul 2025 14:37:55 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 0EB681D72BB for ; Fri, 18 Jul 2025 18:37:55 +0000 (UTC) X-FDA: 83678244510.14.8C096DD Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2047.outbound.protection.outlook.com [40.107.236.47]) by imf03.hostedemail.com (Postfix) with ESMTP id 43D372000E for ; Fri, 18 Jul 2025 18:37:52 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=kmrSEZuc; spf=pass (imf03.hostedemail.com: domain of ziy@nvidia.com designates 40.107.236.47 as permitted sender) smtp.mailfrom=ziy@nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); dmarc=pass (policy=reject) header.from=nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752863872; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=trPRejOvQKiatvwTz3OLB2nMVxPRciKqdIYfXvT1MRA=; b=3k+o4zyOGPqHlbEXiEUEkAe5+yfCHkgTXJjXX0YtsX2+yKdLFZXoKjiMC6cnP/Fv2BMq74 T3FdaJEMR4jiJuoqQx6sufmUEl/VgFMegnL8IjkunuAgqbo6r5BdIZ92E89HQslfkvPYmV kmD8zswzWIqpU1nlBc1oiHoxKMXcZkk= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1752863872; a=rsa-sha256; cv=pass; b=p03b9QSalL0L9dKP5K2TrqTIf6htV4PwpVWx1nult7C4gN5fXxwfEfOBLWajNAKyIZ/1s9 TT0iGEEZSBxHyMM7A1spm48U1dJlfybeRiUcVNlQuKLGQ4OQtBAVTwbkBVtVSKFyjRLfX9 K2C4eEMhj4p/tkDZ9Bjez609uOjCzCg= ARC-Authentication-Results: i=2; imf03.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=kmrSEZuc; spf=pass (imf03.hostedemail.com: domain of ziy@nvidia.com designates 40.107.236.47 as permitted sender) smtp.mailfrom=ziy@nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); dmarc=pass (policy=reject) header.from=nvidia.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=B1O/Gv9+uD0kjFPVF27IS+UV2HetwIIkTVgHH04ZACFgDRUmFOZgQUpVA04TajvSalfqmE4T0cm4YFQlLNvlJVmYm1YIMsqD5IT62eh51VBKRk57GaTxeXJ5wu4RvKHaxbFKhGqp4TA1nWi+NwGLzAsSIspwDmSG5C0VWsGpe85KwwkQmmoPwmJVQO8/4hdFSq4ljGxVrnf5J7BqNIgdZ5AKd1tcyn72bWfPAMflLE5Oq2DOkeoG6DeZPtBMcKd4zVGFv0TbrTt+quTYxPCGMJy4TSdXSBNnyjmV06MeANjQ2NwvML+viHDmnV4cUJkALjBiwsRnyR7qjnxyTy+dlw== 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=trPRejOvQKiatvwTz3OLB2nMVxPRciKqdIYfXvT1MRA=; b=Da6u9gC9ODbH1xrmlUn6qkG0Di3M7g87UWWyO1zEYeBnN8O5RqL3DRMkbhoanpOqfI85KFwJX88pznzrXfnicM/mn71SzEP4thFTKT7snE/sa5scvPLp9psd1z+TFDqpadsKOwFBPDJ5nSYnmzQdCbcl32WBJTeNznpcrhlfs9n9iA9fKEIqhXa0kfGNrGG2Xeh4y5P/yP91IrMrngvMTfYYjawlvtwHe4Jw/EV6QuLVACN+KVrkFcng+l7Sa5xQ+MU8jMcwXhE8toU9zEA6O9VHYh39LW0mj/WUKCr4zh6HQDjPjXMUA//G2sHXQK+ltDYW8LdvuC0gbJAXh0w8Bg== 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=trPRejOvQKiatvwTz3OLB2nMVxPRciKqdIYfXvT1MRA=; b=kmrSEZucy0BEbTpjdalywfkXcvu7iwmH07Gg4FOWsQGr77vZgEiFzSZm1j2pz7kKZDtPcku7aOIB2P467Cw+hQt/AymQcPMibGCm0XeaUeJoGQIla+u5MsNEL2Y2ceMvpjTxtbI+YHUKd+OCddn90+f48UqnArFaA8ACZcBJIipuhugf6fJ5r0p4fT78Phy2Ao0ZKDF7BAbkw3Ao8jjR4/KWE1DIwPW3W0z/b6rvURlj0K+0qfzbqZLYL8ntT2g1pqcykXrGFAD5CmvFzW+w4zmvoZqHvBa6YpvuudSAx3GqSJzyX1d/NPTNpq3DxOr5M05wftgRxmNffiEZgND8uA== Received: from DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) by CY5PR12MB6621.namprd12.prod.outlook.com (2603:10b6:930:43::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.39; Fri, 18 Jul 2025 18:37:48 +0000 Received: from DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a]) by DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a%6]) with mapi id 15.20.8922.037; Fri, 18 Jul 2025 18:37:48 +0000 From: Zi Yan To: David Hildenbrand , Lorenzo Stoakes , linux-mm@kvack.org Cc: Andrew Morton , Dan Carpenter , Antonio Quartulli , Hugh Dickins , Kirill Shutemov , Zi Yan , Baolin Wang , "Liam R. Howlett" , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Balbir Singh , Matthew Brost , linux-kernel@vger.kernel.org Subject: [PATCH v5 0/6] __folio_split() clean up Date: Fri, 18 Jul 2025 14:37:14 -0400 Message-ID: <20250718183720.4054515-1-ziy@nvidia.com> X-Mailer: git-send-email 2.47.2 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: MN2PR16CA0052.namprd16.prod.outlook.com (2603:10b6:208:234::21) To DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR12MB9473:EE_|CY5PR12MB6621:EE_ X-MS-Office365-Filtering-Correlation-Id: 795fef42-079c-42f4-f8a4-08ddc62a31ea X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?XnW7w3xqGed4mF98PcT9i2TfPZCPPt/mF55PNUbKJ+XJjTKcs8yuE0IRm5Tf?= =?us-ascii?Q?wz0kVT5GbaTQqKif5aDk5PVyC+QbBF1nSXiCW5gdZVRI0DIZLo0NciLVOFJU?= =?us-ascii?Q?hrOx9CE/U4csEDsbFbhDsEmB27F6INrKAhGiq6KjeWZoX6epS4+wcXHUWxrk?= =?us-ascii?Q?l1Jh2O/o0n5kRch+NM6ezQObWnfA3l51eCaZM3K9hNW5ogGdLtoje1SPzRtS?= =?us-ascii?Q?iXn1ZRjNjlTkMbDc8c/IGfXlsdBpF9nCYF3m0tPU/Yraev/zBLOuEj6dGupB?= =?us-ascii?Q?NqdH4J8OO6utlHBZ6lFytLctJjQEAN4VddThS0JaevxyFovBZHl2XZUbPjTj?= =?us-ascii?Q?LuwTlS/uhOzr9V55hUqlUOUHxVQDqr0qjwYc4Wadb0bvZvtn0SEW0eoq4wLl?= =?us-ascii?Q?WaxVeO1O6YSK2ZrWxRWjwNPPlnpBKjmYcYjd9NkMC2Lwl5hO8SLxtSjFxYst?= =?us-ascii?Q?NUrzN+etEl9KRfUGQn4VaZgaNLdh7+hzw+8QIY1sTp3ot4IW9bvWGsUa/XaD?= =?us-ascii?Q?CVRqaKhsEtsriL11xyyxlJSm5H4m2z4MD+KJuXlQ+n0qVXaf6jffMkg2VgHi?= =?us-ascii?Q?E4W83k796t0oIw9MZZXcl/2c1bnIb2PToAM81sL87uiZoML0kFVqvl6ngaSc?= =?us-ascii?Q?y8vlLvkZy+Q3F8Sgsi/pIg004D8jK5qbi0Ewku+ju1n9M5C2pv/cf2O0P2TM?= =?us-ascii?Q?JqJ5G6G5MfykeFCgbQiKr2AoqfwwB+h/JKyt9lIk2vRnmGzxODm/baOeAAYH?= =?us-ascii?Q?1/p+25fyZ+1HkLjbkCUckCQpWBaqLIdTNB/z+Aqia2zJArH/PrFWuZ+rtE+p?= =?us-ascii?Q?yxyB5b0AljSiEjfmb+ypVQhiKRrgz0T3Rr+AEgcIaBEdMtibgy6ZZQZCLtUx?= =?us-ascii?Q?JVwGRRN3F0Ydb1sgJRplGlybOyfErRm6Pk2CYwwIrrwLvmhixD59aBU89g7d?= =?us-ascii?Q?9+kNodk8qhumQ3DmabuY84w5SVDUkrJet0FMaY07ztqI8IzLRpDqWCyD7uQ8?= =?us-ascii?Q?nvJH1KCQtlKt36danz8N3YV3/ubyEgaD3LD1CIjEJ7DvFVhbG5rX3ay68efz?= =?us-ascii?Q?UHDldcDXFzjFjdbSiGwhePXf7GzTyt4I7Y9aQiDwC8xm7Rl2VnhN9wuqu4Wo?= =?us-ascii?Q?+afcV/l9/FgC6Hte4iINo2ksUzn/eUyA6K7Olc4eyJvnRL+M0ZZgIUXW+xAO?= =?us-ascii?Q?qoDYE7NG7X1Ps6qM7GdxOCL/LFvtUzczN1QGwwacBw/Nh/yEDi97NHOkbPgC?= =?us-ascii?Q?tPIBD+YY1fchwE8Cz0uqDCRxIwYTmtLl0TAjlUDjeQje/cZPv/X5/PMMtIYD?= =?us-ascii?Q?CFpWapTLRM9UiPny1WmnV8oikbozHpicEqjKqF+6Qs9mzD2l1BT2SYzy1je5?= =?us-ascii?Q?WX77FHl/29DjHownv16ktRv/Dsh0qHE6IQoHcuJ/V5+WBQeJGuRsBS9dujjk?= =?us-ascii?Q?RvLUo3D4fAw=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR12MB9473.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?2L+yFhSFulWfG39P5SEoJYWHPWG45jebRt1Sxnap326EcsAqkZ61djPAsqtb?= =?us-ascii?Q?H4VYnVePZMMpP/FozANkto+5/7pw5jO5KeQXk3EoKc0rVoAQaPE8qb8jKV2F?= =?us-ascii?Q?LpNoNN4T+WykyENXAjCbS/P5X9CFV4aYMUSb4OtbKPjX+dPqzo29xOrLd1Qz?= =?us-ascii?Q?i5U4da5Z/Xykcg2rpSXXs0eGLiROMedS9F+molzT2TpK0ZbbUpIDlJbKMzF+?= =?us-ascii?Q?IrbOc09sLL0eyp9UB0SlTxIA678LoJakniHKcvVurWtqRCApC2gSaiDYWZpk?= =?us-ascii?Q?LFoAGqf1Ob+Y1cI9ePwMj0McoDYUeSCcyu7sgiWbbejCXarFAAVT3oKnIlbn?= =?us-ascii?Q?OiAlZLUSoHO88Ffe6t+huui/GgC+ubaW0g+WxAob64tP8hN8MppY3utyw0FV?= =?us-ascii?Q?MFrPzgjit9bDwRZTkBynHDYqkZiSYzt42fReaIsDDKbkAib+grarGj5RXyXy?= =?us-ascii?Q?340EbnjvgijzRPv1XSsYrXjFwqJ5CX+CjHcXv5EI62Wa6pUp0BdgNFSN7YBH?= =?us-ascii?Q?I3et1SwOXB4IMub6hon0r7viCFo3LpRdaq8W2lCasDouplN+3U4Pl8z9ace7?= =?us-ascii?Q?mUvLO4L+7pZsXnAYBXdTPoW1S0arX0oBkDI9sTGQ/rEo/jJP/1Cf1N0lVMxB?= =?us-ascii?Q?Qnyn2adQUS9unOXrNXMnOdBsbJzFCEVgKT19wfqY0Qe6ZMXua9em6/vbkPPr?= =?us-ascii?Q?G88BLU/me0Ht/t2TcDRC48Ytm0ZLA8gXWOFQZvtlkZuhDqhredRY9iml78n9?= =?us-ascii?Q?i2I/BSImS4rCsW34McieIgx9hrdf2Pt+In1Q3yQsjznpgAE9Fmi4r13alOUl?= =?us-ascii?Q?edDe942agBMstDlYL0DEg7OKe6gicdeb0MKX7SttO2jRvvOQ2w2yUdD9gv5n?= =?us-ascii?Q?tHKO6+zwIurWIduAqL9mhY+IorTF3GWMzkukP0jo/Tp0rts2fZKeoTrlayGE?= =?us-ascii?Q?PEwzQtfPAzy6D/eZnWphVwMmUgSDZEYZNE2WVYKg8OZpl6nGIpJt4L3qdKGa?= =?us-ascii?Q?uLZ+SLYPPXXKzvvj4QUzj00AcoB0zN4ekECg5KNl8FWkwn+IFZscASympGmE?= =?us-ascii?Q?+QKWApBxNADCiuvf6fmMZY7Tt0goMPi8yt8HX/zokdAdlZ01MWRg+lP9W1hr?= =?us-ascii?Q?5DnO1RhhsYN9gccqTCuP4JiV9NIF5S2RQTstOGu5y0qUNPcjAtVcms1+v9Y7?= =?us-ascii?Q?3BLWOYm1fUAD7vBQXb0yYKPzyGEUVtqzVlQ7HisTZONq0ukR0omE9FPBlCJS?= =?us-ascii?Q?5fVmMojH8YlsEYjxvX+MeH7nvBXEisfIH5Rqj5NALhTCGIyVfQ9fjk2Ltrya?= =?us-ascii?Q?5PF60HfmAU/NNmYszv7hFXOyb1AJkBSLVelHQvBOSeGqha/K6WF7wijrQTZr?= =?us-ascii?Q?kfGxSnb62WiPLYthR/UlT8O83Hgucw/khihgEO66sTRaoEAZbqsW7LUZKg2T?= =?us-ascii?Q?lWgU8AFU8/I5hoUoV98ME7Emgeh5nny/UuWL4g3whXNHS7x1wBTuIAEoC4/i?= =?us-ascii?Q?Lrxlj57Fg93+stScNGBpwt8qP9pdokIBPlJNb3m5iHD5fDzEGOZL32lbWEkK?= =?us-ascii?Q?C/1uvcYIzS0smyrVIUVrBuNFXUGuEOQdfGnKxM4Q?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 795fef42-079c-42f4-f8a4-08ddc62a31ea X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB9473.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jul 2025 18:37:48.6011 (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: 5EiGpPnWQeZATxdjVWC+z+CAec8ry+9BmiipYjkFbslnMCI5lKpwwHDveW8V08X9 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6621 X-Rspamd-Queue-Id: 43D372000E X-Stat-Signature: qs4yn8cwxqaz5srqffi1dcx6c6k6kqub X-Rspam-User: X-Rspamd-Server: rspam07 X-HE-Tag: 1752863872-244645 X-HE-Meta: U2FsdGVkX1++C4VhjBz50tv4J22hzTYKsgO93l9hfSc5cLXRyyfdgy53GAH4BfVxkq0fAQM/FaSfo7cHrSW8Vr1T+hQjSHMMXyu3K1W/+HX69Jj3yTLGz3YTNChUVzYqSaaZ6de4URLrRR+PUVlmjblKBjNc1b47um/ARLPwy9BfHyXM0U0YS48aZTxf/nL+Jfjbr15XRK7E0Uexz26+kem4NvDzYLWHbg0CbI+ps7eZjY1ynelPLQSncmpMxQ2irOhTI/Yzlk/ZoC37jVM0eGhCkOCAM6BVDwB800EtEuf/r9p1rw/qJlKroNtdaNMZh8Go2t+n+3Sn6o/UKnSFmR88XvGvLpHA3AVTdH61N9V799IQDKVdaUaloZdiuXGF6BA7iIHDhn3Bm311hQxOUAKurbx0dCVWNklX/EcdxpiOaFqpS5nindv5eDLBWPV9KXjSbtws9Hu9KjsPx8bDcHjWiRKjTDyQ54c6R2JizUSCvHGNOQ+O5pAtTuNYp5QH9VG4MV+eQO1+TQjrl4jX3Uym27HRuruKT4lRF4YUmNMNNFGu/8ExQJ5G04dVGGohYpy8WKIYuRcTb5v4v3YirrvC/8Mw8D+EcDAOi43mghc+qFDiU2NkPtbqatFQA/LudfHfsABBSwDoN5w9dkIeprf9FJ97cLcu0bnSfJNIyrPf7hfIvmYZiCu7OZfqIass8KldsAndh4fZpVJno4jzaDds52YDkvwOJAYjyPIoCQWsyK5/63A8crV7/HMObVu+4Mnz6BaQWR1ZXQaMQxcAsk06LEhvTeY4L4ZG9FDaOQKIluF2MUR6CBQZ5Slwdrxmp470tonaTBeDIgEbDIDeT5tcKNV7RmURfPbH5qbf2D7Vu5CdPW41YGWmAKb01rL1F9W9l650x9bQ/KCVJP7DDm82xiaaTvdPCmSHvdIO8w+QOT5UCaMsjKHbIqcFbL6MFfczVGTtx171Vy2s+dg I0KOTM93 pj6vKDKv9OMHLi04xl84WBb5q44I6Ax3F6DBbS9oF17whcbeAXZzziWh8O5BR1IHZtdBZ3nwLbg3cfvtcQHUJUuXxdn9Z2xaAwlxJFmSIj/0YZB4UaXtT71noR0XmkcrIpY8ln6j3d40Q7JAKpAX+V6PZxDXWMTFmokiQEFNrjcSwBcoyKKtQ0d0fTvWz6G8sEwftFbXcrEbWbveza519HyLp7JykBFnKNUZnM5GQSrTn75tB7S+rEL2arlRGXvhY6V9plqDZr3htI8nkVZOD3XmZTnw+GTUlVSzQB5asDKr+IfAkHGKKa5orVAL3W6nD+X1AjymFbpsXjK98fIcEuEWeXf2YElGDTaWdce61t8e7LHJoU2eZCIhx57nj0F0zMvcraJsmLXJc85sI9Xr/75zlbSR1IaCqpVn3QN8EMPdfhld4XIxwFaSR8oUovyjWs7faQNhXnnGsyG96ju7V+cliCLOJ2/wT+Wym1+YkvsQT0ssuMakNIrDECqX/JLTl92JSbk1QjGCTidh4SgTUOGsGwBOC8CCZuAcVchw+2liqPHCwpSWrzhyanW0yn0Zw5H/Q X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi Andrew, This series replaces both [PATCH v3 0/2] __folio_split() clean up and [PATCH] mm/huge_memory: refactor after-split (page) cache code. Hi all, This patchset refactors __folio_split() and __split_unmapped_folio() to: 1. make __split_unmapped_folio() reusable for splitting unmapped folios. It avoids the need for a new boolean unmapped parameter to guard mapping-related code when __split_unmapped_folio() is reused to split unmapped folios. 2. improve code readability and prevent smatch/coverity checkers from complaining about NULL mapping referencing. An additional benefit for __split_unmapped_folio() refactoring is that __split_unmapped_folio() could be called on after-split folios by __folio_split(). It can enable new split methods. For example, at deferred split time, unmapped subpages can scatter arbitrarily within a large folio, neither uniform nor non-uniform split can maximize after-split folio orders for mapped subpages. The hope is that by calling __split_unmapped_folio() multiple times, a better split result can be achieved. The patchset is based on mm-new with aforementioned two patchsets reverted. It passes mm selftests. Changelog === >From V4[6]: 1. Use VM_WARN_ONCE_ON_FOLIO() without return -EINVAL. >From V3[4]: 1. Split up Patch 1 into incremental changes: a. Patch 1 moves code out of __split_unmapped_folio(); b. Patch 2 removes after_split label in __split_unmapped_folio(); c. Patch 3 refactors __folio_split() to deduplicate code; d. Patch 4 converts VM_BUGs to VM_WARMs; 2. Added "mm/huge_memory: refactor after-split (page) cache code" patch[5] to this series. 3. Added remap_flags to make remap_page() call easier to read. 4. Updated Patch 1 commit log to include variable rename information. 5. Converted additional VM_BUGs in __folio_split(). 6. Renamed next_folio to end_folio to avoid confusion. 7. Added a comment about start for loop with folio_next(folio) instead of just folio plus skipping folio in the loop body. 8. Dropped swapcache folio split check code from __split_unmapped_folio(), since the check is already done at the beginning of __folio_split(). >From V2[3]: 1. Code format fixes 2. Restructured code to remove after_split goto label. >From V1[2]: 1. Fixed indentations. 2. Used folio_expected_ref_count() to calculate ref_count instead of open coding. [1] https://lore.kernel.org/linux-mm/94D8C1A4-780C-4BEC-A336-7D3613B54845@nvidia.com/ [2] https://lore.kernel.org/linux-mm/20250711030259.3574392-1-ziy@nvidia.com/ [3] https://lore.kernel.org/linux-mm/20250711182355.3592618-1-ziy@nvidia.com/ [4] https://lore.kernel.org/linux-mm/20250714171823.3626213-1-ziy@nvidia.com/ [5] https://lore.kernel.org/linux-mm/20250716171112.3666150-1-ziy@nvidia.com/ [6] https://lore.kernel.org/linux-mm/20250718023000.4044406-1-ziy@nvidia.com/ Zi Yan (6): mm/huge_memory: move unrelated code out of __split_unmapped_folio() mm/huge_memory: remove after_split label in __split_unmapped_folio(). mm/huge_memory: deduplicate code in __folio_split(). mm/huge_memory: convert VM_BUG* to VM_WARN* in __folio_split. mm/huge_memory: get frozen folio refcount with folio_expected_ref_count() mm/huge_memory: refactor after-split (page) cache code. mm/huge_memory.c | 311 ++++++++++++++++++++++++----------------------- 1 file changed, 159 insertions(+), 152 deletions(-) -- 2.47.2