From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (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 2823F16CD33; Mon, 10 Nov 2025 12:02:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762776159; cv=fail; b=Ffi5cB6GKaRim/PiQck0HtP4jQ3g4kcgyGGIR2DvgX0mT+UE5SjHStXryE7wFUjqcgOrV5J/3P+FDL4mfXj5R1gTEnuIZCeTGsbueghXQftwfzx9SPQpASp1UeJCuEfB60FlNdj5jcUHdGceNzm1XWy8Ow5mXxj1pUUKPUpOwx8= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762776159; c=relaxed/simple; bh=rJmk31Xv0PC46YfXGgst4EOCfc1lMGNpo5/BMLUdmp4=; h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type: Content-Disposition:In-Reply-To:MIME-Version; b=cmxPcPPPNyn1bQ/QzYvT4GsxISRlxerROxHxGAwNm6oIaGIbd0INlrwYcw3Gvko8XEdHGozkSJiJAQHR0sW5O9d9hPX/ztBZFxwpzbtrlGkYalrFNpAYVZAf9pfX8f5Ze50prVcOTerzQqvesY+hQDcDhIVHmmPi7einAHxQWOc= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=Yd5Lr3yw; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=wknUe8ah; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="Yd5Lr3yw"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="wknUe8ah" Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5AAC0XVI018514; Mon, 10 Nov 2025 12:01:08 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=corp-2025-04-25; bh=vcAEArzMU5KnmsVKaV 4oWD8PdlONN1J7QzF18ALePNo=; b=Yd5Lr3ywak9lC/eRkl0DW68qmNvtXEUrBz C070jdBryoMNYN+L+3pA+rqQzAKcO+Ic8BWs0N2enX8wFUVPX9HMFCFKaCVJiUkr ODglQoMBniaRW4oQBbwXukYX7Cn0T2XI/e3Y71XLTCvKepg/CF90GA0Iq0I26e/q 8SX20xg3lDzfrR1bhVRmL8+sPfoVpBpahDUDfvpAlbkm2JxM937tkhYL4xeyfxUI R6Vlw1duWmUdiWwleI2Go7+JWx14nydFtbb9MRYbdauOQDzhcvKFGGkzGf+wapTO GGWlpGOnRigjwiNNhpQTLIWO6706IAFBof/Nt9bL9r7me1Hpro2g== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4abfhar0gf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 10 Nov 2025 12:01:08 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 5AABKFMC010113; Mon, 10 Nov 2025 12:01:07 GMT Received: from ph0pr06cu001.outbound.protection.outlook.com (mail-westus3azon11011053.outbound.protection.outlook.com [40.107.208.53]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4a9vahthbn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 10 Nov 2025 12:01:07 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=B0n0U9cTEI4bJVxu1Eu5TCGYSxVZjMZS9sEWJb23gfDLWwlzow8WUqlp9+kCyYMHRFpeY/uv0mjwjGwdvzZn8/4UC4i+plASud1+fPHxxVXCf3DyOOafZwbzAo+QgHkdfZakSudS9r8vy+lZV+3rsaEAsiJQFZYGPa+I2jED2Fv81pC7izrCtUtq7cO40pliY7FjzEtdqhT+6VAZlpevOo9+i3aawyKRRBr7R7TpqLjK4ex5mZIiuj/AEN8zOykddImGeSU2cejMnZO4oOyomxBj4y+l1HA/pFDuahhE0MufGRqZ0Z8S7sJj8hwXMV7VlqwR8rQvlBt+VCCHnUHtQQ== 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=vcAEArzMU5KnmsVKaV4oWD8PdlONN1J7QzF18ALePNo=; b=NKOkAasARjJlxHe6YXBWTQrHzVMBuPjAkWO7lIKhRLkRrShhUMKqmd29UnhHi4PyOLYzoajy9HXAoJ0ky8CpJyPfWNLCyvF1L9r6CcN7qICQjoL5Nb99jiVPZ/HgsbMDwZOHcBPcBJCCSA0zn2eQ13CGVaj1H5M8Ic8xIa5E1EuB9yy8vHgShD5kxaT7HCmLV+1IPVtPoSnrwZkiQAOoGxnMi72nFYvbO8ydtMLlh3J9P2XtEXDdoJbdv0s8WxnXdz+vwm+wSBEwC8ZGG45n2Xau9oRdSp5L9WBtm6Xszp/rZPkhh5G/5noNQHEEDnD55TJglJATmZWCtUyOjMfsLw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vcAEArzMU5KnmsVKaV4oWD8PdlONN1J7QzF18ALePNo=; b=wknUe8ahudvaU3RQuB14O4SnRCwg3yC2egCHkYNfXSl+rBmOGGHKAS08AQawRpiwt7dhjK/bPcpM7UtFBQkNu51kqHcF4WabQkR5y30oGYG3iegfQeoVCu+VXSo3s5gjBhMV7FR3JkhAfpf72dAFo58MkdozCUWRioz6HjcQeJI= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by SJ2PR10MB7598.namprd10.prod.outlook.com (2603:10b6:a03:540::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9298.16; Mon, 10 Nov 2025 12:01:02 +0000 Received: from DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2]) by DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2%7]) with mapi id 15.20.9298.010; Mon, 10 Nov 2025 12:01:02 +0000 Date: Mon, 10 Nov 2025 12:01:00 +0000 From: Lorenzo Stoakes To: Shivank Garg Cc: Andrew Morton , David Hildenbrand , Zi Yan , Baolin Wang , "Liam R . Howlett" , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Steven Rostedt , Masami Hiramatsu , Mathieu Desnoyers , Zach O'Keefe , linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, Branden Moore Subject: Re: [PATCH 1/2] mm/khugepaged: do synchronous writeback for MADV_COLLAPSE Message-ID: References: <20251110113254.77822-1-shivankg@amd.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20251110113254.77822-1-shivankg@amd.com> X-ClientProxiedBy: LO4P123CA0451.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1aa::6) To DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) 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: DM4PR10MB8218:EE_|SJ2PR10MB7598:EE_ X-MS-Office365-Filtering-Correlation-Id: f7f43f7b-7af6-47cb-137a-08de2050d20e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|366016|7053199007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?20tSseM58JKNB+ALT6fXdVfX8Hp2i0XasQfWoi9KQt0R22X/Rl6m+VNGtCec?= =?us-ascii?Q?n/69N4+opBl5F/zV2xcrajIDPjharT1ve4He1BxW2w6Yh7wrO7lZxLAbaBsS?= =?us-ascii?Q?pHsQATcNb4fX14Ush1VcZUkaTHDf5qx71YVEkMpR98XbkFFaERetc1WKbVkz?= =?us-ascii?Q?o7sgVxooGb/MeN66JMB2qwjLvtr0LBpZ7F2R9566T/CBKn1ZwGMuHCBeVQse?= =?us-ascii?Q?OeAWQAb8jiZsdRNphB1poxJwpqCCi6lmErKmyucb5xI/J+8JpYWa+XIUB+aK?= =?us-ascii?Q?WOX4wfCWDRj6TxzhCJM7Eosbnk5nxammuVujAPczVv+GEnBbIFEhhN+onEwE?= =?us-ascii?Q?n6IbHl2ygSmhlNHmqTyiRvusTXweg9kUaLqhJBNRPj/R7LWIfbr0G2oIUbdo?= =?us-ascii?Q?mJL46rBf9/dR4SY8RhfpLe0G/e99iuLYN/3N0zjSEL8REMKeqCnUbYwD+h5p?= =?us-ascii?Q?zBLkDk3Hj0NruVLaMGWohdhFjU3L8H15BiXmGERk7kUZl0bFo1XE7nZTUFfs?= =?us-ascii?Q?e/XgJT2u2Qgpg4j5BdjrRnv4JjfgKwtdOuHr8NNYvGpY1+AjExRRaBUqwdQd?= =?us-ascii?Q?v1tYdqqmxMZn8OlB2QWSXOC8JRzgiawlPy3LB+SdSqfa2YZtJYFrJ2hiWnfl?= =?us-ascii?Q?zxLsO8AgyNITLn9OnMdtAsNKVZxDQykCdC8WC860etS59wirT+cVaaRe9sTJ?= =?us-ascii?Q?5VwJNPA1qo/MkWGtSRiG4F1bvD0b5G0qw3ClGj5MrqxvmtoQybMnd7+15WmJ?= =?us-ascii?Q?BdJGVo3+J6xyMLCJgLH4Y5WObOnYZU7OyrBcwhxWICJpbaBi2H7etiWJQolb?= =?us-ascii?Q?0bJUI9xf60dve/04Jf8cKuyK7HXeuyClyHwlcHxrERrtktKvAdnm2BjHUibj?= =?us-ascii?Q?oXa/0BkjMb0Iunvv6tS00IGb3I4pijD9lXHKCoyAfnzyjfkxEEL9sE6XkIak?= =?us-ascii?Q?RXbUsc5/VCeaX4oyTFupTx5iIX42LatG/EKf2Mh0J0xX9o+eJfDfAgvtJUlW?= =?us-ascii?Q?+nLKNKbGT1KYxNZANxPoZH/6hUKa22ZReRFyOxJM/2n9bnFzG/3IDYx+EqDd?= =?us-ascii?Q?IkMvi5mE6KbKO2J22qETbTpL8CvkXyN2zj1UUxOzeJcLWz7JJn1DbIG82Hz3?= =?us-ascii?Q?wW2kVD5YmWkG2vSgeO4LCQ4D7mv9x7xi627EH8M6iMUY+I5ML4I4flM0eQ2Y?= =?us-ascii?Q?Ln6WlD2UsAfXG/LLUSrfSC+g6HPhJFiBOG0bPDVNqzJ/g0N9Q+DUthpyNbYU?= =?us-ascii?Q?36Hr4cgr6COXoFeAjIdDTAYB3fIwnRvl4vvMGrmB7g5ClLZ8Z5FOErt3fbN9?= =?us-ascii?Q?wgzDRJuxQAEv63Zti6Jil4o8SIJ77sj9P8xoDYinRyetyaVHRFw8FnBBlvc5?= =?us-ascii?Q?+RlzdNJD7pt/m9wHtoNmkTh4yU5j1SZhudimeOT1/trEfWFyT/5WXGSLWnaF?= =?us-ascii?Q?ZtzNWXCxk+UvJAM7Sunw31fCGc7ms+/nOs/LJzfjZO7O7BlKLmu9XQ=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR10MB8218.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(366016)(7053199007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?DlamxcFKrbiNSHkqqUICmPObpfBZ3PpUaiXFKYY58R3AOExAgYHk7n1B3xUK?= =?us-ascii?Q?a3lOFvt+0VR2hGrZVWLA2NxIzO3NTwrOM3VLq9eTgsB1o5jYasZrOKk7yByM?= =?us-ascii?Q?pfW+l2A6SULrnPKlhaNk8xM1dBwEz6spKf+xC4cRaGCpB5BdFc6HeRN7XxlX?= =?us-ascii?Q?a6xVN5/6G2o/VEmS/1ZbS17El05JwQiiAwt53D3qSp2/qTZJBRY9ijjaZjJT?= =?us-ascii?Q?stJ4td32J8SEQQYpyFLI9HkPZRLlV86TRMFpEPfCCXr3JswILpX71yTtt/iq?= =?us-ascii?Q?7H4y3BsefUJ5vQKh2C+xLt60Vq2F9Hk+JO8P9mosUcshA2O3/DrGpXwNKmzQ?= =?us-ascii?Q?hqOhIyk0U62HLh6y4ojTT1ZX6ntVdj9kZvhUjix0l05v+oYb34pv25IiSFBs?= =?us-ascii?Q?mbimmimM5vAH0mnT8/qzLSRL6HYyKpc6rVjksJ8C9PIoDj+mNmYC5IePfyvI?= =?us-ascii?Q?EmKXl4F4uv5D4kdVR/NBnXR4KTMKEiB38eAfANOXE56zYSI/4TSXTng98ORz?= =?us-ascii?Q?VetGjIeIDyWu0Pv0P4hCH82ylBvfH3YgKC23bv0ZLVI1BM6M/OvMhA9yxLa9?= =?us-ascii?Q?F6bvNwpHgWn9v7rDK/y6/x+TMZ1RkN14eI+2al4Z869ZVGNl7oevT/LQCnam?= =?us-ascii?Q?dqsxSa9/UzIkqsOxZoez1oOjF5s8vbneyBuxipfepeyhf3RAJnFLhCM/zBie?= =?us-ascii?Q?gOP+JxF7Ueq2IW6mkOSZrprCfMB0oFqfD1Lq6xvgoqdR//M+PxK/zijLv8LP?= =?us-ascii?Q?5OBr05xtl4Eczu6uxod8FnktACE81WmzOtJBDV523mTzEfM6XB7uefee5F55?= =?us-ascii?Q?wAG7BGxbQI7BBOTYhu1UUKtTvglb4uGKpwHKFFz0L/qSzBXHCPNTgkBie6Jy?= =?us-ascii?Q?d6K3hWGQcDIOTDYqrLxNTbZKzZ6sl7UY0ZEa21wKx7OOOSWeIDQL0joduouJ?= =?us-ascii?Q?p5RTs+/1OYE8XvbrxXjoyT8Ks5KmDQL/CWEI4CcR/4mOrCImiR01fifoyBkJ?= =?us-ascii?Q?qM80O9t431SWqbpO2FEMhyUkvFdXHhB/rbFmco0cDILuIHCXwbKJ39T+JmP4?= =?us-ascii?Q?38wPhXJCRK+IhxhrlzkeetF6mksRLJkMYME5pd8d/nQlfKi5pfvT8RSwzX09?= =?us-ascii?Q?x7fdGHht7sLjcqztJv6oYCQzy9QszhusB3j5pjbJtXwpU5jzTHasKwjS4h+F?= =?us-ascii?Q?I/txuMpybTt5XIXcSrjqPM7d7qgvhzVqs5nCPUiCOoT8dEEL6T5FG0TIY23n?= =?us-ascii?Q?n2WYlcTPgJCPr+G8kD95HmEFcBDhM5RlJw4osq+SGNMR5v5N9u/TmldeoLY7?= =?us-ascii?Q?GSxN/938Z8oOnccnY35JnMW8y4jbM38Rz+ohV5cSz/Rh42GvIPA0xYIIueIG?= =?us-ascii?Q?Horsm/AWST1CvQk0xmu/I1rsnwefosWaqdi9uAKrPjP9v3SIJnvjeQsYRMxu?= =?us-ascii?Q?bWUjs5lImqTcQTzvy/mQe1Fz8NuGtbHumPfsn5KNaDjJszXdy/xcu4t7V6gN?= =?us-ascii?Q?lDeF1rTw2dEKQcZLrqhq8GlnQnktfPUFSWZTR7Cy9Bp4NiTaukJmB9aBoIf2?= =?us-ascii?Q?Fof1UcMqrM+6kUcM4fnW1jv7789+fIaQy55A+JEJ9TU/x4tDllJF5t+e1R3r?= =?us-ascii?Q?AA=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: QOxG0wjCOfD8vkd2C/LQMSkr/ZaM9EgjgEYFo8XgVHEgJ/fTyJzQIMCtHW4ZHdQoFRCFebYxCbN6fkuDL2wnnu9Snlg97nAdWlUPxvsRDvn7Ua0tC2mIdCOCxE1wiVW3TVcYFQKH4OdYR2uyPtYokDz/l0ZYfPqmU8Kb5UjTGovaexmsaK0jsDFchUE2+5bMN1CPHNg3wBPsuzFdt6PNZNBU9d4Tcq+eR20QXaNM2EVQ5mZQik5Sf/PY4oUqDcN3pEn+3rV3UNeiLrPgjjjSKpha/nt/phSZzeWIOSmwwU3+9KzughfHAeRo8PlKPo4gwCE17fxpkBUbyQoemnY+kzwoH0MsccfPnbcE2DyJhG2s84oBh2QRHVJHPGWfQnPszHSiImfzUDYmtBv+gJydCXy7UfsZRtCFhyoOJjVPE5Y8pwf4kh7FKhz/CI2Psr5OZ2jT9zAWFnQbQh7b1nBvwZWBAm2Zj1n1rjt6RcUVDHXgVOvfgP3CvOj64zOpxkd/acM11w1VMzyHZF0XwyxShkSpq+YtOIpaMcN/a1KN/jJdZutjpqcV51aUt/mv0a/Es0F/9gnvDEEr20lpzVfcbcDVHaa1zEnkZSl9at+6+dY= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: f7f43f7b-7af6-47cb-137a-08de2050d20e X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2025 12:01:02.8413 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: y1kax0ZB06Ov6cEvfpZwK0wDeP2fG3HGRulxqGaY8aWtO50KEmTUsfcHOTJvTXPoHftnzLkP12DELZE3CjT7HOcmzmjHgeul01HyYHVWD+E= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR10MB7598 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-10_04,2025-11-06_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 mlxscore=0 phishscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2510240000 definitions=main-2511100104 X-Authority-Analysis: v=2.4 cv=D7NK6/Rj c=1 sm=1 tr=0 ts=6911d404 b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10 a=6UeiqGixMTsA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VwQbUJbxAAAA:8 a=zd2uoN0lAAAA:8 a=20KFwNOVAAAA:8 a=ONvA6ksYRi1Ru73Y1NAA:9 a=CjuIK1q_8ugA:10 cc=ntf awl=host:12100 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTEwMDEwMyBTYWx0ZWRfX1nJjmFBABjtj wHjGCbAX1cXws4JLI0+nNxPg2o+lAuHzNdNFE6/AAdJq9uGTqfoJBqadHananWwvHGUtwKBF36W 61Dz8PGPOtsgmQkPmg+s6W8jh8tfbwJeX0tUINxnk6ucytewnHhYK+LKiizlsWX1pYLeQLvsW9u gup7nuyqbMzncUZZbm2dwM2io0mMkpaerMTBEINNG8OCAy0c/NV8O/xoXN/LoLJAUKr16Cx5fTh DQndv0JGyjJIEW5hdCpj0hlTiml7syUSA1Y9S00m938Rjz2gCVHauUnD6SFy3HcZdHb+KXfWTwO aiCzOSevYnJbawBkWgBB9/yCYNmda6JoRuriMS2kVxsCAQmwDIDDIiHGyuvupSlQAXuCy41FZPU 1G2vWwgEk+mD0vt8bFRAG/V7iCwFFscCO6R5m3TQg02BIuusvic= X-Proofpoint-ORIG-GUID: wOtvG7zSycJpRWqPVm0qQl5IF-c_HwBr X-Proofpoint-GUID: wOtvG7zSycJpRWqPVm0qQl5IF-c_HwBr On Mon, Nov 10, 2025 at 11:32:53AM +0000, Shivank Garg wrote: > When MADV_COLLAPSE is called on file-backed mappings (e.g., executable > text sections), the pages may still be dirty from recent writes. The > current code triggers an async flush via filemap_flush() and returns > SCAN_FAIL, requiring userspace to retry the operation. > > This is problematic for userspace that wants to collapse text pages into > THPs to reduce ITLB pressure. The first madvise() call always fails with > EINVAL, and only subsequent calls succeed after writeback completes. > > For direct MADV_COLLAPSE calls (!cc->is_khugepaged), perform a synchronous > writeback using filemap_write_and_wait_range() before scanning the folios. > This ensures that folios are clean on the first attempt. > > Reported-by: Branden Moore > Closes: https://lore.kernel.org/all/4e26fe5e-7374-467c-a333-9dd48f85d7cc@amd.com > Fixes: 34488399fa08 ("mm/madvise: add file and shmem support to MADV_COLLAPSE") > Suggested-by: David Hildenbrand > Signed-off-by: Shivank Garg > --- > Applies cleanly on: > 6.18-rc5 > mm-stable:e9a6fb0bc Please base on mm-unstable. mm-stable is usually out of date until very close to merge window. > > > mm/khugepaged.c | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > > diff --git a/mm/khugepaged.c b/mm/khugepaged.c > index abe54f0043c7..d08ed6eb9ce1 100644 > --- a/mm/khugepaged.c > +++ b/mm/khugepaged.c > @@ -21,6 +21,7 @@ > #include > #include > #include > +#include > > #include > #include > @@ -1845,6 +1846,7 @@ static int collapse_file(struct mm_struct *mm, unsigned long addr, > struct page *dst; > struct folio *folio, *tmp, *new_folio; > pgoff_t index = 0, end = start + HPAGE_PMD_NR; > + loff_t range_start, range_end; > LIST_HEAD(pagelist); > XA_STATE_ORDER(xas, &mapping->i_pages, start, HPAGE_PMD_ORDER); > int nr_none = 0, result = SCAN_SUCCEED; > @@ -1853,6 +1855,21 @@ static int collapse_file(struct mm_struct *mm, unsigned long addr, > VM_BUG_ON(!IS_ENABLED(CONFIG_READ_ONLY_THP_FOR_FS) && !is_shmem); > VM_BUG_ON(start & (HPAGE_PMD_NR - 1)); > > + /* > + * For MADV_COLLAPSE on regular files, do a synchronous writeback > + * to ensure dirty folios are flushed before we attempt collapse. > + * This is a best-effort approach to avoid failing on the first > + * attempt when freshly-written executable text is still dirty. > + */ > + if (!is_shmem && cc && !cc->is_khugepaged && mapping_can_writeback(mapping)) { > + range_start = (loff_t)start << PAGE_SHIFT; > + range_end = ((loff_t)end << PAGE_SHIFT) - 1; > + if (filemap_write_and_wait_range(mapping, range_start, range_end)) { > + result = SCAN_FAIL; > + goto out; > + } > + } I feel this is the wrong level of abstraction. We explicitly invoke this oth from khugepaged and madvise(..., MADV_COLLAPSE): khugepaged_scan_mm_slot() / madvise_collapse() -> hpage_collapse_scan_file() -> collapse_file() ofc you are addressing this with the !cc->is_khugepaged, but feels like we'd be better off just doing it in madvise_collapse(). I wonder also if doing I/O without getting the mmap lock again and revalidating is wise, as the state of things might have changed significantly. So maybe need a hugepage_vma_revalidate() as well? > + > result = alloc_charge_folio(&new_folio, mm, cc); > if (result != SCAN_SUCCEED) > goto out; > > base-commit: e9a6fb0bcdd7609be6969112f3fbfcce3b1d4a7c > -- > 2.43.0 > Thanks, Lorenzo