From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from PH7PR06CU001.outbound.protection.outlook.com (mail-westus3azon11010037.outbound.protection.outlook.com [52.101.201.37]) (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 A73072C11E4; Tue, 9 Dec 2025 16:03:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.201.37 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765296217; cv=fail; b=TBOJzbEYT4av8JdNQYM3nCOmiwEnlW9ZTgOWSmd9uecRybp7d90xhXA/SKJl5uwpfYq1u9motXq9KFZHS5bU5r+KQBYdwLY/UirPFcIgPLbNXtiHFaPEYhFw7bg3yVAUpvq4tBlLBihLbzBo/QNrgNPlcNaH4D1qAaaADKr4ILg= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765296217; c=relaxed/simple; bh=kBbKitmPBSAj91+Mx+HNtsbA+IsE9V7GopdHbszWbfE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=EUsc+63RjINuzRbSUmwsfggmJALG1oWLK0bYNBk94+sKWifI1ihbTQJ5QTArm1OZ/6lq1U8ZFVzMiWPiidcNFqca6sYKkc45lC7wLtHN2fgrtFUb4YF7uJ6n7TzG9JIRjuNfL6mPyg3qfjh1prUTO+mxym4fwW5B9DV683Zgvyo= 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=S/vhPHA3; arc=fail smtp.client-ip=52.101.201.37 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="S/vhPHA3" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rAhpcT72kWb1IF1dKmD8Tcvu1YEL28MKuZOrhy+/WRcNsZYHMs4Ss2VPjwDZ3zuVV4ezv1zulrlPVWo6LY89B5JmyCgYisjE+PI/ePoQ/TsAztZrvocXFxCcE3XhYBL4Z7cmaxHNyg67eAaAOmKqN5T7oo3ipTVybaHbSTTYq7JG0U/EF3qRpy1xRQNP7jkgX6b2479HAKGKx3kUpQu7Dsx2rA0B6NJhOcuuUcmA6SMZT1mH1mcTC74uDNAQFmjRlI3i7wvxMGiI5vVnRRqdH+q31+MLtKBNxWSW4BOc9l8CQ7fNFA0JyPlBZnbjUXWTrjC/rQwZdaoH4P/2iinFQA== 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=wspgFzM4ZRTbDwwh0B5/9TnFzY9xi56Dw8PJD91K4K0=; b=fEa3JwVweWEPqsmHV8XUfrRUL7HA8gqHC9IZ8bGbDoNB4VOmITDTWhYQpDNHdiX5c+qx59KlpL8mRkqt2hyvMZWjiq899RY9XAfkCajSer03tRu2/zwKHeANoY0XStayJ9gUMseHVB1vSkFZJzGZh+sYkuYB5X3IcM0EAKklr74ogVXaqLjeh1G75tIaWd1C0aEQDA6RsFuL12fw3jfjW2pTGw1b+ImLJmVIAq8pBuGIv0c4C+ntjjwsFUfMXsWNmEWoed6+3uC6ZMf7j/v4hmcccMAQjOfYCAsjL7laC8JBN07eja4RgLlGp2nWfvS9b2aDueYDrKRHyvLO9pBz+g== 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=wspgFzM4ZRTbDwwh0B5/9TnFzY9xi56Dw8PJD91K4K0=; b=S/vhPHA3Lejnc3jRwB6fcgtHdmyx6x8iHYw8lSxtpMaIOaYMhLvZvFm1rhXBqqelkHTiiAP4bwEsDXCrdnWzw+ff47pjAfRRQyhnBuG/roblOwIbMKvJw4DmNrTAucAkUCL6fe57Wh5POn2RcxcXD9Qosvm/OC7TJCd2NKw+v5wh09E9O/KZ/P7GK1GKc4MkFv7B/O8SfYvdAjzXXF7YGEgM1JAsZFXeaHRzL24pzbId+IpQejCFcMAwnNHO5tWlMRiydrUy3pc9k0DiTDg1sa8Cfh1H3wmfRqOJD1qR3hbqO93hpThf4adW7yRNRNhAacsi53CBkSddkz9tBN5mGw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) by LV3PR12MB9141.namprd12.prod.outlook.com (2603:10b6:408:1a7::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9412.6; Tue, 9 Dec 2025 16:03:28 +0000 Received: from DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a]) by DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a%5]) with mapi id 15.20.9412.005; Tue, 9 Dec 2025 16:03:27 +0000 From: Zi Yan To: Pankaj Raghav Cc: Suren Baghdasaryan , Mike Rapoport , David Hildenbrand , Ryan Roberts , Michal Hocko , Lance Yang , Lorenzo Stoakes , Baolin Wang , Dev Jain , Barry Song , Andrew Morton , Nico Pache , Vlastimil Babka , "Liam R . Howlett" , Jens Axboe , linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-block@vger.kernel.org, linux-fsdevel@vger.kernel.org, mcgrof@kernel.org, gost.dev@samsung.com, kernel@pankajraghav.com, tytso@mit.edu Subject: Re: [RFC v2 0/3] Decoupling large folios dependency on THP Date: Tue, 09 Dec 2025 11:03:23 -0500 X-Mailer: MailMate (2.0r6290) Message-ID: <64291696-C808-49D0-9F89-6B3B97F58717@nvidia.com> In-Reply-To: <20251206030858.1418814-1-p.raghav@samsung.com> References: <20251206030858.1418814-1-p.raghav@samsung.com> Content-Type: text/plain Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BN0PR08CA0010.namprd08.prod.outlook.com (2603:10b6:408:142::11) To DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) 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: DS7PR12MB9473:EE_|LV3PR12MB9141:EE_ X-MS-Office365-Filtering-Correlation-Id: 48966b2d-c1ba-4799-094e-08de373c7d5e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?XcprXJBkK0T4J83syX5+TtfymEvGIpvdrLALuD7DEYHcfWHMXezmwYKtB+wH?= =?us-ascii?Q?74eKTgj0n1BXcS25cUvKnCTZjSGlDi4hqD/37Giox0Knpj7OmE6YmeTUUY1E?= =?us-ascii?Q?7a96QWhacIJajyFWVmoumvqiaQiiiuWnFDlp6uwe81gy4+LsvnzqSL3SF1Om?= =?us-ascii?Q?PeAlLvMKVSiDbQXHS8f2p6gav6CAHzM8s6hCMvBcKNvLaPQgTxR8K6YEzG2q?= =?us-ascii?Q?m/MSxfDvoYJm9q79JBlCclyCLJ74o6LGVuYdJ+YazGuPvYNv73RfdDEgqSh+?= =?us-ascii?Q?ynVVWRlTYRIE7fR7MiGsUvEKiLJL+uqaunh6vNj7Ed10vXfDc2PkSNY9qnM+?= =?us-ascii?Q?1am0+x+ZW0KtHb2ZDRHQtcyMUk2g9t1d4G5+ocVC5ZiKiYVxaFRg2mRTs8X1?= =?us-ascii?Q?8ZFa/WKZm0ynOKOmLEdhTLs2XhDv6dk0oeOV8vZFAoGUo+GehQFl2ys4LtgV?= =?us-ascii?Q?TJkzhKdVlqcXsP1V1oapQBbgFpwg0mBqJzWQuQgfSZ9xuFWCV2R27tPHGfOO?= =?us-ascii?Q?o+aNsLb9KyaRDuVvMBkrmfNOT8bhyj7dcYPb8WNmDMPBcmuUAeB77FAhm6H8?= =?us-ascii?Q?6g/T0p520k+5l8fBzDkpW5XffbnNSf7cxvyg7S+hUua1QL70C9Bw5yjl+YOu?= =?us-ascii?Q?9NsSWUDETkUGZYpKLmqdeF3bB1WH/YoPYHLbX+6txjimjIZtXvU+9GNFZ4j2?= =?us-ascii?Q?nGTEbpLvhB0EO7aYusspTEEh5yNB33olIrpIwIYOtO9Hdt89SmkeHGhnU/re?= =?us-ascii?Q?Ez1ox8YcTFAar7tYrsjbh/kMYqL9qsnQOYVUUbFexFSzWfEgqA3c9YQa6mM/?= =?us-ascii?Q?FM5on0DB/rYnU3TPnsL1CTSd91LmkqM2CZ0GxLiyglmabRui5gwiPmlIKieq?= =?us-ascii?Q?qBNwNoSwkl3GpKeaeQ+bmbfqW8SagkAG9E1YQXF1o8GxpzljUud4DbNRidDF?= =?us-ascii?Q?gWDCAuu+VCwamnrOIwx8ufMTNT5RrMJLl1T8jGHNbBZ7Bq/1SzsUWI5MQiN7?= =?us-ascii?Q?2IspMzlA+B1tWz4wbZ1zniAUebBslyRoiAGn9NcMGDkoqhutTSyM0ZVtQV9Z?= =?us-ascii?Q?Yrp0NcINinMCyQ4ada+iqqn9Qt2NhNxtjMJcB14mRgznJ7ZZKgYwlgOX2Nb3?= =?us-ascii?Q?STT1NWArVGe6HOl2hJ0BfE+d2DxUC6tkB1+QVX3A4k5ETWCFBonGzt1iLBW0?= =?us-ascii?Q?9PwHumXvDDPUekwt8GlOodbWZ0x1fK5YtZA7Xf4Vr4hGGEbaLGXko6zmWATq?= =?us-ascii?Q?jIYrVr86TE7f9utoevGwxBEbg9qLD4iUEP3hxZM/a7xhfwH1xrdc0VHuJGbR?= =?us-ascii?Q?Ysbazuz4AuPQN8K7o/nXeO8avxjPqeeaU8DstQo+D6bE3Mxs0l/d811e9lvH?= =?us-ascii?Q?gpTsC7TFGX4DB+eQB2lE1jpr80W784eQrcucEItz6GfOPcMnW69YZAwT4Asr?= =?us-ascii?Q?iVzHZRYz3V9gwlXfNHPAUBOkIN7kNAYh/2HYonS7usHQWyZqLsfxYg=3D=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)(1800799024)(366016)(376014)(7416014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ieqS716bS0u9gBo9zeur88qYKgIAfRmpxwOff1Ue9YuQBDx6Xuvig7wRl5h7?= =?us-ascii?Q?R411n4QbA1STp+yJQPuDrbz1dmwShfXn4hYBjLR42fVTa4CZzkMtv0iJXCVF?= =?us-ascii?Q?UKCxnXGy2EEfXa1u2mEsIq/S+ZusN4sulgloHi3I+d+Ky95M2Q7h2bI5N+U4?= =?us-ascii?Q?ppdAZ9cQAZ1GVmHj0JbtTbJk40qh0NuYlSJlz0yooZJt4n6hpeYuC6LbosfK?= =?us-ascii?Q?MNYNTsTL28EI3I6Ojae4iWqKUx5h4lfqIg9odFko0yBalCpma5rFLB3wjZR5?= =?us-ascii?Q?V4kVZsYlTAmimJHmnLXq5uxCohsNYkfUB/oVku+j4QZABYj5Ix8pqnXoztj+?= =?us-ascii?Q?x9kGegh9RdaDczcdVBLadU2MtQX7/oq28aR1dbDEHbb/GH9fq8JZCCrnt6Yz?= =?us-ascii?Q?wKI9InM929SEj2aw559mNgUkqYkhx4iewEHsn+6Sr2lCrJ0vYr1IyCSvm2uO?= =?us-ascii?Q?f/B5BrhVit1UW4mRsfub5sITOMABlpG0ZTWDtj+bxwZp/W6HnQIETya3Ufut?= =?us-ascii?Q?Vx7T+Wgm/120DgQnapkPt9/2Mhj2cgHoUBfD2OaSQLtmO6BMPGcOVGi9/X1M?= =?us-ascii?Q?ws3twNVFwvjJMB/ktHRZjS4RhQM8yvHVHip0sR8Txf1Gvfq5mYHRBZGNAbz5?= =?us-ascii?Q?m6LigM/jclEjGzuO4oy2ptaKA4c8M3X0Rxc1oLIdR5hA0HjeX3dY12RUgGtM?= =?us-ascii?Q?GggcmZ3QsuugrCO1nyDA0ZYTZrpXKxMNL+kKmZNlSXV3waaJ/ONCkMZQPsAD?= =?us-ascii?Q?a1SRNyP57cDduSCAuGpS4fjW5P0OCeMlWvjSNX3VagM/5AoijWjon667I9sP?= =?us-ascii?Q?GYqckkrCbNPCGcFQKJaUsn5Kj3xUkLfYSri8xRRlDaTNrFOfwhonk/0fr6qC?= =?us-ascii?Q?t2vNfIEnKj2kOEtv5Tfg6hXKRUQ+q2iE9Tr5LnTRPGn02PxcIuSTIIiszRv0?= =?us-ascii?Q?Q8ClFluoOtlGNf3el4NNJhqMpuThRfv1BWHyjXr8TiTDCCLhvMW9AQWiejWu?= =?us-ascii?Q?pNy4L2CDZuqyqFhFzTq+TnSOGVctkdQPQxAzm2fOCYo57VlrOO5OPnUKvw3O?= =?us-ascii?Q?hsWz5H1xh4D5YQSg56LPVAbu/NeziO+xg3IcmxxXIjyGpSOTTB8sFbZA+hGd?= =?us-ascii?Q?GcJOvm8F0LRRJ+TjBrXpbyEzn4XbwBPWO8kdxcbn8csX/7q0e/S7IHYF6jdo?= =?us-ascii?Q?iz/+nbMd2u6x0Glj4t/LpJz2IkqG8naQ2VSLkIh7SGYke7P4Ww9yP/iOnJFM?= =?us-ascii?Q?6S9MU2DNbadi/lap1vn58/I4i1OGoZ3m5nSv6p1ldrZ61tzCJWQQcPsnLb3E?= =?us-ascii?Q?aRjb/5yMOkAcaJrgVdMwEhQRtPNOWtmBMQ4vT/g1FTF4h2xQ8yK/H93MqJQW?= =?us-ascii?Q?Keuor98DoKLg79z08DVmZa+WDh97BpH8dGXB561vZa21xVj2w2jbsVkyXVGF?= =?us-ascii?Q?NKVsih1qS1WuCV5iPv1NKZP/j3dpgWqmO3oddQ88iYjQWjFZjtVg/QDY/no1?= =?us-ascii?Q?cm9frV+pyMMQqXy6tsRWeM+UwvjTKj4X2Mo/UV61Eo7RA7ZfYBo/YwQarISS?= =?us-ascii?Q?bCPHxHRvEVlLAFKcE6VcKAGT2OcwjRqAjZvx2E2I?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 48966b2d-c1ba-4799-094e-08de373c7d5e X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB9473.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2025 16:03:27.5429 (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: KcHsL0Ddz81aC2Ah94ilaCgbmYseHCy4KZjFWdK4byhwKA+NdrPmbX1x5tXvio99 X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR12MB9141 On 5 Dec 2025, at 22:08, Pankaj Raghav wrote: > File-backed Large folios were initially implemented with dependencies o= n Transparent > Huge Pages (THP) infrastructure. As large folio adoption expanded acros= s > the kernel, CONFIG_TRANSPARENT_HUGEPAGE has become an overloaded > configuration option, sometimes used as a proxy for large folio support= > [1][2][3]. > > This series is a part of the LPC talk[4], and I am sending the RFC > series to start the discussion. > > There are multiple solutions to solve this problem and this is one of > them with minimal changes. I plan on discussing possible other solution= s > at the talk. > > Based on my investigation, the only feature large folios depend on is > the THP splitting infrastructure. Either during truncation or memory > pressure when the large folio has to be split, then THP's splitting > infrastructure is used to split them into min order folio chunks. > > In this approach, we restrict the maximum order of the large folio to > minimum order to ensure we never use the splitting infrastructure when > THP is disabled. > > I disabled THP, and ran xfstests on XFS with 16k, 32k and 64k blocksize= s > and the changes seems to survive the test without any issues. But are large folios really created? IIUC, in do_sync_mmap_readahead(), when THP is disabled, force_thp_readah= ead is never set to true and later ra->order is set to 0. Oh, page_cache_ra_o= rder() later bumps new_order to mapping_min_folio_order(). So large folios are created there. I wonder if core-mm should move mTHP code out of CONFIG_TRANSPARENT_HUGEP= AGE and mTHP might just work. Hmm, folio split might need to be moved out of mm/huge_memory.c in that case. khugepaged should work for mTHP without CONFIG_TRANSPARENT_HUGEPAGE as well. OK, for anon folios, the changes mig= ht be more involved. > > Looking forward to some productive discussion. > > P.S: Thanks to Zi, David and willy for all the ideas they provided to > solve this problem. > > [1] https://lore.kernel.org/linux-mm/731d8b44-1a45-40bc-a274-8f39a7ae0f= 7f@lucifer.local/ > [2] https://lore.kernel.org/all/aGfNKGBz9lhuK1AF@casper.infradead.org/ > [3] https://lore.kernel.org/linux-ext4/20251110043226.GD2988753@mit.edu= / > [4] https://lpc.events/event/19/contributions/2139/ > > Pankaj Raghav (3): > filemap: set max order to be min order if THP is disabled > huge_memory: skip warning if min order and folio order are same in > split > blkdev: remove CONFIG_TRANSPARENT_HUGEPAGES dependency for LBS device= s > > include/linux/blkdev.h | 5 ----- > include/linux/huge_mm.h | 40 ++++++++-------------------------------- > include/linux/pagemap.h | 17 ++++++----------- > mm/memory.c | 41 +++++++++++++++++++++++++++++++++++++++++= > 4 files changed, 55 insertions(+), 48 deletions(-) > > > base-commit: e4c4d9892021888be6d874ec1be307e80382f431 > -- = > 2.50.1 Best Regards, Yan, Zi