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 6155BC0218A for ; Tue, 28 Jan 2025 14:05:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DCCCB28022F; Tue, 28 Jan 2025 09:05:23 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D7C7528022B; Tue, 28 Jan 2025 09:05:23 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BA7B528022F; Tue, 28 Jan 2025 09:05:23 -0500 (EST) 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 7CDD628022B for ; Tue, 28 Jan 2025 09:05:23 -0500 (EST) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 0A0E3A08F8 for ; Tue, 28 Jan 2025 14:05:23 +0000 (UTC) X-FDA: 83057032926.05.B7DBAAF Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf19.hostedemail.com (Postfix) with ESMTP id 7E1F41A0013 for ; Tue, 28 Jan 2025 14:05:19 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=hlRuIJSD; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=rWf5gpkD; spf=pass (imf19.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); dmarc=pass (policy=reject) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738073119; 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=6LjHQL3uffzNVcHFh1LlsAn/nW3nBeyadYbVtPInEPk=; b=r4QOPhUcf07apqWmH/S1rN5UZ92/TLD3CQvVNtdS0zl70HxCLg4tlrRzXg2uDGwt07Ydhv +ITRomr3AhtkF9zqdwCn9zSWYOwX+YpgIMjkL/OScIS4KLJlHgJb8Py09IvDqdg4vLxe+s bzXXbRvbqigu2tEQL4ZlxdUHTUyP5gg= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1738073119; a=rsa-sha256; cv=pass; b=OQzgWImmhcdX9n0P+CUeVnLWWhWe5FD3Y00yQ42hoJCk0A0ob+NYRk4HC6VKB/Jy4Uto6F PfhqAxZlKgWlh/yDWSL6jpVfTGsyHQyogUgRKSkzjjNAnWomqy+PWo9k8LInRQh/k91dEf VlsVMW8Zr4aL2XEbmBVGc7uI/fPRM1k= ARC-Authentication-Results: i=2; imf19.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=hlRuIJSD; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=rWf5gpkD; spf=pass (imf19.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); dmarc=pass (policy=reject) header.from=oracle.com Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 50SCZ1P3007302; Tue, 28 Jan 2025 14:05:17 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=6LjHQL3uffzNVcHFh1 LlsAn/nW3nBeyadYbVtPInEPk=; b=hlRuIJSDXONnJRiAZFWJ/Q+s025Yz8NcVx F/pzNLl1Z1lSyjZa9EuNsVdqgfqT1jZTWI/U4qC1x6mg6gflDUhqNViMZkfSlANB xXrT0y+XX1Wxm6ToI0ceiIDoQmhKuHaoB1FLpWrMir9+5z0CFsP8FsFZ8mIV71FB 7syxwt644ILtcY4/MPhkg5+eTN3TSzrf++W19WKGZJ/1/k54jW6aoYy0R3jsh8UU E6j/uMbihVFXVNYfkEMIrsiQmnQarDjJviIYoz7Xf6I0MyuP4cXxymZMmSpsikX3 SUsaClejO5UCCCys5G/dd52yYQWUSD5ouWxxAE4PCndofo6jpYsg== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 44eyc8856p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 28 Jan 2025 14:05:16 +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 50SCioFJ036012; Tue, 28 Jan 2025 14:05:15 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2171.outbound.protection.outlook.com [104.47.55.171]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 44cpdedw2d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 28 Jan 2025 14:05:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=DZU8BpNPv8Jnaj4g0R2B+q//R1tGYl/SpfeXCiXATZilY/MWt+T+6ROFHVyG1tPuiE0X/2T/m9Mja2rC4ppSw0nwt1dQYrQWS1FWgR1/BLXIL4L5lUyitAmsxKpRcRGJLk7w7KAhqvk05wySmPYkCqgiYoR7lCZGT7yMWi4uwMT1i3MuzvrYE+9pr/1T6CxrCK59mIczOrpeR1gyX12ZGEJMxgqCs9aLwLRBr9VemmlNKQg8UuuYhJW/PwdJ7XahZiGfaDEt4sE0EY1k8V0dyIBx7oToadkIkFOwKKQ2p/3qW6T2IWw261fEoiK59f5umQyEhnABG3uX7W5sVAw9Ow== 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=6LjHQL3uffzNVcHFh1LlsAn/nW3nBeyadYbVtPInEPk=; b=rpuBvAihRMFBVELapIBnd95YMebuN1BwunKrF0XCm37cVNHBAqHdQk59pZ8cUIDOvqZp7pvVLSksbsakHAMAyc/VfNABN3SFnEqUbPAxa6oMpupcI7fGgr3NYoQdubLmRlDuxODVUezPNQNGt+sn+6+wi1UHK/ytXxIB6E1jkb30rUZSHE+LVf3wvmfma3dfjfreiYHP2Lh6qBaxA6EMikTg679z1d6i0WdheVn/M41ZiXYcY7xBZgf9LnIccv5Fwnn4LM+qN2lXDN+coTh56d+xX80TL2a1el0iew8K2rzEn9IQJ/Ikdo/WLwM8836VjuY/05F3C4JNioD9rdEBtA== 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=6LjHQL3uffzNVcHFh1LlsAn/nW3nBeyadYbVtPInEPk=; b=rWf5gpkDTxYevTXDtioddgHFz72DYq+uP5pyqoAVVlUsNTrljqssphDiW3MzHUYGsc1+3fghPkfTqgxC9yQrN4Vj2gmBHGCRxDFGH0d+QBT5M1eg4GmlgG2KH9heVPVu22VPNV046XZEnw83Fpq5+jwdtWszMPA7PT3ZE9pcLOw= Received: from BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) by CH3PR10MB7762.namprd10.prod.outlook.com (2603:10b6:610:1ae::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.23; Tue, 28 Jan 2025 14:05:13 +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.8377.021; Tue, 28 Jan 2025 14:05:13 +0000 Date: Tue, 28 Jan 2025 14:05:10 +0000 From: Lorenzo Stoakes To: Vlastimil Babka Cc: Andrew Morton , "Liam R . Howlett" , Jann Horn , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/5] mm: simplify vma merge structure and expand comments Message-ID: References: <86bed9d6-299f-4e28-8cb3-c60a5df78493@suse.cz> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <86bed9d6-299f-4e28-8cb3-c60a5df78493@suse.cz> X-ClientProxiedBy: LO2P265CA0373.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:a3::25) To BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR10MB3366:EE_|CH3PR10MB7762:EE_ X-MS-Office365-Filtering-Correlation-Id: ecbc4431-ad39-45a6-08f2-08dd3fa4c8f3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?lm5M4IyD8x2E03vOlRCktq+jEBwQxZYv//xwdbNfnAprCzXqco5+Dt1QWIqQ?= =?us-ascii?Q?s5jQxK8yXEGo5nxyL2pL7ddfnb80PNpPYeqf/93X8CPMkvjnU4WQGR/ACVHv?= =?us-ascii?Q?GMftxDR56qx3lDp7O3Vc6AkD3Uub6pOgY0lSEhPAMgbSFXtZC/LgFnXb3FHK?= =?us-ascii?Q?8gvWGZGD6Bdjb0NCg6QpE/18bytsPG4IORP0XD4Rg5yROxK0B0N21eaA2i1y?= =?us-ascii?Q?hnWf1/cJRFZhait3XGIBXtdUjRpcZOQwvTX/+LJ+zzWFd5tQ4ztXW8FeK0jM?= =?us-ascii?Q?KmNXat503rHIKJYMVZ73e06GIs2yBdRCVIaZBds0By31PM3vTLdkoN9b3QYK?= =?us-ascii?Q?TT792pEPJn2NfYrnXWdVjQzT9TIZ4KQqUXU6583hKyzPHtfWm5cl/8WEeKle?= =?us-ascii?Q?EjSnntiO91+BON3r146hg0MemVOBiuu6cfTTjNBK4Iw0YoC877c6ISXI0+kB?= =?us-ascii?Q?+xwsb/7iWlOUx2aC4ITZakge6PfOtk9gJNyjt0o02Enqw5uD8maR2gSmrgNi?= =?us-ascii?Q?BA8g1WQ7kZ9f85aAGY15kkmcREmaMCmKQ7G4lDhIObsERILDG0ZEOBGf0jUw?= =?us-ascii?Q?69yiyC9L+3KpS80hHXn5PenNUreRffbxrQRqmlEegUAA7AtyKqRWdeiZ1N5h?= =?us-ascii?Q?EJErxp7YQJkZEhY7/2LDImN36AObYIHK5lSGprDUqSErAg6okmDdF/z8NjNU?= =?us-ascii?Q?yvr7tSSj4c0M+Xee4xCDEGAHl+l0d07VKUJIM9QSorSFNP2ykjpihPHJEd40?= =?us-ascii?Q?8+hnZDx/hn+WjU2SEs+sLMuSiKY419pkFlGeyF9z66Ypvo/znHxkQLsnlweV?= =?us-ascii?Q?n32kMOhPVv7GlPxCd2Hytw69fBRxe0MDXES6+E/kdUV6/GXoK0Ch8LuajC6X?= =?us-ascii?Q?R9YB1wgJZKf0jc1fGr5GxGPxKt4sy885EzosAoP0jZ0F+B/H4w0nGof44KYu?= =?us-ascii?Q?VxgTmFzyExwDIVj+Ogqzv7RbJlo40rSev4RtbEUUFRQygQi6J/XozsFezFz4?= =?us-ascii?Q?kCAVOp5aDw9QsomKQswqVg6rcltH/hYQ+E7n50ymXa61clFY8EX9dCTnoZ8t?= =?us-ascii?Q?dfHQ1QZuSyZhE7UOEmRcfzQRsNiYltSMw/hxohVF9BXnK1rhuS9Du4BFsmgi?= =?us-ascii?Q?nrz01Ewpq+ByFbtO7d+mfE7WyoeOrc73Cil7vYwEVL9e0keBZcCdL/lPxZ8a?= =?us-ascii?Q?mpm2OZfOJx52T7j5IQFFuo2+Y4dAP1IxJgHTPBWWuhjHYHlnI8U2htUX6Mk4?= =?us-ascii?Q?PUm6h9CCR8zQCAd5pRlqZq6N/aqV8OiDg2SSzQiN0ahOD4Ye6K+PEcOXTJw/?= =?us-ascii?Q?8ZHX8YMS8F72PRWxCbttsgh76JiqoA6Lm9e7tG/7W4Z7uXHXfUZ9WhuJN4NB?= =?us-ascii?Q?J5ZMRf0QdGgNcONfYcNbsMzDETBb?= 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)(366016)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?qW4/1Wm4ZPIUJq3wqAqDso9T/NqW2ocRc3bAQEXhJx9NuU0WJaC5BA6m3Mh0?= =?us-ascii?Q?tsmdRwPf15c615j6VQVe9mKwp9eJH3IAgVKqpNJJ5nnidOCw9pq8gg+hYNVZ?= =?us-ascii?Q?tiPFzKfg7wW5nUMuyA9HTWRw4gwXABHY0w60DGrVLk/EbQj1RdS1YvwS/4LE?= =?us-ascii?Q?a60nrgtSF1aqV9/2g7m0D0rZQlLz1gPu14u8Z+EoHfJzkjYxX2hyPGaRPrRM?= =?us-ascii?Q?NfCRM3S0AIo8SBm8tLrYN0IzM7f8yfK+Yu321Qrkrydx18WvAZWJuT96/BNT?= =?us-ascii?Q?VhP+ZzVaDzlhy1LqN2LBR2nSyevVS3pCLUSn36zqTS+0+LEKJrDS3r7zxqz8?= =?us-ascii?Q?lYlLEcAi4DjA6xLNrWRb0/OxS/EyeVSMold0SFmnGPbIeRpvK44z/67vJqi8?= =?us-ascii?Q?8GIFOt6X5rYbX/tMhp17lKxK8UEJlhQVvBCi6Q5ELWLAbfOWBChkCmc+//VN?= =?us-ascii?Q?+uGgYSL3G5JZNiDZlmKfgTNUUnV/XPIzd5gs5raWDLTtnN7uCKoUk+tJBEAj?= =?us-ascii?Q?wK/64g6dD5xa7cLhJik/Zr+IMkENSdXwDbSDXpby6E+8XIZCBXCAGdVRfix0?= =?us-ascii?Q?IQDrvrM7RnjgujO9Tdr/RUNijdN85PbLeDgghrI5gevwCntrUGTUekBF1mmm?= =?us-ascii?Q?OEBl/zdQyaE9GXy/jgbCxtU9q0LveGXHGDnpcN+LiQKcldHuWEXU2+XrKlHe?= =?us-ascii?Q?eN6lW0oI5KyVmPkB0BXnnj0NcaOGQ4Mr60d0JRwFyB2tbKGB54Lg73FA0KPr?= =?us-ascii?Q?YEpS4GKATksvTbNFfjIJFBpg+mCQN8njDYYuUXXzd+G9Mrtm9Xm0YA10DG20?= =?us-ascii?Q?MUMwKzVBaTfv5zBHvo1w+27SfqodJUfX2XTPQJMPRdTjYElMvuGhvt3l7yAN?= =?us-ascii?Q?Bmcn9S9kDYM1u5Y+HRJUSZsZIzrENIrFtrDn0s/qLgkmNv1swsQVGBZjFBPH?= =?us-ascii?Q?07PLcReqPw2cU1Q0dfrAd7lCC0gbSIl+miEJsXECSj85qLbHMAI35wnLTjM7?= =?us-ascii?Q?VQbsNqqFQY8xIQLgKKwXgr/T51rhIJrYmo7IVHx8Bwk8SwmrIrNDlWZZlnsm?= =?us-ascii?Q?KF+d847PC0Aua85UY/m86rEcMh1sXyUKayk9b4c7NwxgwVQLWZgWkNpxsf8+?= =?us-ascii?Q?1f/F3ArCHfqXPX+II6+F+0jmA0M1FmwRM8f32w+KmLazZcDLbDxEZzGIZEV9?= =?us-ascii?Q?u2uIckCD+UADbtpjCLLpOaDLKjDEreUSILV827oMrz863w/7GA6+p+FVy6JN?= =?us-ascii?Q?AQaoh+FrUCbRjz/DTFusPVD6a8LpPFBmVGFSDF6NJwShVFDFs+xbqSZdcppx?= =?us-ascii?Q?jpIHfTGRib0PMw0pISMbNQp8OFfpAibZd8FDXTqnKNOXpoQgEAse5S5G/wK4?= =?us-ascii?Q?JAgKh32iH2v5HYBtgW5VOrE8iReEXWE89Lul03Hq4FrSbc9mEJyeE5adnL9b?= =?us-ascii?Q?ssoJvHisiGKAz+NpMwURzcM30dL7nxbJhN1UxZHgPS9uZYPqYUTpdsfEArS2?= =?us-ascii?Q?apPPDPviTBWh2BnUcLBX8jMS1z26pYqYhKTkE2i/xfOKNDfi/DUyC5bMSDA+?= =?us-ascii?Q?swP7M4fFXlEwa8vW37m5Q1SdElybX0g0k3d6A7ugBvGQ8CCS8lfX2FVy7U06?= =?us-ascii?Q?0Q=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Td4FMwwlh+A7C7ncpQp20xCOBkrtMSSw/ccs8NX0Z0aBp63QA1scT1KmUzNktnz0soHRNdrwszTqVHoUqpmY33hyUQf97EFghyb/wq/axORQ64C2xWpx+UIpk/rch1t9unSqNagZfF6pkg19o7UWGWgtveNyQsC2Rw9MXcPx2L3ai/gLN+vIVVE0qsdH4dODoPKZ9RNLJYgFJ7ProgNyomRSjrd9uT5yYIYvEhSrKmK7cVuDroQXRM1kwRZlyv0l8+rEt67VFYOAktqQc+Kgy2NUoCwp5XTaCio+qY1IeHNz7DKF00shr8Wn/icSGMuxTGTX/c5I+sLnuGM6HTTpT5nipdfeslLiyadUEw+xAchejOb8iS9nuUyWQqnu8RrWaEODPkYNTbfkQu/p64RzHnmQYhZ3kwwGnI/mu+dnfoOFKTi9+wJBNs/qUR6e8Lo2l3lvdNWH2KatArodH5CkFZYgvaJ0gChiGchdpe61kRUtLWt36gWb2X243CCme82VWEj7uJDBq4pBj4Fz5Ld6PdVrrFOkJQjot66f/W7JCfsKkViquI7XC/renR8W9Rrm/Z4tcB73D12HHTOtaxTXIi9jsw9Km+S7AYUf6S9KSUA= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ecbc4431-ad39-45a6-08f2-08dd3fa4c8f3 X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB3366.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jan 2025 14:05:13.7047 (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: 3Sz1gLo1txX+UhWnyim4gM63XTW5ax3TcnHgnRdLFEsAheJ5a6b0tBjDuzikbh4PPJ5IXyiURuU7Z7pxOEguQiiqXKG4fxGryMouaQ+OK+w= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR10MB7762 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-01-28_04,2025-01-27_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 mlxscore=0 bulkscore=0 phishscore=0 suspectscore=0 adultscore=0 spamscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2411120000 definitions=main-2501280104 X-Proofpoint-GUID: q3wRSgAL-Uc01Ss76T6fV_nKFMqHW1vc X-Proofpoint-ORIG-GUID: q3wRSgAL-Uc01Ss76T6fV_nKFMqHW1vc X-Rspamd-Queue-Id: 7E1F41A0013 X-Stat-Signature: mk8txnty679qweeasa1gkskeoc4y96mp X-Rspam-User: X-Rspamd-Server: rspam12 X-HE-Tag: 1738073119-953904 X-HE-Meta: U2FsdGVkX1+kcBJDFJ2WXmERv2+u6jBoQr0o1CBnuywSQameeI+RSJP0ieMD1AZthp2ffDnVInIJDY2AaJBVhvjgfEdjKsBeX03Cu+N/OZFuAnBfuz+156Od+HSjP+GZveV4faFKQT0Kd4stkWrAdWfUmiRAiyOwczEUArxXOjaw2Uq3MJ+0kjTD4YtxBNoff+llhAt1nHVQUFSesY6ITKVWhZYjjlwnzwY2YG5Mm3wkFw45HeYw2ZWFZ+ZZnwWRPTAbvs5Bd/Sepq0neF3DM/PDQggnVnUd5AArmCS9rXbX5bjBKoqnGOLyn6hD2NDq0pgUarYus/MfVcA2l+wsCXcpsC9+tr0xIWDiOkX173/NQzAzG7knq+da6cM+53wjDkcZQC99PQRO+IJlSVDo+XmB38SGLl0GLyJ0npCxV1yRdPE31z45I5MI7zSYbyleLCefcdcoKt1U7dxdjOpMbpvqm+C/rDVlxe5ZGww7qrrYP3OlCBbz1mK3DlKY8gTNZHzZx2ghkGDc0zOlXxz6vwtFbEn52Oh7c28PIDtEW8UIcY6XlDLVf/hx2oR7h/mKqZSiGxcwpvcD7bUD2VHJokpoeHS5S5B4zSIVzKGfaE7irCP3ZDwIL7NCx5NPklu0L8MUSzIPnTrvlsbKDike0yF4CGomt08O+KU7HGmD/6jmH1nXWt5UO6kgQeOUdDVn4OAYUWJIzPq4foymdfKMAjrj4VpHpPY8fqJUsJqS8IZF1otO9DBFEyYjfcsTCGJUK8R2wHPccMhqAVs7Zq7zqpSmWqGMR+qc5B4XljVupVH/gX+CxKA2PRqsyEwzvLl1Zfd0YJPB4CFJ35NcLzQ+Mta9TKqkenm9y9JlpfWdjtGvI2iCxL6KfjlePJZlm7ZSFARK05AUq+XRO2h/N7cFB8q+JsmHMWiJ/eNfWHpwW+xDbeoBr9I4sDnbxaSOc3qtZwzKaGZtBKhicL/f436 SuBqAkCT 2qF6EhRQWAUfvynf660qRCQKUliBIrKEY17v4ZiS9jZJlTSHeoqGGCFyRmXeAaxIiif/hmbQSG4hvJ4OxkViZ5+87kyBcfEeb6PJqRLoRF56RGFqHwudoSEHQm+OSPm/AgAA6iZ79y4N38pqt2SfBq4anaUM36uY4TovN65qZcl9zqhRdEwKAa065L7rjlfiE/pGbt/2fxIg2WLeNv+ba8m+ossXMBzJJ/5lELfTIcNQgoARLNJzA9VLXPa/rQfadVF7X4r/4ABPUnvDUWcOgbmH8nZNhnPFU4lw8qaqMq/zL1I+JYzE781HN6+T5bQBrtFrqrF4F0VmEOGzIOsCoYMmO8M21LcJ2sYBd0xGTqWHcW/s+tjGHO8TRahLtkQH+xDfuzmZrPGONcV0pnmmGhwMfYXEoi16Z5NC0yfzwSH3FQonplrLq7Sjhzxc6PW/OddHXCbJDrPnnalVrFqjFBRE4hJLXoqTj7V4buhKfg49JXUIzTYV11S4TgNO09rcHWwWvkfysdvEwh9VPjQ8OuO4UUEjdDvbY4ePi04UNEABqgdbb990tIEZQ6lHujCMOuUhp 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 Tue, Jan 28, 2025 at 12:38:48PM +0100, Vlastimil Babka wrote: > On 1/27/25 16:50, Lorenzo Stoakes wrote: > > The merge code, while much improved, still has a number of points of > > confusion. As part of a broader series cleaning this up to make this more > > maintainable, we start by addressing some confusion around vma_merge_struct > > fields. > > > > So far, the caller either provides no vmg->vma (a new VMA) or supplies the > > existing VMA which is being altered, setting vmg->start,end,pgoff to the > > proposed VMA dimensions. > > > > vmg->vma is then updated, as are vmg->start,end,pgoff as the merge process > > proceeds and the appropriate merge strategy is determined. > > > > This is rather confusing, as vmg->vma starts off as the 'middle' VMA > > between vmg->prev,next, but becomes the 'target' VMA, except in one > > specific edge case (merge next, shrink middle). > > > > Int his patch we introduce vmg->middle to describe the VMA that is between > > vmg->prev and vmg->next, and does NOT change during the merge operation. > > > > We replace vmg->vma with vmg->target, and use this only during the merge > > operation itself. > > Yeah that's much better. Yes, and part of a number of steps that gradually improve things (though some of the incremental states are not quite beautiful, the final result is good :) > > > Aside from the merge right, shrink middle case, this becomes the VMA that > > forms the basis of the VMA that is returned. This edge case can be > > addressed in a future commit. > > > > We also add a number of comments to explain what is going on. > > > > Finally, we adjust the ASCII diagrams showing each merge case in > > vma_merge_existing_range() to be clearer - the arrow range previously > > showed the vmg->start, end spanned area, but it is clearer to change this > > to show the final merged VMA. > > > > This patch has no change in functional behaviour. > > > > Signed-off-by: Lorenzo Stoakes > > Reviewed-by: Vlastimil Babka Thanks! > > > --- a/mm/vma.h > > +++ b/mm/vma.h > > @@ -69,16 +69,48 @@ enum vma_merge_flags { > > VMG_FLAG_JUST_EXPAND = 1 << 0, > > }; > > > > -/* Represents a VMA merge operation. */ > > +/* > > + * Describes a VMA merge operation and is threaded throughout it. > > + * > > + * Any of the fields may be mutated by the merge operation, so no guarantees are > > + * made to the contents of this structure after a merge operation has completed. > > + */ > > Well this patch seems like a step in the direction to limit what's mutated, > and perhaps defining some of the guarantees (via const?) could be then possible? Yeah, I was thinking about doing this, but perhaps as a follow-up. We'd have to differentiate between: const struct foo *bar; and struct foo * const bar; To indicate in some cases we are fine with changing the pointer but not the underlying struct and vice-versa. > > > struct vma_merge_struct { > > struct mm_struct *mm; > > struct vma_iterator *vmi; > > - pgoff_t pgoff; > > + /* > > + * Adjacent VMAs, any of which may be NULL if not present: > > + * > > + * |------|--------|------| > > + * | prev | middle | next | > > + * |------|--------|------| > > + * > > + * middle may not yet exist in the case of a proposed new VMA being > > + * merged, or it may be an existing VMA. > > + * > > + * next may be assigned by the caller. > > Caller of what? vma_merge_new_range() requires you to specify it, we document this there: * ASSUMPTIONS: ... * - The caller must have specified the next vma in @vmg->next. In the case of vma_merge_existing_range() ,the caller should _not_ specify next: * ASSUMPTIONS: * - The caller must not set @vmg->next, as we determine this. Yes, this is insane, and I tried in the original series to avoid the need for this stupid situation, but it ended up being more complicated than just documenting and checking for this in the vma_merge_existing_range() case (in the vma_merge_new_range() case we can't, since it may legitimately be NULL if the proposed VMA is the last in the virtual address space). Another one for a future fixup :) > >