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 2A673C19F32 for ; Wed, 5 Mar 2025 19:46:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2164B6B0088; Wed, 5 Mar 2025 14:45:59 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 19E656B0089; Wed, 5 Mar 2025 14:45:59 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F33CD28000F; Wed, 5 Mar 2025 14:45:58 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id CA7626B0088 for ; Wed, 5 Mar 2025 14:45:58 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id E7E9E140A4D for ; Wed, 5 Mar 2025 19:46:00 +0000 (UTC) X-FDA: 83188528080.06.29C05A7 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2050.outbound.protection.outlook.com [40.107.94.50]) by imf06.hostedemail.com (Postfix) with ESMTP id A2C5318001B for ; Wed, 5 Mar 2025 19:45:57 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=e0QnEGXX; spf=pass (imf06.hostedemail.com: domain of ziy@nvidia.com designates 40.107.94.50 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=1741203958; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=CtlYbt92Fg7Wcd8LttyOLmhaTEOcLNlDgVnJuBai4Zw=; b=fEA7k6uqWu6WTYKKtJsQv0M9IhB5uZ9ye/F0TfEMwOrtSJh3bpN9WVf+OY6W2AVSFStKhO fh1036JZI/BsE7PuVV90aF+TBG4Gh8gS2zYcLaIauxpb77VX9khxQZvXtno5bSYzriv3du LJK2H5jQC1d12wIBKgZlca6Nond76rM= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1741203958; a=rsa-sha256; cv=pass; b=vcem/BQ/4Fsr/XqPsou+JlJMzXHNRWQKJksh9PD2AKf0PDvuv/opcvwZGskz1Ole+Gn2cs SQJf9jH0zl3hCfLp266typk170BQFgqBLsKgzVitJUpcwx9+nnpx2fBu4lApuNNFJi+vRd ZbIpeeR4FPKB+9HUnLomXx6KGWAgmvY= ARC-Authentication-Results: i=2; imf06.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=e0QnEGXX; spf=pass (imf06.hostedemail.com: domain of ziy@nvidia.com designates 40.107.94.50 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=DXh97coZqds3hIvjXoJ6axyjlfU6BZH95iyQ2PeSJqo6EmN+HnEYH+K7NuJnGCtjlW0L3piTlsO6K6f9Mz61oSpzSRXHjE3HFBwrbMZR/pyDW63RyRKFGyFRXZsTaLCs9g4lo4qhgttf3aauY+IjqKZHZy0OXX2wpOgVDYxDhLQ8kn/elRJV48AoBfCGyGGEdbSb81Ox4+XVqG0OO9IGQRll96G2I2WA7P6j29ItPXXJK1E7HbB0bEmtf2j2OoZMnGzVrfcf2PiSC+lorZQ+UOT0frW2XHupcX+HeUIKvQHo7oHkgkyPKjBSwtbFybWVKVZFfgziuRfJosMfYTVH+w== 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=CtlYbt92Fg7Wcd8LttyOLmhaTEOcLNlDgVnJuBai4Zw=; b=qLrVwKPOSj9ytv25RMikTg5TCGk2Z7yQVF+HNwx7ebowmCdddFpPeBNjpRa0t3gv12gn8BBBbbLnz45hZDJupankIxyig+a49g4TIzMfALEmN82niRxBfZpo/Rj9Xr2Eqb+3F1K/1aVKjlxOHBOUw26DX23yM4m/8K96aX2EE1sBDbswtMm9ONnlXquc/GOC+GIKqaeWbK+s8hB14ZVLesQVSq0rU+/fOeiqDu7dcdegOGtVMDfAcj7bjG2uaeInnJFo002743PtN1mODd+3eaEofIZmrECLSwmGm+EAIUC+bFIJx/1JvRS/3Mu1hiXi/J8jglXWq3mKDt6xx+y0Ig== 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=CtlYbt92Fg7Wcd8LttyOLmhaTEOcLNlDgVnJuBai4Zw=; b=e0QnEGXX8GB0nUe/LvqRCftzrvUa9T8GhOF029i6lG7Mlqp+BY2hlW7FjYQfptf5hWxIw8K5FX8hc55LSqxMUM0QG5Gy4gW1x+hOxeCUALmcJFx9IdE1L0JfqyBpVsexloWVCLgbNCg4RYpyfyc3Jnlrau+FeidIlz/2Uwq8vWmBhYhb+H3imkaYeG16OPFqaDzS76WE+Sus3XBT6D5TlvSo+AP4AmvDycI1FYc1hT6OaQNwJLffBzYihJ73+QGc/sDVdyftBn59aMJ0MO+G1M2XYGr2d9M0Bxsp9qhMywN8/f2EVqgnECnL/WICx1Dk32CZ+UIds5d2oWAxuqT7lw== Received: from DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) by DS0PR12MB8270.namprd12.prod.outlook.com (2603:10b6:8:fe::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.17; Wed, 5 Mar 2025 19:45:54 +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.8511.017; Wed, 5 Mar 2025 19:45:54 +0000 From: Zi Yan To: Hugh Dickins Cc: linux-mm@kvack.org, Andrew Morton , "Kirill A . Shutemov" , "Matthew Wilcox (Oracle)" , Ryan Roberts , David Hildenbrand , Yang Shi , Miaohe Lin , Kefeng Wang , Yu Zhao , John Hubbard , Baolin Wang , linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, Kairui Song , Liu Shixin Subject: Re: [PATCH v9 2/8] mm/huge_memory: add two new (not yet used) functions for folio_split() Date: Wed, 05 Mar 2025 14:45:49 -0500 X-Mailer: MailMate (2.0r6233) Message-ID: In-Reply-To: <2fae27fe-6e2e-3587-4b68-072118d80cf8@google.com> References: <20250226210032.2044041-1-ziy@nvidia.com> <20250226210032.2044041-3-ziy@nvidia.com> <2fae27fe-6e2e-3587-4b68-072118d80cf8@google.com> Content-Type: text/plain X-ClientProxiedBy: SJ0PR05CA0056.namprd05.prod.outlook.com (2603:10b6:a03:33f::31) To DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR12MB9473:EE_|DS0PR12MB8270:EE_ X-MS-Office365-Filtering-Correlation-Id: 4d7ce0fa-3907-4dc7-a1fe-08dd5c1e5755 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|7416014|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?jPplYyCMjdj2WhY7bXW2WdJeBGJO/SKKoBzyPa3gT9b86M113F/MnjuJK4h/?= =?us-ascii?Q?1iCOWgiUgosTUsKayCb8V6UwRQgJ7GuAsJWzP16Dizw7qxIdM0MJYx0wVMP+?= =?us-ascii?Q?eXmXEeLdW41hlnEwdh+poIrKH7y2mX0hc9fhakg56F62SAsV31CqX2wXlbK+?= =?us-ascii?Q?CK8M+5oaYuBc9Fj0avU9uh85e3uY7owrxbbQAkaDlJT8oUSz6Rqk3evcAuVB?= =?us-ascii?Q?zeSYYfic9l9V+73WmGURqvqa58PXcrIL3irzuqn89vUuEIQV5F0qyIQssksl?= =?us-ascii?Q?hkG2H5BIzpIBSmRmyPYn+4fltuX3i6S6NQZ7CIN3cXgA8Q9Mi5QudfAyuc7b?= =?us-ascii?Q?KVJ6E1dzxS0svyoF54d/zKK+iUviaAHxCAF98xKZCzGfv2yU5RLYrwvEZybi?= =?us-ascii?Q?20ZzVk6C6s2OUu6EF7nf/zgUSf70L/nO9VFqr867kLlmjveA3SjIl57Gac0e?= =?us-ascii?Q?zZDcTf/o5v2XEyCMvE+24pQ9LAMabvmn1eMlfgmx06VcYbf6v+1JyuiQw0zf?= =?us-ascii?Q?e2R4i+BP/0lKRRaSkHxWOJKI72xirVV41bB7FmHcUxYIXuoqlr87e9KzEXBy?= =?us-ascii?Q?mdRnJ9lyZ4gmbmMQqsSVT65Stu+sSaoeidrqEuaMflDrL2/nlgVKeggbsaRt?= =?us-ascii?Q?rbXNMHHlBT9a3gy/WBxIAKf4AseaUXgWn9hI0nN4HnhwIqqG5kmGDsrTzuwQ?= =?us-ascii?Q?NfB1e6kA2AzvCNQ8umufVa1DvHt6DR0362eiER5X3z0kSqShleOevZkr2qWu?= =?us-ascii?Q?jj+S0pfNER59HXe0di0AgIn8hwFxLBvGF1qmnVvTgCmfCJVuulYQ2Q/38XZj?= =?us-ascii?Q?0d4gY3wauFiltuj+DtguG8I2fq8+ysBuOhCr1bBuiL1y12ST+jJ7bI99n7gw?= =?us-ascii?Q?OLw2EOeoNH3qRxaw+T/ebNuc4sxzVBJpXX+jHfCuSXw+KOQog7cuo1pBA4iV?= =?us-ascii?Q?Jw+g78U+hvVFJKG2JDwIdu8Y085mVHo513jVhhrKdLk2FZDtnunlAWBUhmo/?= =?us-ascii?Q?aYSiBL++uH16XA9OcFNS9HTrcZMI6q8FGrhlj9kqPKHPuziAtM5FCWpwhxWi?= =?us-ascii?Q?XZhqUg+Y5aarJYBp2NcXqPQ4dsKBURBN1IhOrwbCtOF3GFjZdveNTqSz7fG8?= =?us-ascii?Q?DCs1PaBsvb5/LBmomW8VKFtObIrjc7Xkuzrs5T4z6bsQ0r22NrU3xeSiFDrw?= =?us-ascii?Q?78yl7QhNyoZeFCW/DrCd80Sj0EJzVrkt2zUM3fT3QnJ/cSw90s8+3MZs5H+m?= =?us-ascii?Q?bs8Mb8bM7rlJSF8iOjTSc7RaS403L8/wOa6rf25mJ6Rq+oQw+1T8j5pEDtbU?= =?us-ascii?Q?EO6ITrs2ef2SrXvna62gVmytiCFOMgNLyU0ZQEgDoW0LGl5quid1OhfQcO2o?= =?us-ascii?Q?5mM1YOlClgJL+UwExdHJVtvWt/+2?= 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)(366016)(1800799024)(7416014)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ypCUe36yX1MfF/exhiHnes419b1YecDMf78RSsSNlETEwoIVqpZQZSK3DvNs?= =?us-ascii?Q?kj57/qKE1yU9DAjTUSnXvEJBSS5w3fb6CcOv7giQ1obMIno84LJfjjYM1Pq5?= =?us-ascii?Q?evWE+RutXPJWrnTLLQaaQgjqn9oHBQdcIM34zu45xEMhGiSPb/LMhWVc0kd8?= =?us-ascii?Q?euauIu10PHn7RcxiI3jijYw6X+Y5DYJ4vJuHxztcqEjCal/GGvRBOwrBz0SI?= =?us-ascii?Q?obRBoAt2cpsQHFp0/UUFr7n3K2h4FSL3bW2WiSY7bi+0SsKDRrL5VEF7bmB+?= =?us-ascii?Q?DormsunKIijCosQfFwr28wWO6+6PmtNkdBt/5XXvJb6dQpdVswD2BtYjfozj?= =?us-ascii?Q?JR5HqJt2cuIi6R0vGwTi/gptbhFsmK4glpB0rgFiAWrGeOJHtjML2nWiZDrG?= =?us-ascii?Q?GpMv3arAyX5zFMKwa/xd5OEL2OW1y4kw+pJJVprKO+SO7y/Eahn/x9bw70Iu?= =?us-ascii?Q?B+Rouk1b6sfIU9Qa923vT5xPvsofwFpchpYvHYW4dwVG2Z2mU2ITBsdO0o/f?= =?us-ascii?Q?pf2gG+pzHltMSHjOqKHrqun+BUnh5BKap/mkL/LqKsORudo3DZaQNZKQcLzo?= =?us-ascii?Q?rpQA/lDAmk4amb11AQ8EWg/KyVYtF3CZtHjIt/fvv3OKIcMxt1HLaP6gs1uv?= =?us-ascii?Q?Q/3OBRd/CabtlLyiLKbq+fGkCom7H6tRhkwHoSgI/XZVUcX2YT3wcih+vQv9?= =?us-ascii?Q?Rp5RzZBrVVnoFrp6StN3/XwVHFUYj2UJDtVZ1M8KlGDltjfWX+KfALH9LqwW?= =?us-ascii?Q?UyOEKBPc+6rHvgSk6qIhrW6ORWIIQjO2U3/i6E3G3siP5xN5ZQapmZ6bWIDY?= =?us-ascii?Q?nvwPXku7Y9qlSu5bW5PneHjGWvxGeMC9VS4ZkNtl5REDRFfb0VNkXQlfHwp9?= =?us-ascii?Q?Rwr7UIfz9yWPNr60+3xNOal0eZhkCwMcJjLaLEHFbWt5Kwi183Urue9WqbeZ?= =?us-ascii?Q?HaxxKyXKB9BRmP+vJsqcdG9H6Z7yfjN+6lzo6cAGZLBoBIcRVfsmyI4a1Xrf?= =?us-ascii?Q?v7eiNnmycLIy4QsLSVcUZKmKVypdooXRbRpXwJ1R1Ibw7jaczoDpLz0gNi3+?= =?us-ascii?Q?QNudYymeyVBcSAQMS1ZOCznPlVo+RsH7KgjxmP5u6x7/lA/Sgtsrygk7AshV?= =?us-ascii?Q?ON69MabiWRyrwJTOgo+sVX0p0uKXEX4PazGrgkdgVTB79eDnidKlyc+0K3Dp?= =?us-ascii?Q?pUZBO8EO/HnAONCP0uHYcCZCl2BbXQvoFIz5fVpbZmHgw0TO7i93Go8x9yDk?= =?us-ascii?Q?swWbr0iMRpk1+wai6DZEe6uyf+Q+iFTFYoxKHzBkhKsJ3YrmvnmxPKKF0/hx?= =?us-ascii?Q?T1+Md6wodY8FxvlRZUFWmzHigutCIxkwYrdMnKRtaOrU/lWUJ5DobK6WOrmQ?= =?us-ascii?Q?XUgIjjnFUnzLFu6LGrZhR1gl9xEwZaCx4FH3+hM9z+QGmEo2bU57I4CxuVM2?= =?us-ascii?Q?xcK2qecGba8NfLv8D88LN2Mt1kCaOYzwzeW+8A1Gl0Kol0kZTJk8V0CZXzW4?= =?us-ascii?Q?ar47HikT0YhKONyBqcEgGhgGfr9ePppZ9AVkQhinwjOoZzedgIKh+WFNukua?= =?us-ascii?Q?ZY7CwzsuAnBSnbV0+Wk=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4d7ce0fa-3907-4dc7-a1fe-08dd5c1e5755 X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB9473.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Mar 2025 19:45:54.2057 (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: qcAUgNxTxpcw7T4ul6EYxf+3LAH0+lkbAs2XYWzygMvVBx3RfnlPjyPjneZocuSv X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8270 X-Stat-Signature: 7nesrdnxiffsp8t5krgnety4hiww7hk1 X-Rspamd-Queue-Id: A2C5318001B X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1741203957-306110 X-HE-Meta: U2FsdGVkX19O7xgLWA4NHMVvguEBsjpq3YaukiPCuHHdZGrxJlM5gGvwPukjkbEX/ZOoLx6t+xc8hteg1yDEvVoS+1LUVbp6QKffQZMpp9nBtNG0M3LjzPIl/PxQR/ycT2OazpBasgX0Xus1V9uMF6fgyVztka7LgFK8z+EGc7YVQZDMMF3yRoIwZwbCPuGVCdBjEbxw3h4Wj7bPeta8cAQU+/ueVCwGXh+6TWcxrqFJ4w9EheYJWbZBVJvIhPsC+NOXchIp7GghVp8RUuSCMQrpvPVj4vENZSf4RUg1rLeJUDEoY4+VmTVWkIpO13SyCqXJYEO7zdw9Y3ajBfL8Mo5tw1hql4e3GQYaO+l0jf3pfvws9M0zidQDDKACQDuUCp9NGI2WniCLDFOLopdqC7uZHiXk7MR0NfcrxZwooLydgHDdRexlB9QUUTfbZ85fCmYnTkDAgRoaE3noFymHgy1K2gZCyi9virnksrWKMgvC1eUMi6Z+p8JymnZKQmbBY3SqbflMN3qCgEV/0hPnrQmUotrhOuZ8PXEG8BNlc61la8P5Tn52o+v/qRv3sVaKuO2rdedVuBnarlmFr6Jq0U/p8Bb7VfebxpvzEHfYuzXRxU6pujFHdhUB0FW5Sk5hscDntd3pfvsTTWGU2siyt/GwQOdkm1OlADHJYQ8HOOt/WxVVP435fcxzI0afEU1lq6fjxbnZ8/brWc0TOFsqg70EC6VUwT3NHmtipyHt7b0bNnCucUjCpEdkhaMMuvgVIofx11DyVy91t1n693JT1zgdfP3ANFk0xe1Td+5ZaVO8RiJvziB6RLZqIArAzFjju3vb0hfhqafUsNRLyPLtrQHYwHEUZa2k7mWOFZrs1ZqMZaCZqgka22Rh+EytFAxGYpEq3BlVvjquRCX5hYP+w0tPsfhNn+NdXHqlyk5jAJHwvqRCU3u2TWeig6zkEuDz4UN8YSnQeG/LHFBYeEL E9hPXAU3 x5rd3o4cqFQhWLRmsKfJRGXFkoOOtePGH4X2zUv2fR3a3ld2a05ksKSELsYf4+E80ify4BsFxfQelTa4HXy5AA0v7YqyhKfwQmnJPCmkkeWWMzYxQHv8o7pM0jEcofxLk2O+aB5ZhTw4woEKgXiS1m7cbHSLfjbRJGddg6VM2MeAWpqLi5oLOrEXB9b7hsTApGZ8Yg1BGtHSVV9R9SDMCUVZT7cPGTzzdCotVFWgmg9wlC+8Ot/8+cNa7RvnkXGnDYIPYyxbhpU75Au+sPuGhbd7T7Rgr41bnQvlC7H8wFlYqACFCCNHnRr3wZ3QRJSmCgKKsRB31nyNa+d+NRHiSeNXHyWgdsiDqwZBR+0BcapU0R73qu0iHL6T8LqIsGZKRgc4eg/l+zoIU5FU= 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: On 4 Mar 2025, at 6:49, Hugh Dickins wrote: > On Wed, 26 Feb 2025, Zi Yan wrote: > >> This is a preparation patch, both added functions are not used yet. >> >> The added __split_unmapped_folio() is able to split a folio with its >> mapping removed in two manners: 1) uniform split (the existing way), and >> 2) buddy allocator like split. >> >> The added __split_folio_to_order() can split a folio into any lower order. >> For uniform split, __split_unmapped_folio() calls it once to split the >> given folio to the new order. For buddy allocator split, >> __split_unmapped_folio() calls it (folio_order - new_order) times and each >> time splits the folio containing the given page to one lower order. >> >> Signed-off-by: Zi Yan > > Sorry, I'm tired and don't really want to be writing this yet, but the > migrate "hotfix" has tipped my hand, and I need to get this out to you > before more days pass. > > I'd been unable to complete even a single iteration of my "kernel builds > on huge tmpfs while swapping to SSD" testing during this current 6.14-rc > mm.git cycle (6.14-rc itself fine) - until the last week, when some > important fixes have come in, so I'm no longer getting I/O errors from > ext4-on-loop0-on-huge-tmpfs, and "Huh VM_FAULT_OOM leaked" warnings: good. > > But I still can't get beyond a few iterations, a few minutes: there's > some corruption of user data, which usually manifests as a kernel build > failing because fixdep couldn't find some truncated-on-the-left pathname. > > While it definitely bisected to your folio_split() series, it's quite > possible that you're merely exposing an existing bug to wider use. > > I've spent the last few days trying to track this down, but still not > succeeded: I'm still getting much the same corruption. But have been > folding in various fixes as I found them, even though they have not > solved the main problem at all. I'll return to trying to debug the > corruption "tomorrow". > > I think (might be wrong, I'm in a rush) my mods are all to this > "add two new (not yet used) functions for folio_split()" patch: > please merge them in if you agree. > > 1. From source inspection, it looks like a folio_set_order() was missed. Actually no. folio_set_order(folio, new_order) is called multiple times in the for loop above. It is duplicated but not missing. > > 2. Why is swapcache only checked when folio_test_anon? I can see that > you've just copied that over from the old __split_huge_page(), but > it seems wrong to me here and there - I guess a relic from before > shmem could swap out a huge page. Yes, it is a relic, but it is still right before I change another relic in __folio_split() or split_huge_page_to_list_to_order() from mainline, if (!mapping) { ret = -EBUSY; goto out; }. It excludes the shmem in swap cache case. I probably will leave it as is in my next folio_split() version to avoid adding more potential bugs, but will come back later in another patch. Best Regards, Yan, Zi