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 B6964C5AD49 for ; Thu, 29 May 2025 17:16:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 092906B0082; Thu, 29 May 2025 13:16:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 06A436B0083; Thu, 29 May 2025 13:16:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E74876B0085; Thu, 29 May 2025 13:16:22 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id BB9D06B0082 for ; Thu, 29 May 2025 13:16:22 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 66E9F1A0D54 for ; Thu, 29 May 2025 17:16:22 +0000 (UTC) X-FDA: 83496599004.08.09F0766 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf25.hostedemail.com (Postfix) with ESMTP id 21243A0008 for ; Thu, 29 May 2025 17:16:18 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2025-04-25 header.b=KRJh4XUd; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=QhTpLi4X; spf=pass (imf25.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=1748538979; 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=C0IhgM2aFrY25ikkvTY8654pH4tmM8+nKMMijWsjXtQ=; b=fgq4mvRYBQj8lXHRKkFi9E9gpB7oM3LfQcLr6kf++TvwegCDSn/19fmJod+PP3T6X/+xzZ QXli+HnBFh9gIrN9EXMl0jqC1TuIEPP6XvXJMmB3+dNaoATRFGAySbqlSX13h3JtWLWmXp gT//QAAvclsjdPxmgfE/IWdfYTAuzTQ= ARC-Authentication-Results: i=2; imf25.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2025-04-25 header.b=KRJh4XUd; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=QhTpLi4X; spf=pass (imf25.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=1748538979; a=rsa-sha256; cv=pass; b=iSe7vnUXxl87wraw9eo7bnttpT6BM8AluXYOYj6OPGTRj4KyCnclT0NqmA6g+kFDhygJ5S Chf6RNrKlzhxhQ3u0Vc6Pvn1SYn/JdeIbEbOOE9lv3X+CeOFjThyTH1Fgmv6as2R+vp0dI jegge+xnul5HzT3pAIdOqvkiGBzl99A= 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 54TGfvVF003890; Thu, 29 May 2025 17:16:07 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=C0IhgM2aFrY25ikk vTY8654pH4tmM8+nKMMijWsjXtQ=; b=KRJh4XUdeZP8wtQwCqSyripitmRH50pT w2FpCzaTaMPP+kuDNQrUXlLo5ZBekawB+Z55TMn2MMSwAkPqn21c2PJ27Tghpv+U jyAzuFFeP73w+k6H7zLKuSEWWKXGB9ZKWrSQfy9SyI4wiy7jzSYW+e7fE4kcwxw3 Q8mSeiJcwp27DumX2GAaoR9/UjagJ1EAeOhbKIvrEX+O1Xafpmn///XgWumi/azt k57DI7xg/C2y/FoK0/pk/WGFhnDRSQu5WQmRuqGTC6KkHXHycDJmSKjoMNfb/NPJ 5uw2prjFTVJseS3lNPpC35s8NJOCGIi7ZZupQHu2rpQ97i27ktjDsA== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 46v2pf0d63-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 29 May 2025 17:16:07 +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 54TFr56Q025467; Thu, 29 May 2025 17:16:06 GMT Received: from bn1pr04cu002.outbound.protection.outlook.com (mail-eastus2azon11010021.outbound.protection.outlook.com [52.101.56.21]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 46u4jjfrtc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 29 May 2025 17:16:06 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jdCdmb9czs7e37ykHuWnR/n0ww+apw+i0j1Gyfsp7d54J47/BnNpnwY96vca12REXlni+ViPoDsRzlEbg+UBrDXHRLynlh7BAqw0dbsrgkhX2bMVBnKVsEbtq/u4XZO56AiSdPd/FyzbnglRfaP1c8uzzRzyMBDFpCO6dbVEjP9g5Uf3SoE3864vwvlSyXW6HPshehulX8IFZN/bbgchbexN4FIIdXYYKbm6UtULaoQi93HsvcBVPTcEC0txsQVmBSp41IcLUG9zkmauwoLjqo/FMXYXr4t6izoU33lAP9GScATscJySN/jvZgpccn3wNJTowDfJ5OpFi9/HLatbfQ== 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=C0IhgM2aFrY25ikkvTY8654pH4tmM8+nKMMijWsjXtQ=; b=KLgsvb+VYBW5gb2AVjrsuKdT7W1qkJwUaGzvX8RFmpT4bovT9hmkPXWYXCPYkySji6pdX9ZXrAKQs85gl8gzRQTN9zq9a1V64JgYcSQ9JDC0lSU/8FjenlOdZmsMsUP9qCO790DHrlocJtvkViK4+OvbIVHCCuXJPXbhnow5DwOM/8QwlUlLG6WfDs25OcdTz3vREl38cifCXFzZFkM2xnmB1PXR89cArDU+p8xVasXjHBFRS6E3bU7hi+TjkHK+Pro783ZQFPNsrrWNhh/CFhcBd9Xb11QG4/DorQMOxZ19c5KHG6AK/DtcyDUKAYTiYFujARiRUlEhEfiQiNKlGg== 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=C0IhgM2aFrY25ikkvTY8654pH4tmM8+nKMMijWsjXtQ=; b=QhTpLi4XGET2sukDgiRCjbfBcMxKx7ZpwI9yTjJ9yNQp9iFt77EFVyOisRnk8+nqDZBauExX9SQJyvDjr5sY4USTHuUsy5zHd+dX1aJAqVoni1q9yJeJXn3mP1GRJnFU6wl07DaXzM76b/6bOykBSYwql67v9b60OnAdesc+XHY= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by LV8PR10MB7991.namprd10.prod.outlook.com (2603:10b6:408:1f8::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8746.35; Thu, 29 May 2025 17:15:55 +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; Thu, 29 May 2025 17:15:55 +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, Stefan Roesch Subject: [PATCH v3 0/4] mm: ksm: prevent KSM from breaking merging of new VMAs Date: Thu, 29 May 2025 18:15:44 +0100 Message-ID: X-Mailer: git-send-email 2.49.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: LO4P302CA0015.GBRP302.PROD.OUTLOOK.COM (2603:10a6:600:2c2::11) To DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR10MB8218:EE_|LV8PR10MB7991:EE_ X-MS-Office365-Filtering-Correlation-Id: 0f19ca56-56a8-415a-0b1b-08dd9ed478b5 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?ERTHG5lrhNNLKxPlnzcUD/BdbnLGPW27ebgOhppWqUKaiZW2lcZ67HXmt/rp?= =?us-ascii?Q?bY2jMnjAT7naY2gc2fq2DABagr2TXE6mykH+J/EeWHsyTxJLPmD/c3Ccye4e?= =?us-ascii?Q?Tp1VzoULfAOBi1BoXvMaNO8Ed3jARHGQi9W4FkHHc3nNqvx1sohDMc/Xx3xX?= =?us-ascii?Q?VOyYQgiBOjAY67wfN8W4Ml275X5JfYCXDFXcnfejQHVpY5uyNpOI03O3Cx+2?= =?us-ascii?Q?6OWjVEphOtaWdqII3mpXcQBQlfujcSvuNhI3CQ00iCwnUGJ3TMZLAhmtU/p/?= =?us-ascii?Q?v2tZgWBw8QgaH3coGjqKYQ0OLBU6VKN36UA3Zn1gsVPtQXuyeu2TlEkVtslo?= =?us-ascii?Q?OMPXgBp8cU5z7HGMbceYoaZdmR24jpxdekGUMa86sS1hdOnEt31id8CLzOQZ?= =?us-ascii?Q?ujCGc6pHUiHQrZRLRo9IGFTWADt1quEFEbaTTu77Z+baSSHhZIgl0q++qESG?= =?us-ascii?Q?qbYPolJb7KXygmpu2CDhrdaukJdRlm1Y/3FGjHZ0tpck3/xrWXaX6jH0COkT?= =?us-ascii?Q?GBlOgouh3VBQsAY3MIBjaMwR213YVSVNSw8Le1cEUnUsZ3R0NdNIUEl/xYXa?= =?us-ascii?Q?oAbzpEV3SzP55+IXI0UpHCoeCr04wth2Tn8kgln5uOd4KdJ8r8O6Q1c7PeL7?= =?us-ascii?Q?ZBgbzx6tMAuc6legRVs5WfBZPjagkOcYRtpigs26CoDcP/+UoVffHeuOZxAe?= =?us-ascii?Q?hl0elvzkVBdi8oEu+kHkdTC4bgjmsU8dxekBEbh3z2BMfvZDTvrP38i04Roq?= =?us-ascii?Q?wBpYNxZ2VmBAAz+JtTZ9ctQ31+/TyjUhRH0MambGaDeQtfrSHyNPj8eMWt1K?= =?us-ascii?Q?iARBvSHklT8pd8kDz1AQmojBVA1xeo9VbWPMV6iC3T3SPYsZHoABweF8x+34?= =?us-ascii?Q?A99/5LoP3iwbVZG3rmgkvpm7erhYFnwj746HlJeUjyFOHf5TMRDbyTBJF8bN?= =?us-ascii?Q?C8udpcOQQ0Qa+YaSeirQdIHG1zERZkYe/3UAJyt7Y9dy2OugZnkJ5WWYeTOr?= =?us-ascii?Q?8OSj9OorbWlo2w3woB9OFCFp01HVK4Ev9nRM7RgHQRvet1XA8OCI0hkQVHmi?= =?us-ascii?Q?DyAfVYlvbB0/irNtPj9CZX01b1z5mjt8/gksWimnCHiitI2C8MMIZoMvIl61?= =?us-ascii?Q?8HT2YumGO3K66rK4JLD1QD6OTE1H3xzMbJUo1PoTovcR06uKxYnH1BPCtJVs?= =?us-ascii?Q?Tj5qfKyqhIrRwLDlz94yRHRVF929GMVfeiFYok20V04i+XoExse605R/ReyE?= =?us-ascii?Q?qyv6VdmEQf2cpDTIoJwQlice/9q4tV43fyz8UGCLLHGnWy8NWGjmp6J/vKqM?= =?us-ascii?Q?bcE8f55PZs4C1YGHcNTtGTmBQZp6bawylrdpROXmb1JnOg10Zt5dk+hlqQP9?= =?us-ascii?Q?GQuUYgt/QrLobpTNSBNxeEGqkMsG/ocv8hkSLJ0jDw8vR/NiSUvCpreQlhnf?= =?us-ascii?Q?VUN7lnwIJEGHAtiQF/DSMNfvj0QmF12P?= 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)(366016)(1800799024)(7416014)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?EZse8zsVAmN/JHYIMISd0ZzRLBu0ZeL2eHr0hWL6Vc1QZOoBY/zwQLEwMyyK?= =?us-ascii?Q?jOpS1HaNGb7eGN5RIcDkAxMNHYUSLsgRnJzQuopnT8LZkeW1w5Dxu+lDJRDK?= =?us-ascii?Q?rw9a8qhxDtbuLsTZvOn0st7WuImRAhQVrx27leO42JPTjj2+vqQcaThTZp2Y?= =?us-ascii?Q?1cpqayazRvrCBMVdjAGdjf50tbh0ePdZ2/9Rfjk1q2d2CrzEBGb5ApEO7u8K?= =?us-ascii?Q?eKbqHGyIv3kxieEKOY7ggRsdozZdJ9MqgFCzmz0o9JUEVIvhVQ4n8CsRBRtR?= =?us-ascii?Q?s0kLeXKkLzulPVNXVnxHj3xBAsMjNaSlYN7GJDj8spV22y7tqL8A6cR+1S0l?= =?us-ascii?Q?k+POFnTwXf20oGaFNvOhNEtVtm662Zy+Y8cB5fjhTpymSEXibEt23Y+atZ0D?= =?us-ascii?Q?3jQujBPNAYTg5bdrVs9EuTEFDYZYTpUcF4cK483Nv/L6en0yDvCf7ch5wBuW?= =?us-ascii?Q?Orh8e0KfjOkJ+Gt0BlZ5wpEFbbJPAf97vO8C/oETvs263HBzOogfbjYVQyTs?= =?us-ascii?Q?PkNJYYgyRF/y/cckmbAW7hcvU1XUqq6ShzzYsiodBJrDbEWdY5O5UN9e3mNN?= =?us-ascii?Q?FZ/BowwW5LlJF4fgMXd19AGvx5z71u6vRqS6y/xbrOMqR2YoxkFG3G76a4OQ?= =?us-ascii?Q?kpA6hXgWwgplB3HLgl7HUAsu27Tyjinhj/wbacaZ+gMcyDUR7OnMVzzJ8EpD?= =?us-ascii?Q?iF8HnoQ0vpXdepx4mBp9dHQ8n8kAJ5YlK93xO+u2NXcPAQdY2j/T6xijUUIp?= =?us-ascii?Q?tjAHX0ed/EyWrRe35eFzh9icL9iT2fMhq9n69lDX8F4oqoomlJzFV6u3wWAM?= =?us-ascii?Q?M5bb9pD4IzB7t2upFpFB1w1VwerapMVEEa/iTCvf4/NXrxPnGfr5Y56M8LO0?= =?us-ascii?Q?94R1f9yw+lMztDo/gmsqnBwXxApMzRjy5vslH39SXwsVWWDq3GbdV3E8AVee?= =?us-ascii?Q?ysquGixUHqRmFrBmG4RDZgWSoM8dlbmfrQf7KgASEX2aTnOaLwlBBuUq8XKN?= =?us-ascii?Q?LX4UFL+qHZxFqd8R422oXwC04wfcLTZ7UbBnZ2ejp1lY4rQZHchvn+weBgnM?= =?us-ascii?Q?R5qVt5ofRjX/89hpeuXBF/uJzSymbnTT2P6s252UxUK4Lra+k6BdFkg0FJl9?= =?us-ascii?Q?XeG7CdW9Dr/8ZAR4tEvJgf8D2s9AI+U+O/SplNnuIGNHvrrI5EMxQUrYvP8e?= =?us-ascii?Q?xELTJuNhuBjpm5Wj679kpE959qKjZ6s6+zzxStXB/VLhuJ9Bh1FuZykdNXc0?= =?us-ascii?Q?7iyzEeY4TVqS9V4vzU8TffsgAJ9O3YXFy9tQLdLnWftwNkbSHsHCgXngWeag?= =?us-ascii?Q?2Dvy9kWCUaqyf/9yrprbGja4Zo1V9CCr+21jLVEPIPsqqkXJQxPFyfKR7Bw4?= =?us-ascii?Q?ySy59/Etrzk9jLOjMkA7srdeUDvCGGV8gPnYtDvC0b1noseN3H68YEhYIbxC?= =?us-ascii?Q?s1TXNLnIFFMHl4YNm97OcPambzrtQStJcVM0ZqEuXYs94G/FGLcjQC+oQcM/?= =?us-ascii?Q?vDcdmpcyY6V6xPVOgL2iu6uCa/75OUr9rJ80LsTnz78iikjjdgERd4I6TIBN?= =?us-ascii?Q?ab4SsOW3eyb02DT4pV+jj/SrSWYD+Y3ufvHb2KXAZX7+4cvz5nwW5ZoC7ls5?= =?us-ascii?Q?HQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: qmt6X1WPs0H/FhZXzstvCdDiGs0p3nWmTigUI2pOHKjSBlpapfxm4TAwX+oSmTeSkZOCA9abqKsp60j7WVdlc9onNvpKzxHkXOefnUCLw7xV7EvddwWMOv+F6WQLyDL5oBOEO8st6Djzsh7tw1tB3H2Wyzcb8AyzLMzyCC5cGizgfYIU+pD1D+3YIGUWJbn+Jo3qQCKmh/O2XUUH+fCn8LFRdS7LRr/tIGwg+3C3YMAalxW2m3Q6TEB6lcPZ7MQnDfShmP/gTWewbR2GWJ20in8ZX53yMtYAXIQObrIE2csKv53E+1i2ysSQAOjwitPKVsI0tKbvcQHQTS5kKbRpoGoxEGj/rnr0p5hsI9iRkOK5j9mHWY6VBZTAFUlTFAKjRss7l59R4Sd94v0iU6YIF2+3cIsSVubbT6JyZNDXx0lnTyDI0o/lP+gtedHPmiqD9ZFfE8vpwaUyUtHBVO8FqVSXpDEpuKX00rBrXrVDoZkA6foVsJy2wo0JDsF20Ad23IZJmRJLS5guWw9oA/f1ah4lezckWxunBx7PR4IQkvMNugmUgZc/Cp/D++1ZWVo7Me3oMeNgG/Hn4i75QTbJ+ZXWhiF9as1fpPwhq8+2Lkc= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0f19ca56-56a8-415a-0b1b-08dd9ed478b5 X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 May 2025 17:15:55.2608 (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: Z6TuzMtAuOb4BODhMZBZ9X/SHDaiyiFm6VBlaH0HTHlHvzwvYb6UjWmJv9VMt2up5FMRq0X2pscLYgJGyUrefyouTHrzvzc5jppgGYsy5X4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR10MB7991 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-29_08,2025-05-29_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxscore=0 phishscore=0 adultscore=0 suspectscore=0 malwarescore=0 mlxlogscore=999 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2505290167 X-Proofpoint-ORIG-GUID: PDOodkjDeW0jVk-sT0VDthZT6r_FIWts X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI5MDE2NyBTYWx0ZWRfX+/8Bw9Dc/kIr q06II7cj0x4oCm7mLzGoHmZROA8qToQ454l1Czg++hmM5JIfNKAzind7+3PRzkisZ/h2Epbvgze 4DAc4vVKDv7tPZ1YXkTy3/jXdmO6UyLLTUV0XdN6jB2UJr+UGXkCjmhBCUsx1CEtlH8n1PKCCgL wSx9/gWb6NyfUQefh6mojl8bg4EQO5j/u1mCmY6WiANgw/5Is4hNFv2vUU8fIoL8l3NoO2cd21g ZM3SgxMQS1ikkxzV4joPI14UmhYd6uttNBvR/eyQBKKYdOK7R2StOg+o/lEcTSTZ1oVJQUGeXVA KLYBUrQRuqXXR9rzSBpYBo1wJbdgVmStN+AA7S6SEOmHAYZzQUvQI2Boy0kdS9olelsprVyO1MC ezdjx74QdDUE0iDPy5Lm3pJaFbZyw9He7YZwRl+bXDkZ/JwBgP339hMKtSUeBzdta+kX+3YB X-Proofpoint-GUID: PDOodkjDeW0jVk-sT0VDthZT6r_FIWts X-Authority-Analysis: v=2.4 cv=TdeWtQQh c=1 sm=1 tr=0 ts=68389657 b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=dt9VzEwgFbYA:10 a=GoEa3M9JfhUA:10 a=VwQbUJbxAAAA:8 a=yPCof4ZbAAAA:8 a=hFX7TUO13cnaMy6grXkA:9 cc=ntf awl=host:13207 X-Stat-Signature: wxx31u9ki4omgnjt3iuezkoo96nq5a7h X-Rspamd-Queue-Id: 21243A0008 X-Rspam-User: X-Rspamd-Server: rspam02 X-HE-Tag: 1748538978-701215 X-HE-Meta: U2FsdGVkX1+/ESHKCO3lCeBsB61gpI4uWUPWf36RKtU9IEbBkTno80ASXSkfOEJMdj4hMgKlri3KayZp1cf42/0ekDnZrnapQurfZzv70iDlX2Lf2YBvcVEkmuERcqdTvYPX1BB257j5d2ByA9HP66cNEr5ROvPcgXZEkxNiXJt3Thu9Erw62vcI6Iq4hsrsDwb0Z8VeSl8FE2X+RTdtU9TlSHKJt79aQNJFRzdzzW/3C/HjZTO79sVx+heHTjHlQbKOYZO1NYm8O+jNXpLBTdRWVtkrPRKhrKso3o9noEMbhMHgEll1J83vquEyc2jy3y3oL0yQ82EwDpBIKsWWXr77kL1uj06UzY0drohv7Wbl+cpO75Zs8zqRMpr2pqtYy13rwIC9dEIofFhgFUB1K3pqGuEtUKtUV5baoRqj2rhqNgiVU4ZR/cBun3FlMOYxJ1SXnV7SFvl1qO94Wo8Wo4wpqB0kc84rKxWGY1IIpHj4bjzeWyXhmkXeWLScHp78qp6DvsvjNMRbb5SVZ+kZSmnvy8Vuo12YaqwirZRBRlF+wcVHLuaGo925FQwqUyiUkADVAa/aSUI7tiJlR0mLVtiQZ24JTQqi/quVkDtg2Cms672675UuWxIzZUi2Pejut6XqODgjpAQTg8eJksG+Y8t5cCIiXZz7JrQDCyorOS3LhS67t36Y/zzQbxe2af5Vy3BKdYOCGEdRuvt7aqZl/kwNHsZMZxnYB0q16zdmGUStaO0byK0cHqTxGb9XHH74/Yijf+j5IEtOV2939fBBgen9rBsykqr70QQjzi14+OFPpaHDj/ORwwot5S8MDEmk2bCkC74nbmbz0bh+0a8gBo2oAGB0xGawA7tFRGnz1CelZz7z6Zp/tLm7nwTFZVgwpLNlKO35R2RXr4PIb/BDe/xg86gDt4+nX/vG3/ZNnQq3MsULMzYnsFrKMd0jDlGsPZssdBDvybUq4UR8+Tk K9S0TQGC tw8dkRW9F9ozFEAEOZDE2hwV/SrN9GfBi5p1vElobkVbiciSYcuoKvd/z5jCLo7FvK3SksCsDofB7eMNv6gh+zqnNjswg+PtHaWQvKVpWTYhlVBSXOBEiQ4gxyelZM5kzMQmVnulHAex1i/xB83/2Z5ELdiMDLWjgHotGz0tuMlR33ecscRaVIKdWIfdELcYrMsw5MIcRYivlW2pFhMD45qHU3VBRS51evG2ll7wBLt9iwfZjhmEcKfZ9PFHZvP6xuRyRWsV+PftbURRDkzLr6Bazg5cWPK/XJV7DFjb2RMOhBZinErqh3M4HgaaMTpLTiEvpKn5wWh7pao5sPNDqONgaizSCBozeppu71FhwFyMN5svvFSxrBSFzjCLkNfzkXyqJuaaY10tQrhl05ZL+teO2owJ+Pz+KhOBlrJqWOEMj3k/VqcpaEwdnTIPHW9MBaFBomVqOd1wfs28bdwfQ2d5gCaclxer+dNQcTUEjNrcPJXc6uUCwxy2hsILUM+xt9I0R+udLsXksfS30Kkv5b9c1D1BkSbW91EmD3knMMBtJbOsDl9EFCiBOjHDkvNjyY4Q7iTDexkJEE1cL1PUuvYJVL1vuMW/I/xn52pYKgK2hu/tEROhm4UlTQYjyKsgEpBPLeyhyU18PBEp/SC2VVdjyf1QBiqJ9dYZeBXX7Vsu6W15lLXVJHZTnxky+GRqllKyapOxLoxjEkI93gbLCJpZRZu/qCJGu/iEf 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 all newly mapped VMAs 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 complexity with the depreciated .mmap() callback - if a driver hooks this, it might change flags which adjust KSM merge eligibility. We have to worry about this because, while KSM is only applicable to private mappings, this includes both anonymous and MAP_PRIVATE-mapped file-backed mappings. This isn't a problem for brk(), where the VMA must be anonymous. However in mmap() we must be conservative - if the VMA is anonymous then we can always proceed, however if not, we permit only shmem mappings (whose .mmap hook does not affect KSM eligibility) and drivers which implement .mmap_prepare() (invoked prior to the KSM eligibility check). 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 new VMA mergeability). A great many use-cases for this logic will use anonymous mappings any rate, so this change should already cover the majority of actual KSM use-cases. v3: * Propagated tags (thanks everyone!) * Updated cover letter to be explicit that we're fixing merging for new VMAs only as per Vlastimil, and further cleaned it up for clarity. * Corrected reference to shmem being permitted by KSM in 3/4 commit message as per Xu. * Clarified reference to MAP_SHARED vs MAP_PRIVATE file-backed mappings in 3/4 commit message as per Vlastimil. * Updated comment around mmap_prepare check in can_set_ksm_flags_early() as per Xu. * Reduced can_set_ksm_flags_early() comment to avoid confusion - the overloaded use of 'mergeable' is confusing (as raised by Vlastimil) and the first paragraph is sufficient. * Rearranged comments and code ordering in can_set_ksm_flags_early() for clarity based on discussion with Vlastimil. * Reduced and improved commit 3/4 commit message further for clarity. * Added missing stubs to VMA userland tests. v2: * Removed unnecessary ret local variable in ksm_vma_flags() as per David. * added Stefan Roesch in cc and added Fixes tag as per Andrew, David. * Propagated tags (thanks everyone!) * Removed unnecessary !CONFIG_KSM ksm_add_vma() stub from include/linux/ksm.h. * Added missing !CONFIG_KSM ksm_vma_flags() stub in include/linux/ksm.h. * After discussion with David, I've decided to defer removing the VM_SPECIAL case for KSM, we can address this in a follow-up series. * Expanded 3/4 commit message to reference KSM eligibility vs. merging and referenced future plans to permit KSM for VM_SPECIAL VMAs. https://lore.kernel.org/all/cover.1747844463.git.lorenzo.stoakes@oracle.com/ v1: https://lore.kernel.org/all/cover.1747431920.git.lorenzo.stoakes@oracle.com/ 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 breaking VMA merging for new VMAs tools/testing/selftests: add VMA merge tests for KSM merge include/linux/fs.h | 7 ++- include/linux/ksm.h | 8 +-- mm/ksm.c | 49 ++++++++++++------- mm/vma.c | 44 ++++++++++++++++- tools/testing/selftests/mm/merge.c | 78 ++++++++++++++++++++++++++++++ tools/testing/vma/vma_internal.h | 11 +++++ 6 files changed, 173 insertions(+), 24 deletions(-) -- 2.49.0