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 88864D149F3 for ; Fri, 25 Oct 2024 21:51:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EA0A26B00C5; Fri, 25 Oct 2024 17:51:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E50B26B00C7; Fri, 25 Oct 2024 17:51:30 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C7C1E6B00C8; Fri, 25 Oct 2024 17:51:30 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id A055C6B00C5 for ; Fri, 25 Oct 2024 17:51:30 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 48C301C6F7C for ; Fri, 25 Oct 2024 21:51:07 +0000 (UTC) X-FDA: 82713471330.29.2C76226 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf07.hostedemail.com (Postfix) with ESMTP id 09A1740018 for ; Fri, 25 Oct 2024 21:50:58 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b="ii+/bVFk"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=WWfqUV5v; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf07.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1729892916; 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=dtWNaN5tJihAHbDTnoDLbaY1T2Ddo7PDhnHpwQvq5lE=; b=r0zOLveCEFlIHvPKWNkOAU0KAwyV1bKXIZNpf4YbkfFp8ThUBCymDRpnR+X6yN1qouswcR N9yp8BGf0fS37SR6yF3kjWw5wrzygBFV4Gq1kZUjrJ/Ho87eSYOrh+ZHk4v3zu+a+19pJH 4+hLxhE8H5kdM0dVrD2bZmc/cH6+U6E= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1729892916; a=rsa-sha256; cv=pass; b=H7SkXyQGM93EWrZC5xpsCCAJvyx9E5W7orRuWa770h89vPqDn8PH1BhZguz2tuUQmL1AcP 0lvLMCSAdggmwQ5gzi4wDQK8O3/749slbNPbHWvQvtIYFrsSvoqFWkRimNScmVoVgcujGn gYUADCO8kA/xlCOkaXVj/ioeUw34OlQ= ARC-Authentication-Results: i=2; imf07.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b="ii+/bVFk"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=WWfqUV5v; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf07.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") 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 49PJdXbA031745; Fri, 25 Oct 2024 21:49:38 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-2023-11-20; bh=dtWNaN5tJihAHbDTno DLbaY1T2Ddo7PDhnHpwQvq5lE=; b=ii+/bVFk+o2uPEqoJZ3xBoyDJGIcQKBzju 6BycQqu47WJH/3j2sHysDCy7G5yul+pFT+eyc9reNlg1gHs3vqpkLI2NdbkFjGtE 60RGvforP6Qpb07mChrEFUFovjwcRAzznCSgMvrAYtCGweUMHqKDYAqxfI86Kxmp mV4NFXj4IqQNBnrTfwldUIoUk/U3YsosbpYo6B7ZjgVXtj/jovE9CGGucGvaiByi Xfi11N4Q/UiF++6IH1BHWAUThmS2nMxBCLWqs33xUd7cfK9mWypewM+6sGtvFEO+ SS8u6cfQUGX//lVmNLMnmYQO6QD53bv4R1W3+LTTpbqDnVJ0D3lA== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 42cqv3n1d3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 25 Oct 2024 21:49:38 +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 49PLUJ00016400; Fri, 25 Oct 2024 21:49:37 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2175.outbound.protection.outlook.com [104.47.55.175]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 42emhed3s0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 25 Oct 2024 21:49:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vl3ckuIt26muPpZzcCdJ7hUsJOZTIbG0OQR12BQL+PMjmmdb558/1IThw1sfrdonhj754z81Cqjpc/pizAwDHpMoUtgnYIKDYmCrTM5ATOFC/abNbHxd1CaAT/1CgOiHGkNjYiJxb/G8nhbKut+Iv6uwJ0Hs1XwIqIxKAEuPLIKcNG8/M4GHpzZBgE9E9nFxIOGOBT7FyKG9s2O0WKmoO2CaDzI0kj7bH+Y/a1RE1nGQgcJLnO7cVkTm4AvURphIOZ/MMob6TGwMgPWE23CCUgpAm5mZumpYuCzquGKeLnMaaodRg/WNsFPjU0B1KvnSrEpPjXasNu5Q15L4FKW92Q== 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=dtWNaN5tJihAHbDTnoDLbaY1T2Ddo7PDhnHpwQvq5lE=; b=JpvNRbyFWhDcVgfRcto5LOhsG2Qd+JnWvYmB55eDYKaaNrRRHlc7GYu+KW1lLa3516iwzOJXdg5xuo4K9uweEXbcfVRFBB9qmZKg55YQ5xRqFilkHJkv+J4Ytdmp3VmdO1m1lMRkWZ4rFyEyYQDaf/hGryun9qUvDvHPzbtVYKEUtR7laoFk4gMNs0TO/LfCrUwwFRZNrT/X/+kKmRCd+RlXsCrystUM5dqgMDqoSah/EAIj342Y35yK1ctULyPturWdSgIRs4/Och81uHelVnDy6hzCT5NAS68up8U/1EWxtM4Lj5l+/L2iy9CkHb6Yh3D7ko9z9nAJPFgyjr5KDQ== 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=dtWNaN5tJihAHbDTnoDLbaY1T2Ddo7PDhnHpwQvq5lE=; b=WWfqUV5vtBTWNK2sga9w+21jwXLbEI2DvniyenSm5qlgznsfVsy82eJVINpJl+8aaNlDgH3b+dfPZC8n//BuTaPhYRrbdbZM9c/HXbBkFqt2oCAAJRxLzMGb+SrlkLbMpMSeNk7XpRkPz5BP93MwR0Os4Aw3vXOYZWgYssM3yFY= Received: from BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) by SJ0PR10MB5552.namprd10.prod.outlook.com (2603:10b6:a03:3da::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.21; Fri, 25 Oct 2024 21:49:34 +0000 Received: from BYAPR10MB3366.namprd10.prod.outlook.com ([fe80::baf2:dff1:d471:1c9]) by BYAPR10MB3366.namprd10.prod.outlook.com ([fe80::baf2:dff1:d471:1c9%6]) with mapi id 15.20.8093.014; Fri, 25 Oct 2024 21:49:33 +0000 Date: Fri, 25 Oct 2024 22:49:28 +0100 From: Lorenzo Stoakes To: Vlastimil Babka Cc: Andrew Morton , Suren Baghdasaryan , "Liam R . Howlett" , Matthew Wilcox , "Paul E . McKenney" , Jann Horn , David Hildenbrand , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Muchun Song , Richard Henderson , Matt Turner , Thomas Bogendoerfer , "James E . J . Bottomley" , Helge Deller , Chris Zankel , Max Filippov , Arnd Bergmann , linux-alpha@vger.kernel.org, linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org, linux-arch@vger.kernel.org, Shuah Khan , Christian Brauner , linux-kselftest@vger.kernel.org, Sidhartha Kumar , Jeff Xu , Christoph Hellwig , linux-api@vger.kernel.org, John Hubbard Subject: Re: [PATCH v3 3/5] mm: madvise: implement lightweight guard page mechanism Message-ID: References: <415da1e6c5828d96db3af480d243a7f68ccabf6d.1729699916.git.lorenzo.stoakes@oracle.com> <0ed7b766-1e7d-4f77-bf5a-bfa52d36ca8e@suse.cz> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <0ed7b766-1e7d-4f77-bf5a-bfa52d36ca8e@suse.cz> X-ClientProxiedBy: LO2P265CA0110.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:c::26) To BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR10MB3366:EE_|SJ0PR10MB5552:EE_ X-MS-Office365-Filtering-Correlation-Id: a87553ae-c3ef-4611-066a-08dcf53ee927 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024|10070799003; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?94noIFChaHT/LB7mFbKVD7FTjOfRBTTc1cX7wZ6hcy2Ngbqx7AGbUd4m2CXz?= =?us-ascii?Q?kufCexBV7J8l+km/nsOvEY1EXxgW5d815fO1TxAl+aloTRNZR5FrWvPeAN0M?= =?us-ascii?Q?Yqisk7YcMrqRdfjGJWZVijof3V9xavH5cWOncacPaBpUNQRY0irbXPPQFuW/?= =?us-ascii?Q?UzhYQlxYGu7AaoshENfwdXurehYp4pWfdkLTZl27naiabnWqknI31VqhCwXe?= =?us-ascii?Q?LtqgWil+cvgc0bQUSrUXNgWwDV2QU2wUs/MXvWfbJc9Kpx3ChwDtLoixV+xu?= =?us-ascii?Q?JOxJ9Jf6fwKEefy2wFUew2QvIBvdgwQpq5lOJJfarV+1l+FPfGqZqNMoyRjE?= =?us-ascii?Q?lLqCCuO334yuUM6okuMuaQ7R9D20jFCHZdD/pEKC2z2msM73M5NFM40toaiL?= =?us-ascii?Q?3C5WUvBuMCwXqreJV1C876jWUOxqAi8crIh5uD2EphDU7XF+qljseRrKM9Kk?= =?us-ascii?Q?+MsbLDjk8f2JNrowWl7CofDUSGftd1FKrwxb087wHDn1ZNIhV/tPhiN4uP0m?= =?us-ascii?Q?UvaQMV4WgxHKeSxhj0xgUysbChuo8VqfcEa2o9m9+SjUV1vmT8ZWjG/traZ8?= =?us-ascii?Q?96JQSlntMm6C5cfqacz0WZDkAaZC+PtNGiQzKCPgUjICspWYkuTQMZpwgX1V?= =?us-ascii?Q?vxQ0OKoKxDqGrbpm5WrRbN3AumbQPGE5vSacJ3FZ9DE4PeiOzYhOBmSvQEad?= =?us-ascii?Q?DTe9gnscp1jEew2sf6ptTWpRlFWnaUCkJESGRdaGiw4Sfz3im/V6GlJi7PAD?= =?us-ascii?Q?/TUYWzZXUa6uMc0GoeMJXy3k6+Y2NtEa8lG/uarKi6BuM0tjmEI9S0uix+Cy?= =?us-ascii?Q?zyqSV5m6KmtCQWnr99t8UgOxLu91p99CvLDPHXlHYZSRY/T+YwpTIJoYLSAo?= =?us-ascii?Q?YkbGegCKTfDzFucbhgc6dJtSD/dhWR1khmMkhpjkG7Tye7GYejoCTMbgl8de?= =?us-ascii?Q?sRgrYEw45QmvhVPbzFNcWfng5Y5Jhlm6dXXJhf5R+rHJsxgey6ynxGa48xgp?= =?us-ascii?Q?v+ki+4O8J6HH2/WiY2i9rxMnyQ1KmfIrXeyTUuyt7axBNXZVAcRdsADQrDUv?= =?us-ascii?Q?cL3a0oDyP/vAZC6JyYwWtuIHXI31ttF0AnHlqu+tiIgoEWv6q+zYPbDn0w0I?= =?us-ascii?Q?CrA6Txv9XpQiXC0K8ghADXFfTiPqFYDuZKBKgXTijpsAE3IaSWV2JnID9HBF?= =?us-ascii?Q?vrdUR60p4kMq0F+G06yKWf36sD04erD1Vc8WluApdDMFh3AFVUl/p2LVufgU?= =?us-ascii?Q?mdSskNm1Gcuq1bFyXa3l5yShl6KnwOaszawCyT4vh7NVDBncp2/gRQ5CkreK?= =?us-ascii?Q?IiqWdsVM1eIYF3RvYof3lcQ/?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR10MB3366.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(366016)(1800799024)(10070799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?UPPYHmxnyIO08ZtziG6D4EQaaQtcRSczqpJkacXSmkfQK2vS1U6DkZeGlXXt?= =?us-ascii?Q?ff99ybQtPzLDLGCDmwP53GynQZkuEAcPt7QRQ7oK/SdP+PPavQPZvWrnCJgS?= =?us-ascii?Q?moeGUZDh/QHVpq3AmlBXTMjrBlAabHkH4YJ4lEPL8OLguVBfjnIon4FAldm3?= =?us-ascii?Q?xc8VPhmokfrnw7gxNInlMf4Lm6R6YiUxxQdbOeh/jZVG6cHDO6Syo9xVtjF0?= =?us-ascii?Q?yDbFxxFKzMAygoAtYjANYi9C+1do2v5n2/41FCuA+m1nm49gjOca9vZMiA23?= =?us-ascii?Q?n8SIZQPulbE706lEybrIVoQswr3+a2M5jQI5idKMBH+Ecgi9/O2ouGS1Z4Lr?= =?us-ascii?Q?4p53CpkW0nM6eiHddDpwfXpwTMlmltdHlouu4W2AssKWCnjktKQvJ9HL33kA?= =?us-ascii?Q?GaAShSoiuDw7oiKmoP/XXEkwqB7qionEnqyDqZx3ZBuHV4HLxBrZqaZcjRtK?= =?us-ascii?Q?BSYN+Q1WcAUI84iuP7ILxySSgl7BhAselvh/DS3Kbnn1WF8ZphjRmZd6Lp9r?= =?us-ascii?Q?1nNE8WJeZ/UE9hkL6NwCFbmjtalitOqQBV2fTnLoBpodptj+X1spdA5NdkX0?= =?us-ascii?Q?xNsjJBT2W5/V2h7SpQC9J18ET6PRWdDaYnJIWt7WhetEi+U1iilU9qp+eQlh?= =?us-ascii?Q?UUOf0edZ8ugRt7weD86HPimGuI27haQuS810slXpXKsBkNoIm1flfiVNYLZv?= =?us-ascii?Q?sw3RR2SJSbVXtqscTZ5AOJxiPEO8QtN5394HtQgRR1tEYZFYMB54EKnX/YQX?= =?us-ascii?Q?5vSQrXlyU89RJduyOXftSWM8t5c+QvjZ6LoiSwe81QCw0tfeIf54ZBtAHW4A?= =?us-ascii?Q?68bR0BbEq9DHW4j+BFEqo+y7tN4AqOiYzVBkePXQcBsTEK6H+CDmG+7aRmWy?= =?us-ascii?Q?KGXhvMus+2qtH6JsUWoNL2XUsVfsTr2gtEyEywZ8AjG1FsKNMr/Y+3Km2rGC?= =?us-ascii?Q?eWJHrgqVkEobGQze1tQpo3qd8V/IcVWJ1DN3LURsstEBZxmfQuqVZMAcbjSz?= =?us-ascii?Q?07lZeyFqKJfdmiKbadWPCKKibCHdkEcKQh6x8gavv5bV7Bbec6qqC31UaTqL?= =?us-ascii?Q?2RYhzth99703Ec9FJKYYwKej/1LOwNROZAtFl0SYv9LfTdW/hkrYqhvAHlf4?= =?us-ascii?Q?ZJNYNFNRAmEErc2h3ybp5UHdCltPIaCV76xIDKVbQ70COPIDPRTICRc5rURK?= =?us-ascii?Q?UzwTAHon5bjmFCb9A//IrQ0ueU+7Fg+vBUeRXDIr6hTPkfx9zJGu6UwQdTH5?= =?us-ascii?Q?Cq/EPJdLWX/OfQyT6s3+ERS2pcRroQI4kcHgaZOYYXVY0uGlq9pqDHAs21Ud?= =?us-ascii?Q?el4/79IxBNo+k+OKQKAc9uPMZ/+X+7fQIjibgrDcIw23fYF9riF0k27VRYXc?= =?us-ascii?Q?mMzxiMj3jWtzwIM0k2wtyVHnCuuJl+SohZceiy2yALuOFnokEILITwr8tGiw?= =?us-ascii?Q?OhAPKQ84yz2PWVGsTvj27aV7gv+omYL7ZWwLDFrVVZqNplcchhCKsfwMj1QQ?= =?us-ascii?Q?YXF/K8LKDpjtGmfPZl4hHkcjgcf97fwozBUaviq9T8/HlVF/pFeSX/kSwJI5?= =?us-ascii?Q?xLG92pkgWfF1tYEIrI06I06+9hxHkaCnDmcfX0Csx9Nxt+81psHq+uWAjhwX?= =?us-ascii?Q?ixzM5Q1O2IqnFfU70wPNf29xCgz7V2sDCNbO+HpdBJKp8jVFYXcrgWil50Yc?= =?us-ascii?Q?t63RoA=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: j/74W5pQT6wDt40+QYsM5IsjpJLaBC2AvFiS3hlqGMlEdd6o082dO7ANVBXbFMu0kmGeWOeSK5jmS9oKRP1skXo34Fj1SMglfV2zbf7hVabycYE3Qp+OczTWPQrk9ou3WHsJWHtxkZSThH3n7fyrPwlEC/MtRpMJvfXnG46GhQMnCZg2JDBVH157Jv5wnra1NI6pIwqh+B8vUW26LMO8CLFCCQPzYVIRlRc6DcSW749VLUNu9sizDQkLmBlKp+XFK3DwUZefz8yXWMZkMZQ+c7wFhKWdW3MJZcoN7G6pIvfTpGFCdPOi5CX6QFvc0eQ5G0ggmVRjeXYYnO612zo3QlJWfQHPIwaTvVMu5HBaXsJRRLvpqvqwEnV2jY9ONIBkLKV+Behd+134W8VcZKJFAr4Sns+jnt3ybvWKl1k8RvoNSrBwSFUK/DLaY180xS+xMIja8wKr2eJnoM+YnoUneLeL5nAgzftgLPWTWLiYmJYPDejR3cH7iuQvJLEE3dSqtxnu1rPv3O+oGc9Moa9nGSaUI3oUk/u211TZgA6sXdC9fPw6efLHVVwTRdQ6lZNU2j1QwtQfgmkWT8/hvt1MGsuuaVoVr6bR4c70DpB745E= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a87553ae-c3ef-4611-066a-08dcf53ee927 X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB3366.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Oct 2024 21:49:33.0871 (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: Tz8iaEA2qulmSeiwkCUR4mdKXWo77WmBxV/VY0ZeMi8cL2c5XQ+2E5Wd+ku2sQRWNeyqAoqmSWsupdfYVDZl8QjQaokPvRFsU33ZnMyTIVg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5552 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1051,Hydra:6.0.680,FMLib:17.12.62.30 definitions=2024-10-25_14,2024-10-25_02,2024-09-30_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxscore=0 phishscore=0 suspectscore=0 bulkscore=0 adultscore=0 malwarescore=0 mlxlogscore=638 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2409260000 definitions=main-2410250169 X-Proofpoint-ORIG-GUID: Z_3TEHGoPN5yqNbE1yNWi2Uz-qlPmuJd X-Proofpoint-GUID: Z_3TEHGoPN5yqNbE1yNWi2Uz-qlPmuJd X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 09A1740018 X-Stat-Signature: 885u987mzqqpafozpdyj3ee7xqoym7qj X-Rspam-User: X-HE-Tag: 1729893058-633418 X-HE-Meta: U2FsdGVkX19eMJyD3QJr93WZaaEk6r/HkQLbR1FfqUltrO7TGrHIy3aVAKKI7pCs+0Ju5FMpyPwvgMaK1kA6NS70Mo1oUnWZtvHnmWm/8UZyncbp+J0ACdi7dnkE17FOzkRUVrEX1dZdpEEZc/J56PADd09k6QGkvalcgQ5iW5I9Sdh5Va6pcsvZJXS2CK6CtvFPtsg8mwBwZykPa2hINj5otl/lpCWyGl3jGwrh01GGXy/khP9lMTJ2CN/0KO8qClJM1p/K0doBtVMxzKO22T3trQZ2+GZq6THa3O2qfYupaHO6wN5/IkY+VTDxh2UiD/JKhws+whmWbyuDRUkuJbDtK/4gF6Guul2fMt7ew5jbu4l4342tgqCTyxIVYQIUkla6bNo4rN/wQVj6idH5o46G9BH6p6U8FPdFsyK1qGxRvZ+AHjEWiU0pQ4WszK/i9PcU3ZceFTzChrKUHGvm95eakTKLyTbTuGxpbwepdi7E7D3YlVvyn8XFOCYnLBuDS2nHZroscy/+SNh97A0RZwkcIX+hl0/DZRn25rPItRDqLtG/oxeMrI78fJ536HskZO9AcVGig9SDgY0VH9IGkRs3QEkOhnoEZi/CDyI2tFOx2JsU5TcfX9YeTp8DnrfNGWeEFwJx/iRIpNQJ/lqvBfQdBpM4RiZoW+9lvKbqsAe8GEt2ewyiL4cnDV8pmNuYKP0o97miH+OkBOc3+f1NjSmH17QoOU796Eb5jybyd4spmJwUAeHW5cMha9PosxLLKxJLtZkqH7qwN6JLgxcZrlDCNmjdiknUX+mCpaYBsJe8GECxy9M7CxNIzui6WZTwLA48w2jKgWQ6tmsG1LtkFj7CAvHnI+8ku/piDug9siFQQqJbhppNUjaIQgRxBrF1OJSimtc/vEk3I9MalGzcw+Yzij0tRnlNbn1BOvKAIBHsflFdZSfiw3ApptZhOEuEs9u19Gky50EXnWZrRTQ tNi5dN46 YtfmDBAAxFN3EnucU4H+velgRcEy8psJ7+WhancCoN4kFvaJTc+G0y5rthkF4ohY2raAFhANvI/01I6+OT/f919BsI/PvYvuG4pT2YLuwTrBqbQ/FxlxaqwcoT9n7qITTUagNoiGsqoLc6irk/K8QdoQgN4MSGvWhDtaN7+jiACstYnPz9WXbbbWlzKsOzw7Lq9Nb1fhMD42pgAc4axYtOSb/vf0feoviWh1a3qAOyqd+tjCX39DQZAFnZNUo/9voxvus95C1l3YljcbwHoSi9NerljyQgR8wQz7aLmsC9VzJ7ZwiwnnhC/W5qhmEqM3K191L35w040FxpB9tEY/emIpjkDgoDlbrHYkRt9j2+dsZkz/ywqpY+2qBNOqjQv645VzgYeVWp+NN6GCnb7waumZclQ9gwZ+rVhjCIhYKxdK/vjMswPfPbD85SDk617wI7uBLwGOjxdPa+EHIYq+kw/Blfmfo/lb/mJPSD/vuJyTdKKsQIthFYadLcN46E0k2wfqsWejSh3O87yWkdArOnN0VX9uHwSI/6kLdfID8FYACvm4q6LEAqMFRg4e9A8m+K+dA 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 Fri, Oct 25, 2024 at 11:44:56PM +0200, Vlastimil Babka wrote: > On 10/23/24 18:24, Lorenzo Stoakes wrote: > > Implement a new lightweight guard page feature, that is regions of userland > > virtual memory that, when accessed, cause a fatal signal to arise. > > > > Currently users must establish PROT_NONE ranges to achieve this. > > > > However this is very costly memory-wise - we need a VMA for each and every > > one of these regions AND they become unmergeable with surrounding VMAs. > > > > In addition repeated mmap() calls require repeated kernel context switches > > and contention of the mmap lock to install these ranges, potentially also > > having to unmap memory if installed over existing ranges. > > > > The lightweight guard approach eliminates the VMA cost altogether - rather > > than establishing a PROT_NONE VMA, it operates at the level of page table > > entries - establishing PTE markers such that accesses to them cause a fault > > followed by a SIGSGEV signal being raised. > > > > This is achieved through the PTE marker mechanism, which we have already > > extended to provide PTE_MARKER_GUARD, which we installed via the generic > > page walking logic which we have extended for this purpose. > > > > These guard ranges are established with MADV_GUARD_INSTALL. If the range in > > which they are installed contain any existing mappings, they will be > > zapped, i.e. free the range and unmap memory (thus mimicking the behaviour > > of MADV_DONTNEED in this respect). > > > > Any existing guard entries will be left untouched. There is therefore no > > nesting of guarded pages. > > > > Guarded ranges are NOT cleared by MADV_DONTNEED nor MADV_FREE (in both > > instances the memory range may be reused at which point a user would expect > > guards to still be in place), but they are cleared via MADV_GUARD_REMOVE, > > process teardown or unmapping of memory ranges. > > > > The guard property can be removed from ranges via MADV_GUARD_REMOVE. The > > ranges over which this is applied, should they contain non-guard entries, > > will be untouched, with only guard entries being cleared. > > > > We permit this operation on anonymous memory only, and only VMAs which are > > non-special, non-huge and not mlock()'d (if we permitted this we'd have to > > drop locked pages which would be rather counterintuitive). > > > > Racing page faults can cause repeated attempts to install guard pages that > > are interrupted, result in a zap, and this process can end up being > > repeated. If this happens more than would be expected in normal operation, > > we rescind locks and retry the whole thing, which avoids lock contention in > > this scenario. > > > > Suggested-by: Vlastimil Babka > > Suggested-by: Jann Horn > > Suggested-by: David Hildenbrand > > Signed-off-by: Lorenzo Stoakes > > Reviewed-by: Vlastimil Babka > Thanks! > > --- a/mm/internal.h > > +++ b/mm/internal.h > > @@ -423,6 +423,12 @@ extern unsigned long highest_memmap_pfn; > > */ > > #define MAX_RECLAIM_RETRIES 16 > > > > +/* > > + * Maximum number of attempts we make to install guard pages before we give up > > + * and return -ERESTARTNOINTR to have userspace try again. > > + */ > > +#define MAX_MADVISE_GUARD_RETRIES 3 > > Can't we simply put this in mm/madvise.c ? Didn't find usage elsewhere. > > Sure, will move if respin/can send a quick fixpatch next week if otherwise settled. Just felt vaguely 'neater' here for... spurious subjective squishy brained reasons :)