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 5B91FC3DA6D for ; Mon, 19 May 2025 08:52:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 836986B0082; Mon, 19 May 2025 04:52:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7BEE36B0083; Mon, 19 May 2025 04:52:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5C5586B0085; Mon, 19 May 2025 04:52:02 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 2F8A26B0082 for ; Mon, 19 May 2025 04:52:02 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 9AE95817C2 for ; Mon, 19 May 2025 08:52:04 +0000 (UTC) X-FDA: 83459040168.21.E211B28 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf29.hostedemail.com (Postfix) with ESMTP id 3C59D120004 for ; Mon, 19 May 2025 08:52:01 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2025-04-25 header.b=OLEEbfGu; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=sBvGQds9; spf=pass (imf29.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; dmarc=pass (policy=reject) header.from=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=1747644721; 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=YpeG8+j6MaPVVYPPK1mOTktzXbEHbB8bQWSjZYblmpk=; b=7kLCd724MMo7wwulV8pR23GmqZ6LWETSf5Sq8exlFAgDtMAHwRuu8h+J5Sh5a3zD1I2dQc SgQv7FCuS75SBEWTLjg1D06oMCgUv3S7kqAK7D/v6oQ5I/jdjr/orKWg0/MgqRjY8pKIV3 eMx442fquEwEIb2GCdvx/yjc559Z2uI= ARC-Authentication-Results: i=2; imf29.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2025-04-25 header.b=OLEEbfGu; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=sBvGQds9; spf=pass (imf29.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1747644721; a=rsa-sha256; cv=pass; b=HTPd4e19wnZHugs4aEjElTJ2EAsu/sawuCaXE7ZGHW0dqcpJxTVPSIm8tftDpf3gT3Nr6G A85YW4+6Fm3dECXVvn/WtaEDW64R5Nuo19S2enYJKcFc49X/M0xI6HOLE64hY3UetBnwky QJg+xVbPAXxp1TaE/v75zY0OjyWgMMY= Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54J6ijNi013002; Mon, 19 May 2025 08:51:57 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=corp-2025-04-25; bh=YpeG8+j6MaPVVYPP K1mOTktzXbEHbB8bQWSjZYblmpk=; b=OLEEbfGutyjetT4VltSE/QUrVH44ihYu EeskKo6RV+pYwf2LJD45lNQ9YwBCLFYMj4eCWWEE8xrTEz+Xtb6ngPr2RDc+o5aO 1Bk/s7k1r4KzmjNv5xN51Z/a8tCg0BDB7qKa9fi/A0c0A8nwk3sX3hz2HtZrTHCO MF9JBSGmMnkP21LGjJqH8/HxJv5Vjj2Lw6mJvmSKpts3t/Hm7qQO2/M9DNMJuCRA wBIrsnM+0jFdkvbi4EP1BfAJCQre9T5/jGQP8g1Q/Iy6cKR6Z+kyBURmWEeq/rfB V84s46Z28Gkxccglbo3ebJYU1BCjCmTVxUEz+DBeSyWuuofTzAFnhw== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 46pj2uaeen-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 19 May 2025 08:51:56 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 54J70enS029005; Mon, 19 May 2025 08:51:55 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2172.outbound.protection.outlook.com [104.47.58.172]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 46pgw6684y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 19 May 2025 08:51:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mD4wEmjGUXTMDTqYBnWZPPeEv61cIbD0MXXoKsIddTOTFTESCc7257oo4P7Kz2zSpwJSkwik3tL93m0JnZE8kIR/YR4lfaNjwJpFixkG+UDAKeDuxEaDMyEECFxEaa4ljCYWNpmXyv3xxypQ8X6kzx5x57/9g6QMYTtpf62m+JIBErGf1oluwbfSdqCbcOZiEI3Arvj+H8fNvVIkLuaW3IsYMyiYUpTYWMh+I/aOL03XoKlREgdQNqxkOgF4h3ME7Gup6DtEqhSxT7VmAcE0skqS8YlWIEibj1HuizDwaPy3GT658YThK0aRB+exwgrVculli53YiBJ8aU8aCHvE6w== 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=YpeG8+j6MaPVVYPPK1mOTktzXbEHbB8bQWSjZYblmpk=; b=LQLqeOP+3glZjVTfX+iElshvcaBGonZ6luiIKahp3rVEJuQftq59okrlzELXNNA1ilJSLs2r4Fxg48jpfqjm8LgGSx3GXIwjO61PCOruNAJqo8i3l7K8nSBowM398aKwAx8ErTfIjxdT0zRgbRQOB3c+iHR9Rq+265jWnYLfcGu925DAQJENO1DA3gOGujto+7JxymQpSjOoPUNH19tea4qrYMru5SN0qMAR8HUG6avqlTx37Nxq9ethKOxTc9x0nRLUcASpQ4zL+bZm6gwNpEWWDobRe4wlI16nh/KTTZMNp7BVOuU7Ej8Xo8d3ljKZBxBubCynBvN3QmBWHGVl7A== 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=YpeG8+j6MaPVVYPPK1mOTktzXbEHbB8bQWSjZYblmpk=; b=sBvGQds9V4mBB+jBxQRViAOcrjBKc6QUV1DigElaCcPG4XYEITpbNtjTRVvF3ry6m6osgyF1OS4WrNKN4Ov9i1Z8kT4IuunhVJkcscBO7H2X+43XylDzpS4Qjc20XEmnryf6RzcfaFclRglYHusok8kjMGbuFeYq1GAX8pZVqS0= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by CH3PR10MB7833.namprd10.prod.outlook.com (2603:10b6:610:1ad::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8746.30; Mon, 19 May 2025 08:51:52 +0000 Received: from DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2]) by DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2%5]) with mapi id 15.20.8746.030; Mon, 19 May 2025 08:51:52 +0000 From: Lorenzo Stoakes To: Andrew Morton Cc: Alexander Viro , Christian Brauner , Jan Kara , "Liam R . Howlett" , Vlastimil Babka , Jann Horn , Pedro Falcato , David Hildenbrand , Xu Xin , Chengming Zhou , linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org Subject: [PATCH 0/4] mm: ksm: prevent KSM from entirely breaking VMA merging Date: Mon, 19 May 2025 09:51:38 +0100 Message-ID: X-Mailer: git-send-email 2.49.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: LO4P123CA0236.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1a7::7) To DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR10MB8218:EE_|CH3PR10MB7833:EE_ X-MS-Office365-Filtering-Correlation-Id: 77e71d87-6961-410a-e26c-08dd96b26697 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?HRYWy0vugsAve5YsZpspdfkLlT8totH7L8/PIhn1zeNoQzmONGokHfZF+PBe?= =?us-ascii?Q?WwO9FoXnMMUYXBxb9SjIrponURJQkzimq/2Vc3I69MkHKWJkiqO4WsDhDkLL?= =?us-ascii?Q?hgOOq0/kz4AwUYHfUfPQGUgz6jMWBccBvD/hCXdxOhKa9EvCmRsR5DwVPPkJ?= =?us-ascii?Q?lo+JokIaCV05xwSWhcd1V7V1smS0fGgZRzmK2lLSqwOTuoJB3iGDiOnoVQjA?= =?us-ascii?Q?AN/21urYNKMk9kWnFjgOIbeht877P8T6iCc4RtcmL2YYCBDT9Uo93LHO4vtX?= =?us-ascii?Q?sh87axuhSshj73jYqJlh0I24zyRUVRrRFHXpsLWRBxLMqGw2C+R9k0S/uB4c?= =?us-ascii?Q?zPV+5xKZQO+OvaiOivVKH7YzN09XrvQbsNoKr0ARiKW3J/7VPAWIKTxpFHRE?= =?us-ascii?Q?qknXtT3/AJdjEAHtKzj7QNN2Iu7l506HQZgNxpxFXCFtSyjnK0zozY34EA4P?= =?us-ascii?Q?o7otkGfIenOmBSFYkTbV3aCaSP1SwSWSYTxIa7KFqvN6YiwvTE+o8YLmGiPf?= =?us-ascii?Q?4ucflzf6BLOVtsgDL3+37owPvQkShWu9Q6y/pm3JfNiHJl7U7HDrvirx2wg+?= =?us-ascii?Q?Lm1Du2BLH2atgX094w5ZrRkA2j0DQsvp9+hUeoj18sMki7cTlYijQNzaw6Wh?= =?us-ascii?Q?EomTLSMwjfagxe3fKx+sIcufELECN2JyfiHodT9J0j1ArZihtaJp/mKpuX+R?= =?us-ascii?Q?GchMWr4HZ9lf/sxFzgx82Fi3JmXZ0kZLtJTM8NMLMAG5OuIphNzGrKxmoPRd?= =?us-ascii?Q?+q/u0H4tQh73HAkDCXhAFRb7qhCJhZ4Gvypq/fAWOG/PHsWGUhzbvIRu322s?= =?us-ascii?Q?YBjZkhJD9UW2eyW2vwcP5suAcLlr5SqMvARjxX02KMjvusf0HacQGfWTBksb?= =?us-ascii?Q?rGDf3+PM2z+F4xG2TV1ruxadzvxFjJNPTNLpr/a0tyt+a3ywfl314JtobUJE?= =?us-ascii?Q?u7SFGMMoF3Hkis7ofFxcfhDTasA8uIcBD/6YHIOyb7H/TqCXrqPQ5YOWyWXR?= =?us-ascii?Q?XM+j6YBbH6hnNBFgYDYGgDNYICsc/5L3vJ8W42eNrhEx1qfUtaTDdZGa/k+l?= =?us-ascii?Q?tWDQvsGV5uMLmK1Thr6BtYIPWT8b0oxSiznGjCNwocbqB/qFvcZdI4y712WD?= =?us-ascii?Q?0D/nSm+TxlEg0w+iq/KttUz4J7vIPKJIjmYDiNNj/e7JX6VOl3BjoZI4iwow?= =?us-ascii?Q?DUW1D1+2DNPppsyM9SjVa0bRJ50F5DX58R79oCeb7KbjWl9fmDYI95aNbKYq?= =?us-ascii?Q?m/ueEu4NpZZSp83CKYFEa6F8m6PWQotuBxPsjpJGNV1ZPuZ53pRq5wUWEpwZ?= =?us-ascii?Q?l6KNoo5zUaAaKJPaBd8xzMdbZd9ZWiinKCHqwquXASCklLmYGccsQhVPARLA?= =?us-ascii?Q?0rabVmMbkk62SXigZZAS6REhA7xLsbhN4x/nRZ35f6rVJJRnkkSwKG9q5nkN?= =?us-ascii?Q?oTrvEImNjrc=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)(366016)(7416014)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?T3f36YQXHkBpKpjZg0A5+oa+ZKbluDYQcsM/G6szu0skUXxByzjscBlMcaxs?= =?us-ascii?Q?6x5DZHhEz9m/YZL8R0wwXdE+m/xrxfnVn49bjjDojg3GEc1vaprfjZj8Id/n?= =?us-ascii?Q?S37Wa8lJjcCLrxpg0H32HlxwswTGVAanHKJc09555klHDcyEYL0/zqSDoEG6?= =?us-ascii?Q?dh3+1drTx264gm04sIGSdedE+737g/AsAePhlyVxMaa+/elyIoIYRp5AiROV?= =?us-ascii?Q?Am25/MbLl9+9/O8T9GjOOVBB+WRc2x9j3740sX6padIo9C8wKI0iw0Qie51Z?= =?us-ascii?Q?eee8eaGl5mNoPR8U2a2r61sVfdC2Jitt1ttwZ39uu/fLHqU5t3bM+7RHDrmO?= =?us-ascii?Q?eNUL1rwhHQxnXy5nH/PWerXghbmUbNSduvaDlrYoAqOLSl/PqklEb6xyHEQX?= =?us-ascii?Q?xjRuIu2HkXGOCMsPkcecDRBkVL7hV+DosvAQl5gA55seN0/zNV2KATolwXHx?= =?us-ascii?Q?mx82q9VpBFpElN/1tRpabSGxJbfe5LD2VRslKCGoO5mFEZ31/750vRjkd5Ji?= =?us-ascii?Q?5cyEsVG7iefNyiCtQvhUe3A6nsRNhXxnIxZFgYfwv0qGiWDkufS+F2yaMtw5?= =?us-ascii?Q?7kTzrXcquv7Cb3cU6JH9ziQRcG7Aco5O2n7x3xCZt8p62aU45SeuTXZqeJxO?= =?us-ascii?Q?0mB64GtXZ4rdWbcs1z2AbxaS5i2yhSfF9HN41y86/qAs//An7NSlksLHrn+B?= =?us-ascii?Q?ndEraLcf9xo36Yj4N2+zHLu139tljkTltX8T3iAjsrr0wPQDQ8pBAHOESh51?= =?us-ascii?Q?HHQI7G2po8oISolK5d3g8kLLGIlf9M0UpNexv7EQzbKM4NXwVXlVYiKWVzEM?= =?us-ascii?Q?UJoVgUFScG0slrvyIvJjI3dTY/gqY3cddUnIVHr/n9QTcIEoBXqkAlBlkxIN?= =?us-ascii?Q?JUcQko1J9quhk+rYpSa8ObznVD8vpVYxBMT9yvCULSagfvfC9r0PXBcfBedO?= =?us-ascii?Q?EDM/5QgROboP+rKlti/2oDIiKBClAEv/1l5VLovm3sgiBm2EGGw7b88lhKip?= =?us-ascii?Q?QqjSV1VXFZjjzwWvxdSYSVOZrfuL9wR0oHMoZjsstOsiLT7/H4k6GVFjOLiJ?= =?us-ascii?Q?XwPUMYfKq9spjq0RZImT7I51jQWDp+hvD6VWgaiQO2aan7sEOqY6hzqCqwcL?= =?us-ascii?Q?pa5XCnNFbH3UVWoUjWsFUEWTE5asEofb9qvrdlDDHMb+riCqYtvGaY/vW355?= =?us-ascii?Q?++ISFS2ipKQPmpPxlBIDWHp/z9+CoysgsSeTSQXAsA/LFEKnqKCJhu7P02BM?= =?us-ascii?Q?LLBeBLVaqfGsXzGWOzI3XRZUPRXbvIH8cQKGhQHvr7bSATqzb5gSA8nX0Rrf?= =?us-ascii?Q?KKV2VxgK4ltYdv4c/DL15LHgynZg0CC26Lqrw37R829CO+aNh/wEx4D+1mwt?= =?us-ascii?Q?zz9zBzqP3q5YP6SQmTzmh3M9kSkDtm2kQoeNnALPjH10pkKn6E/0PimllC4f?= =?us-ascii?Q?IHMb+mymkoUdyNUn8J5X7F8et33greUWXxsjH6pkW16B/adppVw+CJy5qkLb?= =?us-ascii?Q?oXRYQG50/Ir3s/m8Xxl4MV9ZUy6d9CKKFW5i+1vy5bC8pWNd8oKmRpp6cEOw?= =?us-ascii?Q?uUbt4fQxfUz4T1Z0yGPYoPXrfmA25xBD63z6Zcnb565E2jvSHgl836gp0m4v?= =?us-ascii?Q?gw=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: McwZIW7Y/2DvV7jbBKNiFWMfpjDI3LJrnOJRcgRuVI7jOhPWuxU+M9hUhC6mzuwCxeVdrL24p7dqsr6r1Gw+uzbb4oSRk+SHoqECq89QVtVC/B1vQoKWwrYu1kZA4jTkUMDIlvhV6C3tCOTTN8JpSOuIjF5V+rk0fVydqydX5b94U2i72QLp2fNPMP7uiQV3lVtH/FzYq7sggqSnru1xjZ2kbY4p1jpALx6jCCLpwdxJ8OF92hrNoyTI5tD2qr9ItxEIoWcRSFqupeCPgH17dplamFdRBap8oBCnL32BskYx1DHGh4Uh84zntbcP7J/RDVwl79aVCnamslalsdN3QVio8i9ikXJkqweYMqq3mQ6M0tq6EONJMAzYVpOQR8orvt+5cR+Jh59koESUxuBBILC902SDgti/62+NkQfNjLvzIbmarrHnjtbBGkHZi+TIyog1HcgK73ttmhhWPGnC/r576JOp5s5HRcCM8Z70ezXl+qcsCK5ci0QiN8vt2gCLU45ZmIwWcnu06630TCkqgxq4EL2WclWxbcqE6bBiuxT72CtFEekYFxmA/LiNL1E9uU6e3/hy/XRTYLEaUBNyXn+JZ5LTZC8UX1OV4JJNxKI= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 77e71d87-6961-410a-e26c-08dd96b26697 X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 May 2025 08:51:52.6917 (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: 6OxU55C0uG9TayUe8/hA/hSe7mwow/ZGSSbdQw9X569Nj09tgrkDiG2x2ducEtzmTQNYVUtWpqdqxGyaXz3OP4DSDnajjmlm21/ZsNEUzrk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR10MB7833 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-19_03,2025-05-16_03,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 suspectscore=0 bulkscore=1 mlxscore=0 spamscore=0 mlxlogscore=999 adultscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505070000 definitions=main-2505190083 X-Authority-Analysis: v=2.4 cv=UKndHDfy c=1 sm=1 tr=0 ts=682af12c cx=c_pps a=XiAAW1AwiKB2Y8Wsi+sD2Q==:117 a=XiAAW1AwiKB2Y8Wsi+sD2Q==:17 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=dt9VzEwgFbYA:10 a=GoEa3M9JfhUA:10 a=wP4JhQTrMU2qUWX1qwwA:9 X-Proofpoint-GUID: LEaMN8_OzTZiSHEWLQC4_lpKlPk8x5hf X-Proofpoint-ORIG-GUID: LEaMN8_OzTZiSHEWLQC4_lpKlPk8x5hf X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTE5MDA4NCBTYWx0ZWRfX6thQ8v7aWCTw 9nIwEZzDqNVivkubVPkOo+cIg8eC3oXCZ0HqokLO8V+vJ0N1OwxUusQ5Jr1cfR5qxPdtngCRtJ1 iutid31AsRlMJ4Bb0974lwLy4UdM53g7K3NSXTXlNNztS1tR83mEPqiTugtMiw7Kh0In5hgARMA WPaLetJ3qsK9KCCwgBqjbDqOxqlNEI26KdyJ9uGYFd2WRUED2rrffrG/aYN9qH4t5kmBoXQzB2b BRV3lgiUYuCIsgfaP10RXj/MGBq/fU5p5EHk1GPCkwOSiGjm5WZe2PeYk7KxTar/b7iodTp/Efx 5phnzYXFCTjufn0qRQcv3ToIiEGzFKHgSMIv82bS+7xdW/CioX85na2xON+578FYfYuiZQEQtw0 d9FZF+XEfGPCiXLjV4sQj2x8OsdlmuF27k3Ykxc1CSvZj30xFVMb0Dr084cdKZmUPu4S+LDS X-Rspamd-Server: rspam10 X-Stat-Signature: r3shg9awst7hwnsg7te7ocbue913uj3z X-Rspamd-Queue-Id: 3C59D120004 X-Rspam-User: X-HE-Tag: 1747644721-993927 X-HE-Meta: U2FsdGVkX1/PoSe8+5+u5iHiBMqKwD6KFUfhd/LaoxBIN+zrm4O7cWE1fFtl50Tpsv95GIGhZd+WaHHrAhUdBkhuXUVG9vqicj3kzUFOiKBBAVllk3y8355nK8wmZDA+n13xC+Vjcq1I5xGid1ooCxSwNYOKeCEmKPQ0Y+pQtQs5DgaModJyDgzRiruDcAxV8/6O+rAXc8pHtIjKovGtdmNgAY9l3pyG/MCQ7ixxU0qv/dIEtlgaX+XnhMIll0bgoPlhEQBomdMUJbrQLKjwHCQN3pfwnxMYHmaAUBIJJM9O8r9ZNSiPHAR7qU7KEuoA3YlDKpMtBXNnhiNd/cF4+V/GJwij/GWBlMXRTL9qwP7Gj/AZv2a6IDEozftl8TfKVi85R7QEgCFPdZCKLpE1MRA0a5ziI/92+fHTyXTfNtKtjA16wSVUR7V7VNqWJCX2/eLaXEWGqhdc977NQK82gOtCjUpjg/6U/sg7jTkNn/mnWKhTrI1Pfyjb6s1ldi/ZMA20QGWasA4hNkvJIA/XmqjzCfRBo356wD7ZBvk8cs5pGEBgbSbgWrGjgyQC+JFQeVvs+Fnk3Bt2BnGsrmZRWA7EC9EqjGDqBnOAjaflrYZitX2fELfe2IpB26CbVhC7W4vRCeJSNxi/9quqijyWC2QUa7Ye4UF5Ukf+0O0Cm22Hre9woWEHX01NVUhFp3OnUfXizPYJDAyDRrp5P3U39EPLiqMb+yRn+35FeVuVmNcJdfEVBJMI3b+teo04Dh8ixzeiN5krNqhkbqUwwG8oclDfywuaSCFJX4Nb8e2mfpoOA6zx71/b8ANIDV4jcaWevY5Bkw1q5hOJtERJB4dqFjlaDae1Xv3rC9F9wDhYdVRoYVGC88PpKY19WkOBsnI4riWoPU6vyKhSCk7NQdcQcmXlUoRimVN7YSZDGHi4q3RxHCxKz7DVZo87pGi1wHj6xsSjMLGXiDReiLyKqjz 3pkkf4Tz pW6l6oAT4YRln/84rUeLLcieaK6HLK1CzdzMcy5hm7C/us8/e8EAHyfHw0jWpDDXEOmVlI5pU06NyMsg9VEvNeYuHbqZNmaJcwibm/eZlYauyeVHNr/gPyVmKdzK5vfHLXx5w6/i9CVHR8uTlxtVbrFFyAo5CIdWqf2gbiep/ksy1mi0U8Zuh9toBWkv0Pei4Tzumh6um2OktaQxfwUX9WL4V1NxJ2Zp95qdi0JcqRoESuoHKiZ0AdJr1z0Lulb/UFrMJlIFOLIyrqRxS877MTWuCS9xYOUUOcvZNqgOBM6Rgz2CvJLHLzek/WxKINbCgYZB0Ckem8iLGDcvsByO3lEaCO6MUrPGZgpwWDTQ1iGkXGmi3oYCmiH+g9gAdv3/wQNR6vOPzwXuOH4yYEpNLLnHfSsFlkaEC9POQg9P/x9Eb1sKO2GpS+uzMPgZY+X9vI+M2TF9t29jwJ+Z+5IhZidhX/1g6FuFC8cpYyA7Eiu/t8asXsY9iHkqxcva6aeKnsuKrDGdKUqX/wr8iRof7B2tt712LN3zRjjDfBBVGIUHm1GJdzDC0aifX6exSyPROKYbl/awpWX5xs58= 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: When KSM-by-default is established using prctl(PR_SET_MEMORY_MERGE), this defaults all newly mapped VMAs to having VM_MERGEABLE set, and thus makes them available to KSM for samepage merging. It also sets VM_MERGEABLE in all existing VMAs. However this causes an issue upon mapping of new VMAs - the initial flags will never have VM_MERGEABLE set when attempting a merge with adjacent VMAs (this is set later in the mmap() logic), and adjacent VMAs will ALWAYS have VM_MERGEABLE set. This renders literally all VMAs in the virtual address space unmergeable. To avoid this, this series performs the check for PR_SET_MEMORY_MERGE far earlier in the mmap() logic, prior to the merge being attempted. However we run into a complexity with the depreciated .mmap() callback - if a driver hooks this, it might change flags thus adjusting KSM merge eligibility. This isn't a problem for brk(), where the VMA must be anonymous. However for mmap() we are conservative - if the VMA is anonymous then we can always proceed, however if not, we permit only shmem mappings and drivers which implement .mmap_prepare(). If we can't be sure of the driver changing things, then we maintain the same behaviour of performing the KSM check later in the mmap() logic (and thus losing VMA mergeability). Since the .mmap_prepare() hook is invoked prior to the KSM check, this means we can always perform the KSM check early if it is present. Over time as drivers are converted, we can do away with the later check altogether. A great many use-cases for this logic will use anonymous or shmem memory at any rate, as KSM is not supported for the page cache, and the driver outliers in question are MAP_PRIVATE mappings of these files. So this change should already cover the majority of actual KSM use-cases. Lorenzo Stoakes (4): mm: ksm: have KSM VMA checks not require a VMA pointer mm: ksm: refer to special VMAs via VM_SPECIAL in ksm_compatible() mm: prevent KSM from completely breaking VMA merging tools/testing/selftests: add VMA merge tests for KSM merge include/linux/fs.h | 7 ++- include/linux/ksm.h | 4 +- mm/ksm.c | 51 ++++++++++++------- mm/vma.c | 49 ++++++++++++++++++- tools/testing/selftests/mm/merge.c | 78 ++++++++++++++++++++++++++++++ 5 files changed, 166 insertions(+), 23 deletions(-) -- 2.49.0