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 140DAD0C5FA for ; Fri, 25 Oct 2024 10:20:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9DCA86B0092; Fri, 25 Oct 2024 06:20:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 98C686B0093; Fri, 25 Oct 2024 06:20:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7DF716B0095; Fri, 25 Oct 2024 06:20:44 -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 5A6EC6B0092 for ; Fri, 25 Oct 2024 06:20:44 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id C08BAA081A for ; Fri, 25 Oct 2024 10:20:08 +0000 (UTC) X-FDA: 82711730430.04.DE03B38 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf27.hostedemail.com (Postfix) with ESMTP id 0640F4000A for ; Fri, 25 Oct 2024 10:20:20 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=dP56cJXR; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Df0fIBFz; spf=pass (imf27.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.165.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=1729851562; a=rsa-sha256; cv=pass; b=bNDVNx3ebDsqyZU4KW+k2kPnfKp9A5uqU4TZr86aUd6o6M+SxMFPI6OsYPa2Ekt3EkShWB jfvbUyhBbxqRqjlPPAgzAGoocZ5KZ5EPNyCHQAuq0tw7iqaHh6Fa58sDAj/VEeAIT+aRao MYj30mD74Zspbm5SyJ9aotU60kBtUOw= ARC-Authentication-Results: i=2; imf27.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=dP56cJXR; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Df0fIBFz; spf=pass (imf27.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.165.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=1729851562; 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=L0/oGYzmdhkIIC/t780qONgGf8oibiywk2/tgQLzLGU=; b=UOXjnXE0k/3dvdH0ketcgCwH9Ytr82VgleA626lyaBDKZ3ljihrbZTOzpFiK7br/BxRmfl Ql5/Axt/mzlL8eJe2YJQhhCFRlKzO/QgfMGR9aS6BJM//nR0ysZ2bqcdtXygI3WCN4SyRH EzGX8ctJ1yTGPSiYoa1Hlt7m79PIQv0= Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 49P8BaPO014251; Fri, 25 Oct 2024 10:20: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=L0/oGYzmdhkIIC/t78 0qONgGf8oibiywk2/tgQLzLGU=; b=dP56cJXRHEoTIqtKwdBZqKcy1xE0rFSujq AiKbNLwYz3K1pH3I1y/etFy8Dj/lPnxdS30/H9Q9p+xABsxGe64lTAxK6100RWlG HlpziHLSPxr3pIQ+saBgMwc3dZn1KVAdXHqA8n5g6k85K3yOpyKAq7G0vR3H1hWn GW65hUQJ7VTlGm/b8vQpK3MRGU8Y7LDOHSQNoqxhhGrsxRZaaJjxKR/nQ9Lhd0Rl NpwFHtwv6SDUuzCnDMtrHSYcvHq8Ov3K+otp8KRm47C8oeDlpMrfRPBq4+l6BdlO wOdQ34j9CbDLtVxM/PiwLpmObKrVI5IvUIOUiS3pLxfDNmJSXb7A== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 42c55emha4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 25 Oct 2024 10:20:37 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 49P8hvU3025419; Fri, 25 Oct 2024 10:20:37 GMT Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04lp2173.outbound.protection.outlook.com [104.47.73.173]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 42emhc4909-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 25 Oct 2024 10:20:36 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=DTBQaEV6gfdP40fGlUPYMKnoWTQFtlRnXUnhTrtvK+zjKGAU+WapLI4WZEBmZd8ajL+eUKQqUhroOk+rp1gp0MY7/otr6X6N22YjS2pzOi5vIAxdiQ+mP6jFCN7fN8Iiks9wgxssjr5P+BOoJrxlqtMcf0S4kb3pcae71FSNQ8vgsS96kjukVOBH9VQKw30LHgDOxG8OfgqVz6opfqUuw1ePmDEKDbqUQ4iNkylmXRviZ7F5soYyVrtdwLJgjD7AcbMp2DSjsCMMsGeAmHLW6i3jA01Qp7lYXKNU1FTC5bBoMcQP9ACUopmUxqY3EeHMfhHh1vmdqMIt7nRXQitS6g== 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=L0/oGYzmdhkIIC/t780qONgGf8oibiywk2/tgQLzLGU=; b=yVmKcl193uynpfxKTzCs2KOaljUp+Shr/0PMOmAHh/GirUsghGzq2Jg1MFSVT0XdaUyl7MXoYZL6o7hQgphBjq1hpmu9GfnpOgpCnZ9GTUmUJEQw9RYXlaTGeHYFh7cliRqeRK7k9yCB8eYRPWaI0mrEZv4bOtU1Fc+EroO4OQxwgnGseHaT4ogs8aRf5IbjGLgyYsMCpnz0wNFZJ8/qDF1iCOQXcYtx5SDhhaoI1dc0umOSZlTG8c9Oe8SOyy/IllVW2tdz6qJYnBpsA5Mnuvfz1oWFz5LgNUUcjjT1FJAox9DA5d3rPpkCsHdOAzXICC6/sX/HdcREM5SFDO1ZEA== 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=L0/oGYzmdhkIIC/t780qONgGf8oibiywk2/tgQLzLGU=; b=Df0fIBFzVYrYE11RvDzvHoJ20lpYNPuRJZIyOUm/YWkyatuFQUjlD8SjGcPsEKDu0UnoB/h3KYDWOCzYOKwu91B8+nqJ5ifiGlM9z90PoIYi92LNI5e5CIhBqec32lIEn0W/ASPc+wa6Unptklf1n2RvPTjcyLUrBulPAPwU4mw= Received: from BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) by CY8PR10MB6755.namprd10.prod.outlook.com (2603:10b6:930:96::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.20; Fri, 25 Oct 2024 10:20: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 10:20:34 +0000 Date: Fri, 25 Oct 2024 11:20:31 +0100 From: Lorenzo Stoakes To: Vlastimil Babka Cc: Andrew Morton , "Liam R . Howlett" , Jann Horn , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Linus Torvalds , Peter Xu Subject: Re: [PATCH v2 8/8] mm: defer second attempt at merge on mmap() Message-ID: References: <2ca9450c-b5aa-4e7d-aa7b-437d9aec45dd@suse.cz> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2ca9450c-b5aa-4e7d-aa7b-437d9aec45dd@suse.cz> X-ClientProxiedBy: LO4P123CA0446.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1a9::19) To BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR10MB3366:EE_|CY8PR10MB6755:EE_ X-MS-Office365-Filtering-Correlation-Id: df304200-0ead-44af-468f-08dcf4dea974 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016|10070799003; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?9EmVpeztsOKMmUNdxjU1ua3CVso/1cRIo+26t+KxeiC1NPi/viKYgwJj0t7G?= =?us-ascii?Q?KlvGAymdH+7LS6N9iK5gD5S342k+jP5riWCQhR1aLG57jL89gZX8jEQCNsLr?= =?us-ascii?Q?yoUDlrMjmVgogYipWDW5nGBdnO85ISKf82KeQtY9dQXtI7RPMw9CCCl1tzHX?= =?us-ascii?Q?BWMLPFewUvHKaxDvIgOe52Y5pjrAzt4AD2IWmEGUEJj/nKioHpD5OWDNiTuY?= =?us-ascii?Q?ShH/Xq9op63ConqkC7D1L3pFmbc9vOTUNvW162XEt3PU6e5wBSjIpTodpHQv?= =?us-ascii?Q?su/09mfjfvCObQI3S7MFg0q8iexk3GtKcEcQtriEdR0esM4FXNlXHBO6DDyr?= =?us-ascii?Q?a+nSvE/yAcxyLJfmdHeeMDhZDDfXKljtyDIH59VdOIjrTOD9P1B01hdUC7D3?= =?us-ascii?Q?+O/R3Ob5QXU9vArxXzS6WUTiF1A64f9BxoP+C960VNFcdi+U4BTGqEWqbxpV?= =?us-ascii?Q?fg67gXfnsOV2pUVCl90hwz5OXTDMDTgcY+ye5njYcyDn8xUu9wW5W/SSVdt6?= =?us-ascii?Q?A2fDrNYIL+yLlwBskagz0VJJGdnpE5Y+CgFMsM/KTK1Iws4yP/lyN+V1j318?= =?us-ascii?Q?ii7rP+nRaRVYumcJUTuG8jvCNPpt1JnZ+5GfaXVXtt70/dsYWl1GuAen2ohR?= =?us-ascii?Q?NPXJoa4achmjEt2Du3/WxOphY12OllhXl3VEJgX3lARE+PCwRTs4hUP/BNa3?= =?us-ascii?Q?2XcNjD9dQuMJB5eE+9MxkC/jYd+jGPHfHNVnVVRoWvVySQphHVn2Q1qVR6aW?= =?us-ascii?Q?Fp3VciT8i/y0xPz005aViCfwXSnUfhbYSE9AYlh3AypUCkA9l0wy7KJgKBKu?= =?us-ascii?Q?p5TqxdBonw8FCf7kTcmqWf+wl/1qA+0iN+YS7tnNk+A3j06GCYF9Kwl0zG5C?= =?us-ascii?Q?urIUG+jJCMAu83XGIsso7lnuLqVWSQ5BEcKEW17Dyc74JjV/i5ygHeHz/7Rt?= =?us-ascii?Q?5Qlhwj6iMUi6eMfc/8r17CLjpnzK6C0dBupLvuQp41pGt3ILZ4w+QmZQdzGW?= =?us-ascii?Q?PY6kkGnIippiE4VpbAZrzszS2VlWbmok5mEn8wzdV8/Hj+fF84ltfyNVmebu?= =?us-ascii?Q?Mqh+WxSjgjlyvc2n9Gf70uFxzKmpgiSW084DqEs0mD8EuRf1AcBEXzDFZ7If?= =?us-ascii?Q?jJXtIJG0PTz0Rz0kNGNo/buzu6+mKPvrqM+FAolBd4vHV5TH2ZFnw+yD2beJ?= =?us-ascii?Q?MIBT95He45waOBYtCGXsic5LgSynpVO4sppdfuMWNlq3F2s6Hr9iHenn3GDx?= =?us-ascii?Q?I0g54dhor/h4MacLfCT6/KBAsUG6mimEdmYinHvueS0UKQWKi8tA3oQ/kPFp?= =?us-ascii?Q?8dQ=3D?= 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)(1800799024)(366016)(10070799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?VYgYe+xnshWyLgjntTADAw4K4otvSPCQmqyUBm7+cvwxmrvctMh9xiambw9q?= =?us-ascii?Q?SJ9o55uLZ6558Cz+HwWRBbBRnevo9ws0wASw9mXQE9VCEWDD3WjDavFvEPTm?= =?us-ascii?Q?4QRm4c6e8RnSfhQCZP1pgBIu0VWMWm/O73O4+HxpR9Hh2ZvTs3aITw1fC/tY?= =?us-ascii?Q?gG5di932mbVvuco07AgUSbKJw2JGMVOPODhMQY53D293s1K+tWJGA9nmxJEj?= =?us-ascii?Q?X6tsI+s5J7ynRfbtvmom5MkLXLPfjEHiB8U3WiWxaZRXM9VUDOU9BDUSO/SU?= =?us-ascii?Q?oINqcduBlyHgr0QtN9AbjUvz429pbGc/eAGpo29zxFaHNxbMmGT+GFuVM8wZ?= =?us-ascii?Q?nbA16tPfl4E2ZOoze/cdHdaTmBAINofgcd4firedQ6RFjSZ6awQyo+uvGt5h?= =?us-ascii?Q?6skF+y0aBKJZFKwVNH3rNtUvFpY/XtOmqeJ3gk0mzegcLdr8bL2kyMtzpqGn?= =?us-ascii?Q?+M5P5aZB/2tfXFoDUB+Uf4BhHg0XHHylNCHxG3Cy1izIkxoctbBSr2s0wrl7?= =?us-ascii?Q?DtOZx6excTcoldjzKRgRrEU1kuDk5FXMoM2j/9zXglVJkR58B+I7Nd2IcbYS?= =?us-ascii?Q?Fpfk/rEniikbmiBa+gIDrmvyifsFfP+5hrcF/xR9/0ez6ec3BqNHkxJs5IYY?= =?us-ascii?Q?e8u5bJeYy6HJUMh7ozWJ1HpM8+audwgsvpQPXDIVF4eCLjURWq7iJ/Nbh4nM?= =?us-ascii?Q?iNtmydV6Y3kh1qu3Vt6iqPIFnNpPglG/cWrU9orwjap/0HKJt3F2T920/6u0?= =?us-ascii?Q?G5dXhGpCMS2JmT2hu7gKSNFENM/KgTtrjxBnCcHlF4SSCVXnsWqEhrEDIE1O?= =?us-ascii?Q?XOYHr6Im5aKi6d5rg9P6jnqqqxjT6uUSREQ/j1AQ20YUJMWvXqMt3pY4tz/q?= =?us-ascii?Q?yKggbtmcZZowqc1IsRPKAPXq+1liIsJqX72PbaTzEcvWBunQE5wYehBG2yZM?= =?us-ascii?Q?vfxgNyKB2GQZlOVJa46eq2MoIY1gvNLOPZd72Jv9FcovZrcU9IOJqDeagY2V?= =?us-ascii?Q?4bkk3QKwrhYMdtPbsCYDrUp1raxmoixCKiW4i3e+faqFzlkujvnCzyP+Phsg?= =?us-ascii?Q?nDYna1FjEuI2eW/j457VC4DyFgpPjl61d79ImGLaxRYPkOLhmf6cb67ScHif?= =?us-ascii?Q?qCJsZnVUGKus9rad8u1ZTzh/1LpOsS86RE051WG3JFTH0mPEVbNFjQ+7dIws?= =?us-ascii?Q?T+HsAK1P5rKA5NAFWa9KRuhBGqF/8GQta+MHzXc6gBYtszaS8Mp50e8X/2+D?= =?us-ascii?Q?ghPalsKBS3XmFzEzNSyci1Wsvz19Wncn7pKlGvinPCXwifl4vPnAxuHeRjBn?= =?us-ascii?Q?sP/B55rrRf2rJ9uCcbZpLVUB5HUM8voHNXNJgyCzVEBaQFpiitY/iLMkx7oI?= =?us-ascii?Q?va69/ZSl7L1vd9JLg1YLuODP88QKgzWxrqCjtvqN4EF1DfylKsE0F5zHUZix?= =?us-ascii?Q?PenjymTddOxuPdf01cMLcgvVE67TKs3/1t5EqFWIsNDMXCDsNiyNZ8krmH8D?= =?us-ascii?Q?boWpUYKf5wMf0HipJVByd82BoQpezInXiEgExoklnV+0rhSPpdLFtoyVOWvN?= =?us-ascii?Q?goWV+9hPjaOKTz+PDq1Gma3ekjD/YuIYOlBAfrVfqtuaDq7caax6DleYdve1?= =?us-ascii?Q?2WyUeaa5pF+OrRb0huv/tNNJVPWomhq8y1YcHXe9MJNcwD8QTEjAuJV2m1Df?= =?us-ascii?Q?GwzuuA=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: SxexQHDsqd9bgsDW6AzPnvLi96XOdQ9qe/WSptqlkD18KBTThvoYeu1cdPsRTQyrp9MSYz4+FXAfFnBQjYbXYFK1x/wltJyXXiX/s4aDMSY0LQOpulgDywYr9a71Y4wVKUab7CHRdiZ+Jv0bT7x8PAJOgRLpYqZ8N1+dTzZ2hrNIpOzh+6c1utMP8mCqNl5wm4R9gUz/dCyPKPTH+biF4xyUGdgHV/Ya19X00+NX8NORNugoKftAYv4E0pqTl5XC/OlqpM0rTQdezCxuLfZ1da/l4XJPwigpg81rhYvhgPe35YyihTJtdEPR0gn+kevcJnX38vQxsdzE0CcdfRiuu58GRrlUVwrDJxwPjkuvvhuM8wD3wd9v4Gv20xWXDSlraH/8P3X5SV8vTbl5d4HoSN/252Eah9+yZwZydjqbilPosdlKxkJcLbrUQQ5DbxZrdyCHnMu3yBRhiBg2JZGDBsSOJBf0HYAiarBSEgOZtCeRXxvbMXOlNrelxGXduqkDOSELp5ouA1KSmX24WU8ZH+yUXYK4PD2+Kx1CTWD9JRXDSJ0aqG+hKCcPo2cwAjUBuVcP/S00/mTQi+Xe90XKGGJN6CuIu+IACPXG8nG1eXQ= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: df304200-0ead-44af-468f-08dcf4dea974 X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB3366.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Oct 2024 10:20:34.5162 (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: FzPUyfKsy8fU39okhbQX8j4lLaSh1qfBRjoQwpheiArVgz9uwx6EPPgLw2sWApOg+55VM99X1EaWLHQKVQs8Ha3bSkGidwwgERjIErdvsNY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB6755 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_07,2024-10-25_02,2024-09-30_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 spamscore=0 adultscore=0 suspectscore=0 mlxscore=0 bulkscore=0 mlxlogscore=731 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2409260000 definitions=main-2410250078 X-Proofpoint-ORIG-GUID: u6vg46HbXCtaxiLoguo2a7WLI6qBTrPp X-Proofpoint-GUID: u6vg46HbXCtaxiLoguo2a7WLI6qBTrPp X-Stat-Signature: 1dx55uazdo8kr7yo3mqok5y91y7q768o X-Rspamd-Queue-Id: 0640F4000A X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1729851620-483973 X-HE-Meta: U2FsdGVkX1+m5pv3gKyZOr1oqIqEQTD6bWAxA0EjBQx75kP5nyEIchPSAhEdYvJ+Y4zqPzmMgmDtebE11FqNKw72IqXU86p2t2vj9qWDeCjSPDlvMEhLCjwfI6yMJ7F7e6c6EreoPpqmLMtCr1Bi0kDFQNYEMww2vXx+PUD6M0O+WOTZf63HNtDmLZMmZM4pfHlz93fhoOgGDBpeqc2Vv5SPXjspePJm0JYFAV58OLEw8qOqtZdGcE4nk5oOS2uUYP4G0Vto14SUYrj1PqM6mPxLsmrNOZUrmPwGRAOcFUpzWEvFLaUUFaaPOGPeE8A/Z/NQlNrfbAss5wLT/nWxwD1F+srZn6Dn4l3A8x9YvU/gaeSRfSkq/yVAUju7HXP+MlSkrdLKL+c+wREAfNz3jcBKhALRfM8IZgdKls/UZH6Ba+zZjXE6CXh0YpB1KU7dGe/l46edYzNbOqPtO61fJqpuyOjI95OGcR58NEsZMtENYnftwfnjRYMd2jH12AQ+6xBKtHh93FJoNsmwy4ygOWI+VzafQByH6uDuK7AQz4qmel93vRaBN0eBFchnmkcZ4lEyhVnBdjP20GkKOoeRKNoo0vjSoFvjj3J9bEwoBoWAHhQLQkDvQzfk/mBThzYiqVt4XqgJL6kqsmTn0SOwqrZ34s583hU6dGQA6z2fnDkGOqUdUHEEIKt+0hQnzlHEuEBb+M6O+dPDj3dxDDYj4fkSu9YkJhvdRffaTKgBNWVhVPINdsqeqTqVhG7GdiH7AUVLv3rKyTLCZA+F8zOtV1lKIthrXVtJtIsBe/xswu04xoQF2+UenEht9xZ7KRMm6cCTS2ddJ4pcBC5jIcyruwb6aFAAOJtOmP3ykmtuKG2HSznGRoStqYzg4jCeLXJe0WmOtrYSRB1DB1pMXd6RBWTT2Wngy/Q4CkmOfQn6T9gf6KXZY7/SKv3eP+8KFXRbG5eU+N9+V59ovHe5f34 jo0J1Zzi zBC6L86BEXkOcGDriqQwo7U3gJSqWhpWLRoVeJVZN64nWLsBEINNDuw+tRVA9oTx7BEUeeB1ZJNm92ZRsYXClrphUt/QOVQQHx4N6rqha/6pb+LXtbTVJ9I/AIcKmgiamYDKugjKj3cjXqwHOgMIdUsMdGtX9565yjWWYmveJ5C4EDl3q2ZudmiAcGa5Z3Y02RxjS/KQvsy/hdf2W2pPbjnntcjn46upjPKyLN3vxd5ytJvINTZ7lcmDczN1w64ExPnCWVgIxRvVmTNvWWRuYDhdHCkX67wzGGDoWCGM+IIIN4R0uhRJecn+rRouTy5xzB6nBmo/c88DMqLn6QFiVRg7+h6GIPUNp1yvrJpCssvpV5ukZYWDrogiOxAQRp/BPGwQsArTc0GV2iqhmvWUBOsaHYPbolXmI8UOcYARwtnSgJ9eUlN3JikKu4eV3VWizocjEwL8BHRfGw0VJ20rUtYTEJHaN9Cp1SRunLKeyYtNvO/W4eji6eiouofnid/g6TdV7wZLkXkH22C0= 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:43:20AM +0200, Vlastimil Babka wrote: > On 10/23/24 22:38, Lorenzo Stoakes wrote: > > Rather than trying to merge again when ostensibly allocating a new VMA, > > instead defer until the VMA is added and attempt to merge the existing > > range. > > > > This way we have no complicated unwinding logic midway through the process > > of mapping the VMA. > > > > In addition this removes limitations on the VMA not being able to be the > > first in the virtual memory address space which was previously implicitly > > required. > > > > It also performs this merge after the final flag adjustments are performed, > > something that was not done previously and thus might have prevented > > possibly valid merges in the past. > > > > In theory, for this very same reason, we should unconditionally attempt > > merge here, however this is likely to have a performance impact so it is > > better to avoid this given the unlikely outcome of a merge. > > Maybe just expand the cases where we set map->retry_merge, i.e. in case the > final flag adjustments do anything? > > > The vmg state will already have been reset by the first attempt at a merge > > so we only need to reset the iterator, set the vma and flags and try again. > > > > Signed-off-by: Lorenzo Stoakes > > Reviewed-by: Vlastimil Babka Thanks (and for 7/8!) > > A nit: > > > --- > > mm/vma.c | 75 ++++++++++++++++++++------------------------------------ > > 1 file changed, 26 insertions(+), 49 deletions(-) > > > > diff --git a/mm/vma.c b/mm/vma.c > > index 065f5e1f65be..c493ecebf394 100644 > > --- a/mm/vma.c > > +++ b/mm/vma.c > > @@ -19,6 +19,7 @@ struct mmap_state { > > struct file *file; > > > > unsigned long charged; > > + bool retry_merge; > > > > struct vm_area_struct *prev; > > struct vm_area_struct *next; > > @@ -2280,9 +2281,9 @@ static int __mmap_prepare(struct mmap_state *map, struct vma_merge_struct *vmg, > > return 0; > > } > > > > + > > static int __mmap_new_file_vma(struct mmap_state *map, > > - struct vma_merge_struct *vmg, > > - struct vm_area_struct **vmap, bool *mergedp) > > + struct vm_area_struct **vmap) > > { > > struct vma_iterator *vmi = map->vmi; > > struct vm_area_struct *vma = *vmap; > > @@ -2311,37 +2312,11 @@ static int __mmap_new_file_vma(struct mmap_state *map, > > !(map->flags & VM_MAYWRITE) && > > (vma->vm_flags & VM_MAYWRITE)); > > > > - vma_iter_config(vmi, map->addr, map->end); > > - /* > > - * If flags changed after mmap_file(), we should try merge > > - * vma again as we may succeed this time. > > - */ > > - if (unlikely(map->flags != vma->vm_flags && map->prev)) { > > - struct vm_area_struct *merge; > > - > > - vmg->flags = vma->vm_flags; > > - /* If this fails, state is reset ready for a reattempt. */ > > - merge = vma_merge_new_range(vmg); > > - > > - if (merge) { > > - /* > > - * ->mmap() can change vma->vm_file and fput > > - * the original file. So fput the vma->vm_file > > - * here or we would add an extra fput for file > > - * and cause general protection fault > > - * ultimately. > > - */ > > - fput(vma->vm_file); > > - vm_area_free(vma); > > - vma = merge; > > - *mergedp = true; > > - } else { > > - vma_iter_config(vmi, map->addr, map->end); > > - } > > - } > > + /* If the flags change (and are mergeable), let's retry later. */ > > + map->retry_merge = vma->vm_flags != map->flags && !(vma->vm_flags & VM_SPECIAL); > > > > + vma_iter_config(vmi, map->addr, map->end); > > Do we need this still? __mmap_new_vma() did that and nothing changed since > in the non-error case, AFAICS? You're right, this change really highlights that, will remove thanks! > > > map->flags = vma->vm_flags; > > - *vmap = vma; > > return 0; > > } > >