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 809E0C3DA4A for ; Fri, 9 Aug 2024 10:18:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 17AEF6B0095; Fri, 9 Aug 2024 06:18:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 12C096B0098; Fri, 9 Aug 2024 06:18:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EE62C6B009A; Fri, 9 Aug 2024 06:18:42 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id CAEB86B0095 for ; Fri, 9 Aug 2024 06:18:42 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 4243180CEF for ; Fri, 9 Aug 2024 10:18:42 +0000 (UTC) X-FDA: 82432308084.15.A7AE2A0 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf24.hostedemail.com (Postfix) with ESMTP id 0467A18000C for ; Fri, 9 Aug 2024 10:18:38 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b="OnCCV/0S"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="pGGAiHu/"; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf24.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-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1723198709; a=rsa-sha256; cv=pass; b=D8rN5uhdON6c9p1klpB57xj77Q8uUQAd3786K+Wy2RYpvSVDk+oxfIASl5JzW5nGPx5wRX 3PtjJglhJ6RnK7LIyZhAgKpOiWxJokvo2pwsG7Y20XYOHedFOvJtRRzPM/LirxALRK8vj5 YCQ119mKGxiJ2qqy8KikSVqwCSbmZYk= ARC-Authentication-Results: i=2; imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b="OnCCV/0S"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="pGGAiHu/"; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf24.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=1723198709; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=RB9ACbcgpzXXx65qGapJ5xO65407sEXsC8b6sGr3FNs=; b=5w71l6T29OkiKb+dPNlXPrPd9mJoQiWQ1/xDtBYIyIjV7DYuDOEW+ukm9wevlBbg0IMRxz PX2AzKKdQn59AkZtw9XSJlJfMmvN9f11WfK/ymXosFURedTujZ2dXN+5IT/EOdKQZg97pt uvgR2KrpdjS9tLwQYOg4skLWihNv0eY= Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 4798fTpr002154; Fri, 9 Aug 2024 10:18:35 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h= date:from:to:subject:message-id:references:content-type :in-reply-to:mime-version; s=corp-2023-11-20; bh=RB9ACbcgpzXXx65 qGapJ5xO65407sEXsC8b6sGr3FNs=; b=OnCCV/0SSEgB+q0rEXRAwN5xPWS5oAR uHTkovPT1LQHWJNFx/2ULnZEMrnjylBMM7tkareID8cY1+Hgp7bsMd0FnjVNa4zu X1tfha3fZ5/nx+ZvDCkCbAkGDsNMBn0AAw9G+4dKdIrqW6ZvzowG8fuEO0mjD+JY jgiZI0IMwA07dAZwgeLIoWIFHKC5UP+ltAgH2WhNeKm0kUvlmdjbAp6NRkE1k3Wt /bowuwfJwUgtrOHKsqyNV5A4oZz8pmKUQXp/4JgaLUr/n7ux1TgovZkdx/N+ivqg i2HEEzZmEBXogNMk9ipCMF2tQJnjc0t/q/w3LXOY6+vVn3hb3aCu8WA== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 40sckcknrg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 09 Aug 2024 10:18:34 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 479AA5j2040776; Fri, 9 Aug 2024 10:18:34 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2101.outbound.protection.outlook.com [104.47.58.101]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 40sb0cuqv7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 09 Aug 2024 10:18:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xmmDF9bN+aI9nAJHbQEmmFAwrO5Hln+ft1OPP6Rk8HAPCeYF25OhqOVtiOOguYf6DS3YTbVrK+wZn7w9G72SsrUCMgDOFbnqQz/kSHvbMDiMDMnt9rZEd5puJ3w4CGEGcuYP11wfZaDhG7Sd2tyA2ouRbLQWHEUOc7IVTE8wKDDr/lYHS3MAqpDbasrhiNOP2xNvbwhaClU+LXJkBeKvXGsCP6+PRiGeGQ6sbbtJXR9bgqrZTREXXwUFmaewqJ1fwgMn3gdx8oGQvo18YMOzRVoiFibFi05z4dICsAyuPdhe9lmaBbL6OAM3T+jh0CwpfxttNwmj/ohgSDWqX4O2ig== 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=RB9ACbcgpzXXx65qGapJ5xO65407sEXsC8b6sGr3FNs=; b=EDylcqIek/Mo/hFVX8wBPFXqJoAumHrsWGHbbgMJerHM6u4PVqD7VRejoOfTE930DsWnzmxtrwTEl3ZWZcCRCOmoc26sZm0IxlPkh4060S5lqKDu5FleWPnUgnx/pHzS0Uek7ms6qPhiO/dpxR4eYMT0NFWuBu2WwBV+GP5U/Pzf1QJeVTbSl+CKcgEDTF1X0sgmh+1l5S2Lh2N7YzAI8fVi3iA6VGtGAEbW7WtA5T1dpp9cYnJWDIPY5sMn0AO5ejZI2UotmU6Q7DpWDF2ydcCE1RNZAKtHPkpHkBMsOkT0jLUY0rKWNreTPprrPgHDEOeklyVsJzvhkUqEgOMFmg== 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=RB9ACbcgpzXXx65qGapJ5xO65407sEXsC8b6sGr3FNs=; b=pGGAiHu/49AFP9FYV2/Smid5F0twNCrfWeOiT4E68LhJ7qiw2SxI//4YGld//QCmFzYE4V0/pjVYjC65zRK2NKpjoXtDoutSm1QefAucBmBa0EOjtoFGsR2ImTaBugYe0XOCWHYnMvNbj38b+ei+gpyOxI2aRUc+AuFGLWtn+x8= Received: from SJ0PR10MB5613.namprd10.prod.outlook.com (2603:10b6:a03:3d0::5) by MW6PR10MB7659.namprd10.prod.outlook.com (2603:10b6:303:246::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7828.23; Fri, 9 Aug 2024 10:18:22 +0000 Received: from SJ0PR10MB5613.namprd10.prod.outlook.com ([fe80::4239:cf6f:9caa:940e]) by SJ0PR10MB5613.namprd10.prod.outlook.com ([fe80::4239:cf6f:9caa:940e%6]) with mapi id 15.20.7828.023; Fri, 9 Aug 2024 10:18:22 +0000 Date: Fri, 9 Aug 2024 11:18:19 +0100 From: Lorenzo Stoakes To: "Liam R. Howlett" , "Vlastimil Babka (SUSE)" , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrew Morton Subject: Re: [PATCH 04/10] mm: abstract parameters for vma_expand/shrink() Message-ID: References: <95292b1d1215f49bd895f1aa38f54a8274c350af.1722849859.git.lorenzo.stoakes@oracle.com> <2d85f8a8-6937-499c-91fd-7dc5deced71f@lucifer.local> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: LO4P123CA0426.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:18b::17) To SJ0PR10MB5613.namprd10.prod.outlook.com (2603:10b6:a03:3d0::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR10MB5613:EE_|MW6PR10MB7659:EE_ X-MS-Office365-Filtering-Correlation-Id: 7ceee912-3465-49e1-5828-08dcb85c98f5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?fJzTi0D1RwLQgT42qvtkPS14gl2pkxavChNGEgQcATxrh3jzD2eb7uIlBwJi?= =?us-ascii?Q?cHtohq9bs0yYKTDYJAfSWa5vSMrgQptCW/sbr0xXQIOBiXw/YupXomX4FnfY?= =?us-ascii?Q?Qm+XwnRV29Hh5UB17UeMARHxfGDe9g6YF5Y6rM8XuHX8NZEhCR5YWZD4TgiJ?= =?us-ascii?Q?ZYA7oPP8COWMMOwINWcDTX5ySsxUzJ2DQ/efDot2licjjG+aEw5+a3y2IQAo?= =?us-ascii?Q?nFHVtDu48f3SnW1tercJkwT1vBHaH1wtUcjRr/+Xk945mTMZX7DqfoRbzhX1?= =?us-ascii?Q?RPtW00vDAf/g5RzrLT+HPGZIqGsuHHD6H/a/VJRCOjXYW8OtYl+UAsGiAtcI?= =?us-ascii?Q?oFUVsIoIKd448lQhI38eA+7NUrLgQifAyod/zpNvum5hF9J28TkC0ooDUcrd?= =?us-ascii?Q?NsNY4F6mMXZYkZs0xIrEz8ZTB4AD7FCL8onvgIjOTDBiXK6YV4FW2VCrbW/K?= =?us-ascii?Q?oZsOxZ6+4acFlna2xzv6t2N3hlsgEgZGUpE0Irzfk//+lpt1ZlIOXkSVNNpw?= =?us-ascii?Q?VKkL+QQnaBTrIvR8VoUSbSNJnxuEXt2TB3BTaheHK6vMe7s1WyPtPzsdzqe2?= =?us-ascii?Q?G5UUCF6zktf40VTIOitDldIgowpPBXpo0yxhRtdZD0Wfe2lt3lqzCZyR0mH8?= =?us-ascii?Q?oJmyYjRnXTpE6IWWfrxBaGhWayh9rZhoknNDIOyOpSxPmsb2Q1dyp5UWns2N?= =?us-ascii?Q?S4TgEfWAxP2ucuBI4H0WIxHhqJCA5HZTRDuvrilrrclzz3spDmyzUazsnTs0?= =?us-ascii?Q?X1K4nGiaIwRblMjYjDKRek8avcGEm4jptUb0pMDYg/7lh6PxqIWvUNrXl8SQ?= =?us-ascii?Q?0EyB/hEUjSOb5c3t0y7zVGJSkaY6DKIiRm/k/YiwP+Djf2YKtqmT/lbu1dTF?= =?us-ascii?Q?Aqa2G8iNrwe6VE33M4A11mQGyJ+qLx//Ybuj0X9mFKzagJvInOxMCLfCA2Qh?= =?us-ascii?Q?OSJTRDhWstemzjRpRYlf/PuycevCe8KL6LXBa2poFoHYZnuhGesrtEQrWJAC?= =?us-ascii?Q?CvREz0GeyS8NMgKWgLiKTt3KgQK9QTtpQRJq6UUv4Jwv+REXtmCJJ/2gA0xY?= =?us-ascii?Q?zKkC2c94YXwRx7bCk4An/YY9UtXXan/e0EkiU5PbnG5SKug2ysk3zxcBKDqs?= =?us-ascii?Q?cpuhfOqdbB7yfaivSNRFGWRBM0dkKekBhfG9rnBHuTakBL/90M3kHEqRZx4M?= =?us-ascii?Q?01KgloS8mW41jTLHsRK4UCElwzmJBJwtwDaijcwkwoO0fYfJNNOklZCXOCD7?= =?us-ascii?Q?541B+YEMo2o05YyNqerwNl90+ufUy5QY9T14vEecOViuU+kAEIgJpQ8um4jT?= =?us-ascii?Q?wZNSQ71NFN+gFb3N7L1GUwm+G5uWVrUd6qnF4S3DsSjFiQ=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR10MB5613.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?X6/U6w6eI9W1g43p9hMwRJz3I+bkRJYs2MNBCW+B7B2oPHwykhLFaTOFJj/S?= =?us-ascii?Q?jS3kAh66V9Iarlbewms7sW0FtlDUUC03t2W0wFBO2t4dFkPKAT2e/gQBOnPd?= =?us-ascii?Q?M+d9CbCTb1GuGJz5L5BAkiecuD7RmZSB3Z3NpRjGXmNbk+8t/dVZR6b55t8N?= =?us-ascii?Q?zvqUAqUAIltcfv2KjEt5DCEkNlhioVaf1SVCH4oKp6Dy5RysyBvb0Byjzy/r?= =?us-ascii?Q?f71lCSFoh7VtWEQaTuZnYKmp4l6d7KK0SOwhEoXtdHNRcRdldibFPOay22Ys?= =?us-ascii?Q?adasjMk8yajzhgUEnxhUkP4SLIPONuYaraGqCH0YldY3F0z2opIcq98QNw9j?= =?us-ascii?Q?M+Z1iEANNZNrArStGXqZ3FXN6kd2wk2IGg8S1ipjfX/bbSRPplwz2g6qc2HV?= =?us-ascii?Q?badRoQi97YVjYnNts4ogQoCmI2mT9yst61Le/dbKJL+jlecZZzvZ+iNo4ZnJ?= =?us-ascii?Q?Tpdk/W4tZoaVyLqMZxZrouMxyYpwPQR8qvDZ74Su9ZvaxCKQ1s1jvcf8gzcn?= =?us-ascii?Q?5T9umC10xFdrlSjk/F1zHBk5WGP9mhbCbwIGcWesFzx2JEyCaEIddYyg2WkG?= =?us-ascii?Q?fPULPA4Dnqz1xoUips/tS2N2tQvPdFcnOsR8NNFKNolJN7EsJU5M+ENTpynM?= =?us-ascii?Q?bGFdHxkNnwcESDV/etZ3jMbypkQuZXIKoOf/i/MDDd+ih8T4jTctJPTS5G3P?= =?us-ascii?Q?9uA1aNngJBzpIaa1mbxkiMpoeMVs8HdXk/o88XKv9KJhR72L+D/M11OsG8Xe?= =?us-ascii?Q?R20XqLMkt5nh1dHzyWcaqgIwT3ybgptQIl9WxBUvU/E22aq/Gz1XMFQr57mC?= =?us-ascii?Q?gR2VgMt6uSowOjfoFclD/AHbRUzLmb9ODbtTB3aZvtLT7uHUbJpgK06CGQfH?= =?us-ascii?Q?8I3F6aHNTXrFe4F8a7eIP6s3IHGKR32ukuPGE9NxsvO32oSWAAKoME1R3tmr?= =?us-ascii?Q?zSGw3bwh/iqLJ5eyfrxcH+Xb5WYkaD3oll208wEc7u7FZLWa+aOJgsvxo7RM?= =?us-ascii?Q?nTdepCAKp6DRol97D/Cx/DDMd+vVNQvsM/y6Lh8Mz+37yyzklah7aIDxu1+U?= =?us-ascii?Q?WFcdUi2+4VVqY8Hka2oKfao8Z18AbQmwJ2ZUeDNU/Oyfbb5OIMicT9IavGMT?= =?us-ascii?Q?Z89OspB5weXoH5dhg/iBjGChbbO3aGM6yOE1CxEkIWFgLZNBxmA3hwHazD/Q?= =?us-ascii?Q?H+ddmdXleoxxuMqFEUgnnet4+VKXSttWXw5BeSEH8i3mIS5XfiDnjAUwkT4y?= =?us-ascii?Q?LbH0niZiNzvfMoIBb7Nlcjn0DrsUJyhDZJfBW8M08FIDm9Fux6X9PduHYVqa?= =?us-ascii?Q?ls8fUwkEW3ypbgYsXNdKsMAvPiyHrJ9OU4PMKWywCekMSp+pee/fwXWAY9Ii?= =?us-ascii?Q?IxP/SGIrU0apUAyFbVQfrknZHZ81DhaLMoHLMaHMnafDyZ1ezonetiDhGmae?= =?us-ascii?Q?pR5pfDLcEwnrolLzxlHSJiOIb/r+TY3755OpuSajPWAYy8PJlFA11MrnAWl0?= =?us-ascii?Q?CLR5aCysl3rBnrVHl2wATSfkC1KcDTbb9cTPsBNOkiaZI/AA73B/O5MUy5dl?= =?us-ascii?Q?qSsmKPc+t1f21Og8KrrLwBf1fViESEtY8efk5kXUkmHOEGhlyKBt54x4+A7W?= =?us-ascii?Q?9/GOwSTnKeRBpQ2eBu2GzIgAnSgs+V+gKydqx9r9OupV3oDrZhBlLMuv/nhT?= =?us-ascii?Q?RtHwmQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: CR84fJNkLKxpiNwATZVARQQ6xUUYIAKat9aAMH72Mi4wQknAxrUKPRsl8aIeIiyGJIjm8Cp8CIhoVjwt5gJNK+chKSpotXvbt8Wwer3bOstlkr9+q1wTSW1BHGiH4liPp289GXxtabKvg3tO8M2pcguRfBDSqZFrA5KQwMgRak+nwbbNKBcOF19/WlQj+bbV9lvetp3amXflCOsMupUGuvZoEu0JJdRKpI044sBQvYOjwYU3gg5HBcqeRs+mYlMlEzNaG+4feVPY1Rqy9RcQiflvNv103VIGxwGBMKDwVUR+LA4tOls/rbPUMbZqxXduP76R7yqeRr/URT+kdarU4lTtl/jo67U6halgNyYDYOEFngyto+/j9949jXsJxNvwGutcSZs/jCXTfYCLCDLb2f71Vbr/whBKQHOC83feGwmcceuccrTrg19nv4xUuTe2hsR02jQbJ8i4eQUcMvMPUT/50g6ygEMJvs0tPoEeKyv1L7Vrv89b72BT9I2pjBemY1pp+e+xkRhlvDtXO1RMX0RF7T89HpliBaN8mbVZuRkGk8PjXW9prnSGxgq/mPqz9nKUhyfXo8ds/25WzDCd8RsvDrpw91kZTK8ltpoOxi4= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7ceee912-3465-49e1-5828-08dcb85c98f5 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB5613.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2024 10:18:22.4792 (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: syJOB+0K9tFvIMo9B4WSvaJr9YbnI+LThZ0sIJI3XAN4Z6YI2X+EoQWzHdIsGklc/AABybHIv5sNrTKIiAL5XIvMwA8dii1ORG3U5djPo2g= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR10MB7659 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.28.16 definitions=2024-08-09_07,2024-08-07_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 phishscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 malwarescore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2407110000 definitions=main-2408090075 X-Proofpoint-GUID: rhbVsH6P--ahnP2bzPJ6pgwkbV9fGhb2 X-Proofpoint-ORIG-GUID: rhbVsH6P--ahnP2bzPJ6pgwkbV9fGhb2 X-Rspam-User: X-Rspamd-Queue-Id: 0467A18000C X-Rspamd-Server: rspam01 X-Stat-Signature: 5c4fcwqg6qf48ytpn388rcgp3zy9b9rz X-HE-Tag: 1723198718-521820 X-HE-Meta: U2FsdGVkX19g/AAnujyogYuh6z5ZNGPyEZSRPDso6JCQFyS8O3eupyoSA4005rtHmrpmU55mZbrivDUFIl8MnQhlHAHQEbV/iTW50rPhnJ1bt1REazpD0Dk6EQ1teRyqVq4LNpVyZGudAabWNSnOEzygxtYBpscrJLfg1WuyyT2e3dpBk3f+H7CQNskMyA+aYH/hU00Sc56MSV4vKBxzNjkuWlgvsEYm3hOCZUa9Y3ram63raN5IgH4L5TuhCsq4wh52CQxanXSqaHqMS7uMc4WYUfijinw2vrEwn6A3q+oG59yPDoKSjU6MNx99fN2NbDitVZ2PeLGi4qlc9lrKbJ1AqgUtFl6lAXVvFqQl+XxFT6y/T3xVI5NLDUktg64vPdISKtsMDjpT8Qfs6xN9eaBVbKL7zEFlbxyD66giCTJOVAeQ3qCf37TLr6yQKEYicV//S4UnrqALjpTesC98M1B+Q+Yiv4dwvJ1MXr2VSw0aRgoJ60ojNNL+x7Pz117ITZoPL47pAEUCr1+jF6hdQ6+W9NbZvfoIE+zFkTVg2uv93cPZ46nwLfkkzfnP/krBm7NmuAjDM4+PHd/z+bOZe/noBNdTap3ukgrv6BRYDdARr1tT3OQBnLbJQKdccVWUWv1fN2d/MF1QtdNKmFfAg//0DGj2dtso72GXYSWk8bzP7jGS1fEwbbxIiiMSWI1BeE2zyv7ZbMOHc9tFYDd1nEpf8atTsFVqWKPjuQvt3k19WRgL6pV6amco7RKLTzQ5g+3NMxP7aCDDuCP+ZLqfj303B1WhhP5O5yQFY2IQ79U/ujRHwm1xJqbKyAZlPhKB3sBu84m0fdptWI4m0m8in+k4I3PWqx029M/gwgaMUr0HD/TB7P+tWuR2T79cBlD59VbhFayomevstC4o20iYurNjkNgbe2w6abVGqlcYegIbGYXK+Bgn/wkSrFZune2tCeA4rJn9/Y8lYh/EZMW veSq+m7f l1Z9BLd33OlNp1F08X/SDJQzlMEFI9HRtstiSGlsok8VHvJByXNib1R8blu8XGCbpUGr2iuNurKVtREVkmV129fNINLLoP2nWw9xIg5iqXgF1iVg0G8jqMPfIGd11LDSDfq9DlDrp/95l/A7JKK+xcheuEUE81Z+dOahz4uh/VIDUFM/J+zbiKUCcCAhiZutbBqcJW48NHtJJ300F4PcPkH6+ie10Z/kqXxghAtcZ+1UK5hUoDtoTvCFom88IlThjhIfSB/pIqiTnJJTEOZ3Bk47BVi1Jar1WLzbTu4RBID8rXzdDXQRliNbUwHzGnlUxBlOmkCJrQqLR0/9SPvCZiJ5X9GXnSwaQ5Tayz/y8nIiTtWYpIbCwCIdHb7o0i+VSrfhzPyEq2Eq3fjTsu27xN/Oza2BZ1gyKdd17tOrhngjTQTnv73q2Nm9azg38Q8gvkmMaz3rwLWGeUVVb2+ohDD76Cxg3JkwL4Mr1ZSW5GHneAfMvTVdq9XD7mUdtRyW4akZ9he19/s1a2is= 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 Thu, Aug 08, 2024 at 04:20:57PM GMT, Liam R. Howlett wrote: > * Lorenzo Stoakes [240808 11:46]: > > On Thu, Aug 08, 2024 at 04:20:26PM GMT, Vlastimil Babka (SUSE) wrote: > > > On 8/5/24 14:13, Lorenzo Stoakes wrote: > > > > Equally use struct vma_merge_struct to abstract parameters for VMA > > > > expansion and shrinking. > > > > > > > > This leads the way to further refactoring and de-duplication by > > > > standardising the interface. > > > > > > > > Signed-off-by: Lorenzo Stoakes > > > > --- > > > > mm/mmap.c | 30 +++++++++++-------- > > > > mm/vma.c | 66 ++++++++++++++++++----------------------- > > > > mm/vma.h | 8 ++--- > > > > tools/testing/vma/vma.c | 18 +++++++++-- > > > > 4 files changed, 65 insertions(+), 57 deletions(-) > > > > > > > > diff --git a/mm/mmap.c b/mm/mmap.c > > > > index 721ced6e37b0..04145347c245 100644 > > > > --- a/mm/mmap.c > > > > +++ b/mm/mmap.c > > > > @@ -1367,7 +1367,6 @@ unsigned long mmap_region(struct file *file, unsigned long addr, > > > > pgoff_t pglen = len >> PAGE_SHIFT; > > > > unsigned long charged = 0; > > > > unsigned long end = addr + len; > > > > - unsigned long merge_start = addr, merge_end = end; > > > > bool writable_file_mapping = false; > > > > int error; > > > > VMA_ITERATOR(vmi, mm, addr); > > > > @@ -1423,28 +1422,26 @@ unsigned long mmap_region(struct file *file, unsigned long addr, > > > > /* Attempt to expand an old mapping */ > > > > /* Check next */ > > > > if (next && next->vm_start == end && can_vma_merge_before(&vmg)) { > > > > - merge_end = next->vm_end; > > > > - vma = next; > > > > + /* We can adjust this as can_vma_merge_after() doesn't touch */ > > > > + vmg.end = next->vm_end; > > > > > > Ugh, ok but wonder how fragile that is. > > > > Yeah you're right this is a bit horrid, I'll find a way to make this less > > brittle. > > > > > > > > > + vma = vmg.vma = next; > > > > vmg.pgoff = next->vm_pgoff - pglen; > > > > - } > > > > > > > > - if (vma) { > > > > + /* We may merge our NULL anon_vma with non-NULL in next. */ > > > > > > Hm now I realize the if (vma) block probably didn't need to be added in > > > patch 2 only to removed here, it could have been part of the if (next && > > > ...) block above already? Which is not that important, but... > > > > You're right, will fix. > > > > > > > > > vmg.anon_vma = vma->anon_vma; > > > > - vmg.uffd_ctx = vma->vm_userfaultfd_ctx; > > > > > > I don't see why it's now ok to remove this line? Was it intended? In patch 2 > > > it made sense to me to add it so the can_vma_merge_after() still has the > > > right ctx for comparing, and this didn't change? > > > > Yeah, yikes, I think I was lost in the maelstrom of considering edge cases, > > and now this is broken for the whole prev vs. next uffd thing. > > > > The fact the mmap stuff is not directly testable is a factor here. > > > > TL;DR: I'll fix this, you're right. > > > > > > > > > } > > > > > > > > /* Check prev */ > > > > if (prev && prev->vm_end == addr && can_vma_merge_after(&vmg)) { > > > > - merge_start = prev->vm_start; > > > > - vma = prev; > > > > + vmg.start = prev->vm_start; > > > > + vma = vmg.vma = prev; > > > > vmg.pgoff = prev->vm_pgoff; > > > > } else if (prev) { > > > > vma_iter_next_range(&vmi); > > > > } > > > > > > > > /* Actually expand, if possible */ > > > > - if (vma && > > > > - !vma_expand(&vmi, vma, merge_start, merge_end, vmg.pgoff, next)) { > > > > + if (vma && !vma_expand(&vmg)) { > > > > khugepaged_enter_vma(vma, vm_flags); > > > > goto expanded; > > > > } > > > > @@ -2359,6 +2356,13 @@ int relocate_vma_down(struct vm_area_struct *vma, unsigned long shift) > > > > VMA_ITERATOR(vmi, mm, new_start); > > > > struct vm_area_struct *next; > > > > struct mmu_gather tlb; > > > > + struct vma_merge_struct vmg = { > > > > + .vmi = &vmi, > > > > + .vma = vma, > > > > + .start = new_start, > > > > + .end = old_end, > > > > + .pgoff = vma->vm_pgoff, > > > > + }; > > > > > > > > BUG_ON(new_start > new_end); > > > > > > > > @@ -2373,7 +2377,7 @@ int relocate_vma_down(struct vm_area_struct *vma, unsigned long shift) > > > > /* > > > > * cover the whole range: [new_start, old_end) > > > > */ > > > > - if (vma_expand(&vmi, vma, new_start, old_end, vma->vm_pgoff, NULL)) > > > > + if (vma_expand(&vmg)) > > > > return -ENOMEM; > > > > > > > > /* > > > > @@ -2406,6 +2410,8 @@ int relocate_vma_down(struct vm_area_struct *vma, unsigned long shift) > > > > tlb_finish_mmu(&tlb); > > > > > > > > vma_prev(&vmi); > > > > + vmg.end = new_end; > > > > + > > > > /* Shrink the vma to just the new range */ > > > > - return vma_shrink(&vmi, vma, new_start, new_end, vma->vm_pgoff); > > > > + return vma_shrink(&vmg); > > > > > > The vma_shrink() doesn't seem to benefit that much from vmg conversion but I > > > guess why not. Maybe this will further change anyway... > > > > > > > No it doesn't, but it's more about being consistent with vma_expand(). We > > maybe want to find a way to unite them possibly. > > No, we probably should not unite them - the shrink happens in a single > place on setup. > Ack will in that case un-vmg vma_shrink().