From patchwork Mon Jun 12 20:39:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13277303 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 05643C88CB5 for ; Mon, 12 Jun 2023 20:40:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B28566B0075; Mon, 12 Jun 2023 16:40:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AD78D8E0003; Mon, 12 Jun 2023 16:40:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8B5176B007B; Mon, 12 Jun 2023 16:40:23 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 7DE4C6B0075 for ; Mon, 12 Jun 2023 16:40:23 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 4D2B340349 for ; Mon, 12 Jun 2023 20:40:23 +0000 (UTC) X-FDA: 80895263526.07.DA7BD88 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf17.hostedemail.com (Postfix) with ESMTP id DEF544000F for ; Mon, 12 Jun 2023 20:40:19 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=25FVTHF0; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=SgYB3fXO; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf17.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686602420; 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:in-reply-to:references:references:dkim-signature; bh=hNNPNCDvHhDl4WRLh9/7Z8qWAAWKO6ttK4dq+KZRwuk=; b=Hc/3qGTF3R6GnhRWwnBRlmIwhzSiLPE1ilA1wUVwE0lZS2JzaSiPLDJ5uk86lB3pG+hRLZ OZnTQLJiRlbPXsqQV/cX8q9MJFh0Kuli+VbM8uRgAeRKBiPNsT+9aj58RyTyRoYyIsguQM XwwDBiURHvO7djyNWzt2rbUU5QgXXZY= ARC-Authentication-Results: i=2; imf17.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=25FVTHF0; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=SgYB3fXO; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf17.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1686602420; a=rsa-sha256; cv=pass; b=l/76lEa8Do2KSNSwzCbecB4JJFP+IJ2Cp6PF8Jizjd7O7/ZvLvjMGgtY8lXS2Zy8aR4NYm FTxEGzzPxY2wz34scK935XDWInFEK4+DP/zc4g+mV3Z9DhnRubgbDclv347bJXZwUWWfx7 whKj5fhGa8+PRRCOIG0dfzi5Y6BK3fY= Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 35CKNtS2031433; Mon, 12 Jun 2023 20:40:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=hNNPNCDvHhDl4WRLh9/7Z8qWAAWKO6ttK4dq+KZRwuk=; b=25FVTHF01gH8hjwRuYG87MO46BLLpBKYxc51DG3Ftx2qPPIrpe311Z80TlvkyHFq/9sI /W+87pON0u4FM19l3vA204aMjC1Qnvp/graQo7T2rQgMAtJmJ5nG1QgxXS3AGCEVMyGI Y1JhBeE2ZQ0uu/DOuzwqma5lOJUiUkDq6JFYVmxJ1+Pnh4jb6RW4190jcy6vM3dSUsHD Rw7nZER9xAD3lQqi93bsn00CG1V3MDZI2BUj7kT8X8pqUaxvGp2SKqQtU5IvU2L8BA1d hy2pDPV6L4eHBDne52tvGU0IAXKcCfcdg9tMxru8PZDoFOqnnsBwLK8qRDcePLgab9Hm DQ== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3r4gstusxb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:04 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 35CKTjNK014117; Mon, 12 Jun 2023 20:40:04 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2172.outbound.protection.outlook.com [104.47.56.172]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3r4fm314tj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:03 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=f7ageyaz0Ytokt1HEDIUzAA0w9oXl3sadA1PAbGpliOIuLQ/6L+REioMdcPBcEC+ysN3crr8mBhABSa0l44EurUocl7O9vva4EoJnPZqPehXDqrmIfUftmBHjtPkhIeJuInsZ23dThiqfj7bpoCBth0veZEEVCbZ2Z1uasKV7IoxYGwGjSDymbR49w6K8HyPwvDRdk8+64u3T3Js63g0SJuJ3gJxRDFtoO+wbbLl++RPw7GGEw0gYP4xAgfYOV76MUakHaIiHUIgzRZiCa3GiuWrB8moFBYS5lOpex7Vwlh+XgjsY5XtEwSFbaIWCzlDxLeMIarg6gOh9HBBgUyaPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=hNNPNCDvHhDl4WRLh9/7Z8qWAAWKO6ttK4dq+KZRwuk=; b=nypFSZYdulMFUU24fNQuzHBdpd+nFpxcYd3ySt9ZJXKDMN1faDcR4o8gPqc10styBDcr4dbGPVnaWLMwS0M0sZ0eTB/K23MvXANxEz4PBeiRCdRfgXid6kYcfIDYAWM4qhjhorY1gaqA4vMMSbhZyithWzSIgDBdNFBVOS3s5CpbaGJ4EcYYitQwBr+5f82deN9309CHluj1FBJHUQop1MjY8xDvWK0j9S/oB7gZs7Vt21B0Ag/oKfS8eiaIAvuQMDy2rLF1Uktj2R0Edn8awxcYLbfDweh4VoZxHb2BYj0xrDmhmm+3Tjrzsfw6cSH5P5wJ/fLGbLho2D/8MaZBDA== 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=hNNPNCDvHhDl4WRLh9/7Z8qWAAWKO6ttK4dq+KZRwuk=; b=SgYB3fXOZc+84bcCfcmJKF+qMOfEFcE8zCzoZCyNCt6yaqNTdCm3ayCTEFTyNqDA3JkwWbKWPbsvrGWplmoc8YdSXUzDCVzzHVNq1CDXbZsN4zEtzHHyu7liMr1qXPRWQ7oUoKutZdBybJeOjVVVtMdjEE95MY4TJ16nHoqROCw= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SA0PR10MB6425.namprd10.prod.outlook.com (2603:10b6:806:2c0::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.36; Mon, 12 Jun 2023 20:40:01 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d%7]) with mapi id 15.20.6455.045; Mon, 12 Jun 2023 20:40:01 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Peng Zhang , "Liam R. Howlett" Subject: [PATCH v2 01/16] maple_tree: Add benchmarking for mas_for_each Date: Mon, 12 Jun 2023 16:39:38 -0400 Message-Id: <20230612203953.2093911-2-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230612203953.2093911-1-Liam.Howlett@oracle.com> References: <20230612203953.2093911-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0059.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:111::9) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|SA0PR10MB6425:EE_ X-MS-Office365-Filtering-Correlation-Id: ccbe0029-e4e2-47eb-a0b5-08db6b8531e4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fW9jK6+JCCE9qJGYTivQXROCeKeQtflnBCE8lvNLpr9XW3BrnIPVbSvOnCZatVu4fcHJevKYiu4jbE5omLmog+DQCk2RzfoZ0l0UwPFdj6JFRFtqfAvS/A69lbZZu611J/0AN246s9/jOUY5jS9st20jeKdL23zUVlmllmAU2l4NyJCfR8CR+yG5gTnefCpSIhoRT5DdlEQ4ju+wDYnY/5GWJmUB/7BDgvsFviONT93TGToChs3JGp+0JSAqJTsqkqIEQY21IHcdQw77i2eGC2QvOVBV/0kytfJIgSYaHV02Gzb8gxaYcD6w4E34loCaW+rXXNQFJaEj6GYz+2tEarNc82pS92lpTFkA8ru3Q4FoKPdWQNAmrISfRF2BytD1z3PLOkLxCKlyjJBENgkyeM2uy3iAhtLLNHjlU8eNoqEq03S243xbtrqnv40wzBtayWk5YWuF+ZyS5YiJAhU333VsXdmlCUQ7LRpW2heyQGCtk7Xb9KYVDs8V/K+JgYpffKlGlXPFH0e/I5DVUT+8raxKiK1S64DbiWMEsqMTcqtBHUtmgrVVkQXfGAbx3d1Y X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(136003)(396003)(39860400002)(376002)(366004)(451199021)(6916009)(83380400001)(478600001)(8936002)(8676002)(316002)(66476007)(66946007)(41300700001)(86362001)(4326008)(5660300002)(38100700002)(66556008)(36756003)(6666004)(6486002)(2906002)(54906003)(6512007)(107886003)(186003)(26005)(1076003)(6506007)(2616005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: PK24/H/bH4sp6g0lnYi8T04v+p9CYODDF4XNdnG2XAzUhWrQnaRXfEvbWvvwVvx7E0bkH9J3rCqb0C7exbW9DD2EMygv3HjppwM1y34FAeBMioMVl9wkjM0sCAkaNx9wrNxlyqcPddgqrZs5d8Oo3ma13RB5KFCkGYaeWn/YcAzQhbpY3NrQfYaYwVqJAI4jcCXHgQhg5AhYKeNDbeDIHA86rGcmzY6Oi1yMTJogGqGxQlIjjbVMVYqe1QZWctJfVJvXqfSlakSSjOj2kRK8kUXtbpH0VT6B42QpvOOv0FbwZt0Smb+L3KBh7FBU8/zl4vfGB6t3HGDXgslKqZNQHx+XMZQbyx/sPYeerIj5jKUzkwCbmd5S5YpoKyUpKxDkjFOxVX9elc8Le+crGzHLIa0fEEcJraOMeIedG6OVvL836HzCiw9l+v56R61uR98F2TJ2rhZSyeExcuz36NBPTysVS5ncLw+QzgsF2PhxRNrwLt74WjFk7HXwUomJXOPyl2M1iXMad7ellvSlQxuJBMRvujyZaiY3w37GMVMcCbLkhIhTxmfFng8NAueIQmP/3MzF4lVnzuLRN6EVxj7HSdh9wpwnzlkdMLTGvW2E3gwc32S7JVTP/2IjWcmcZPBbqjSNrX3XkU1a6v/WB/jo/T3gagjrltwIY+XFKXipmhSyQYpycDQ+uwyjw7Xnlw2CF5WGD/z7RY8yt2WTv4b6SoiWgGyzBnlObSywy2X6x+yMWZAxjj5mELlrIUzNj1KAwXXuEVs/h1b6Y0xSx04CcU6wx0eCD2hJVOwioysaffGzMDdQ3fZJMDGZXDNrCmLrdGmzZG7hWzdFJvUY9q6FCmEH0MjhzGCrMinwhdwT8XJ72482qioe15oWkW4lwTmSXV6ZyVg/xb2d2oLwpmXf9CWqJllmsm0SE2pMhYJ3ZUJbbxo0fvhH3jxDzsFD5JX7lTKy4xOmYumQwclzIYo5tsJxc9QJAMEBAOOyvirT0D/yW58pLyNUQ6nSuyCJC1nzMaJNdY2ZyBelzhJiB8RJoi8AtNm4qu2SKp8TuGSA6kPUvBoYncUall3qCjA9g8BjMxvJUozcwt+uos7wm2JPvzjo2Jfg4wFRO51xJ0Xh399O0BDrKckuXIrOL1qxDoJo1hPbygQRuTC3nV9xdFyCqUp9DgT/s+vNjPzS7A9jk2Q7RIqqSFoYn0vZjxMEOtMY2Wt1BlLkcBuaNj8Jbls2QAb0z/7o90qxYalsmrqU7PF+hrgAkYeGlcHTvuVhbI1Yzv8WcB2PIy5bAZySkloq1eBE1fYgZKco7jTB+hbovlZBde7tWs4gPVDmD4UXAG50UCRVt+6i8COdnmPNIOVVW8rjXUZrVbrjplm2Ls88qbEj8lIHhRZCm1wqjEhjT8QrNZQcKYUq8dklBh/Hbdb2qTorBYWICB7Npwe0Tnt+ronR3hqkT8rABLxU3fyBaH0ei2ZkCKZeHU9E6vwJoNC8EdQLUVNBC3FweTTgwSC6GdTdDKl7neA0C5ouPMe9KiA7SX9/kT0Ph4LTjOK79x7MfvwlmbetrUOY4cgbIPeoZ6DBNqSA+nM74oZqElWWFapJ6BRHjlKkifiyEmrtYAH8tQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: K3jREBT0wMYXRrQH6DzUPIZJu1ACqaHkoRAYjmoEpR4GFkUGek/bcbVdF4q+g1sbVpnBm5wa9v7MZVG6cKkZlYg+Ok6fjhG+bzqpXQnEcV0VRlsYuj0KtPQyI0/io8/s37dBtbValX/4BSz40Il+hFOKGjgsun7PbQF1o2OjHimndmMZ7sCSO1p2ytBAevDdAi8TzF0Bd2enu4SzmlrlUPalTjm+lSgSD3Nhd4+1S48acIVQ3faAqLxzesVpP87UX729jPVAZPbbfGSzUk6MwCnJpnOFtEhBvQN8fQLDZdpXObFvOLSkbKZQPBwSp0sADYSvVZKh6Wly0qY9zjxfSj9cl7s2Sb08AHW1OtpAWrxMAha1pHfF63gCVtrnHHY9B/h4B83Opl5e0e/DMFPInEr/+mtLVWhlZ3BKpQM/K/95Gx+VLdVL5gTmF31PPjUBcabEHAEJQslXJ049nFiUvkTxCe9/8aSPqxM6lMHVHvvQGCXm+x10E4yiADUCrkIfAlvYVDoIXj6eu3GpO6j3RvKLtarnFykcUGxZSLN1tjj2BOdpDDctjMwN1pFleEVndZmUZaKYdumBcvGMfXWpUwbo9yGdnRUIQ7qPwK2/EjG7WMZpQhTDQOwywTmTa8uUBffo5s6LmDaNYRNw1Q7xsUWbeKBF9M/8feeWPr3WmRdz1I9/++y9eMdhr9+u1dMi2YiX4c+9v9pbU3sIyxzmOM80gzcDl41Sd3cD8sVGML5bIemJtT7lBgTQ/9VTtVplqUf53ajbf+pzN31dEvtO1jbU85TeY9U3e1nKRouH6ztHaYivY9uAOpiLcKeuntJSWd0TxoPj/2bm6GgRgIpp8lWQQ9DhJCAvxqmtBQGRln0Vf6NDIk9BoiBCuMWC7+E8qkS1nJb20RdCqNoWY/MGMDwTy4vIPP7HoJj9DG0rZbfr50u5sHKIihxYDvbdpjS/ X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ccbe0029-e4e2-47eb-a0b5-08db6b8531e4 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2023 20:40:01.6074 (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: rcgMFxXNmcwNsU0/9zCTs/vzfM2zVBGf5qnHZO2izEGjlxBUnrt5TxjlRA88+ggyMKf5wnEUQOFxIc5f9g5Stw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR10MB6425 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.176.26 definitions=2023-06-12_15,2023-06-12_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 suspectscore=0 mlxscore=0 adultscore=0 spamscore=0 phishscore=0 bulkscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306120176 X-Proofpoint-GUID: bfNJLouZY3-BwEbTzzdisdQZgRFu3f59 X-Proofpoint-ORIG-GUID: bfNJLouZY3-BwEbTzzdisdQZgRFu3f59 X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: DEF544000F X-Stat-Signature: 1m9rcjbsqti3y9etwwkhzr4a3g7kxepd X-HE-Tag: 1686602419-206780 X-HE-Meta: U2FsdGVkX1/b5G+MZ5iyQv2i7GcpW12iw6dqBkEIERhFNmYWQKCwzdiSjdaEbyphRCbNb1tMDVTNp3E+2pz9Rk3VLupenhVqeWLL7F8w/2ZRonTcPS7VPBQo3BRMnnTL01kBcm9GO5+4EbCRGMgIuC62KEHJw+ro/dj/4bK/BUGNF5iebCDyhE8gefVNGlrurcxUvSR2xIk7OtrFBBPeh4vwISD/EH9TpYjGYBut4llzbY1MKZ3VCF5HOnAMXdGyV88zr+sFagOizIhRrqcFcldjgShytRpb/dw31ttE7ZfSwuinLHdxuYLofSQ4euo+U8FOPKXJ2so4OWMpBVJ2eD5E3Nv8FyjXxPdWUt1W2afmLTNpcGK4pIL1HoyjCOdB14hN9Xn5HWRFGorarTPpIPEEVGwcR8KXarMXAq2+7JUHMJNphyaFob5sn/SPDmEGW2kV4EbHTOrLofDwPLBA/txaQLZNRkH6bDX2IAPSlfNihVBAVRHM8qh/eJsxaDfWIlVTQokd8yc2BIHLogzrbaFBynh3NCxqFsnqlDf3WswMa3cO9wyn76DzwmqtqXjC/LDK0fsLZepLjRrHo71CIchylsXMlOJsz4mPnls5S/USLC0C4tTLpbuwS40f5gV+GShcC9P6DGmqAkcqow8XDdg0ylz6R7Rr0fmaBWqMlMqwV8mjgXdSLVA4gOtQ9MhRHPb4S7CGICMZBQFP3vVG88kkF5ag0QPnQscV7ZbhqAlXrjqHcXAaBZWieibuH4w5nNjiZcG3jlPm2JCk5+bVXkSDAjAw9JLIgDU5hccC8XZ3xN2oF5xkIYMi0hsYyEzzVdBBEtnUicm51uMfD/yzA1pXENghZefsDGD2JKkTzzIrmYYAwCF94hQrP+er8DXzlASU8kkQ+Xzb/ZF9nGhfW0kyamCJ7KwdC20/M9BN+80lxPfHIT+2PpBhKF288Ti/3OwnlFKTwqPVQ9icLTn s9PbMQ7N 7TbpFJ0XsRB2as9WWZFWWwJfAJP4BlvR5G4qKtmp/cb2EN7qJ2P4htSw57Q51iRVCKNjuWv0X4pYpwnJj91ZUokQA1BJjXSZ2NJ+LFmYZLv/731YcSMm8ny94bL9MefnTVOm+X7/d0UxPvd8fTQW8v6g12onOHfSxG1YRUXdpkSgKy+zBb5uGVdAnLZA7B6Zkz+i2+VEkyxCOzSySjMOojFo5UpI4jNgsCSMC2aP/K1wZuVzsNhS8K/aWHDEOYQZXZ9OWUjgFx6UHEIAIdcSHPXQtZ3koXYCQ2i0VD1uciRzFgdNEHJuY/NsEu7ZcloS1r0A0FvxYaTlZAuW8ELGTXbvlBEYYkM/ylE1kM7Wg1FJl33oUaPQczLHnOWj2T49kaZPltB43rqo6GhtRX8Zuwvy7b72iMOOH/S3riFuJOpv1Jww= 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: Add a way to test the speed of mas_for_each() to the testing code. Signed-off-by: Liam R. Howlett --- lib/test_maple_tree.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/lib/test_maple_tree.c b/lib/test_maple_tree.c index 9939be34e516..3dbf99c3f2b1 100644 --- a/lib/test_maple_tree.c +++ b/lib/test_maple_tree.c @@ -44,6 +44,7 @@ atomic_t maple_tree_tests_passed; /* #define BENCH_WALK */ /* #define BENCH_MT_FOR_EACH */ /* #define BENCH_FORK */ +/* #define BENCH_MAS_FOR_EACH */ #ifdef __KERNEL__ #define mt_set_non_kernel(x) do {} while (0) @@ -1705,6 +1706,36 @@ static noinline void __init bench_mt_for_each(struct maple_tree *mt) } #endif +#if defined(BENCH_MAS_FOR_EACH) +static noinline void __init bench_mas_for_each(struct maple_tree *mt) +{ + int i, count = 1000000; + unsigned long max = 2500; + void *entry; + MA_STATE(mas, mt, 0, 0); + + for (i = 0; i < max; i += 5) { + int gap = 4; + if (i % 30 == 0) + gap = 3; + mtree_store_range(mt, i, i + gap, xa_mk_value(i), GFP_KERNEL); + } + + rcu_read_lock(); + for (i = 0; i < count; i++) { + unsigned long j = 0; + + mas_for_each(&mas, entry, max) { + MT_BUG_ON(mt, entry != xa_mk_value(j)); + j += 5; + } + mas_set(&mas, 0); + } + rcu_read_unlock(); + +} +#endif + /* check_forking - simulate the kernel forking sequence with the tree. */ static noinline void __init check_forking(struct maple_tree *mt) { @@ -3430,6 +3461,13 @@ static int __init maple_tree_seed(void) mtree_destroy(&tree); goto skip; #endif +#if defined(BENCH_MAS_FOR_EACH) +#define BENCH + mt_init_flags(&tree, MT_FLAGS_ALLOC_RANGE); + bench_mas_for_each(&tree); + mtree_destroy(&tree); + goto skip; +#endif mt_init_flags(&tree, MT_FLAGS_ALLOC_RANGE); check_iteration(&tree); From patchwork Mon Jun 12 20:39:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13277304 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 0C4EFC7EE43 for ; Mon, 12 Jun 2023 20:40:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8E0008E0005; Mon, 12 Jun 2023 16:40:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 88FC48E0003; Mon, 12 Jun 2023 16:40:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 696818E0005; Mon, 12 Jun 2023 16:40:27 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 3EF7C8E0003 for ; Mon, 12 Jun 2023 16:40:27 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 01649140331 for ; Mon, 12 Jun 2023 20:40:26 +0000 (UTC) X-FDA: 80895263694.13.395D8BE Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf23.hostedemail.com (Postfix) with ESMTP id 8158F14001F for ; Mon, 12 Jun 2023 20:40:23 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=h+aqMamu; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=t0iAOtB3; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf23.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686602423; 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:in-reply-to:references:references:dkim-signature; bh=wU14PBuTjC9Yf1nsufmd8IeOziKTsVC4KgDaYYEL8V0=; b=Y++8T0AysnKRBxsdadZ3Ew04PAUfQA/5gUW+i+9lXDj1bUraeMqIS3xIL4I6jF5J5c3uyN 77CbvvlMxqux3nUPORlOYDeRpIaUnoJDShFXkwDwCFQrTgkm9YUlrHTgzK3qRUeklC8o8E LKgR59jUsEM5VkuOG7ifKP3qOCL5TGY= ARC-Authentication-Results: i=2; imf23.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=h+aqMamu; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=t0iAOtB3; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf23.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1686602423; a=rsa-sha256; cv=pass; b=TmJo+QpIsVruxswH7uMzkcnO+RxScBVn1cxT7is1Mt0b5+sGfTK5pCvXfqeSN6Y/8vhZv8 zO5ybqVYpWTm8oYM8oKRSknSP7Tq00MCxMVakw5AKcKApIlQBJExpNE6l9fsRg9Y7OXuzx jjxKNMWcQyrqcezV51Bms1vYroM53wI= Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 35CKO4xo029655; Mon, 12 Jun 2023 20:40:08 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=wU14PBuTjC9Yf1nsufmd8IeOziKTsVC4KgDaYYEL8V0=; b=h+aqMamu0m7qGwqXWpAUlzvT2s0oEKa3cBk2dHtqk+8w/RrWxokIbCPrN4OYNBUF8gw6 gOUDsss/oGUMflfpnBU/x53FTDtA3xfKd+8aYAKV0imhuYpWUew92ba1HPJL+MsV+vt9 r8MA3h+wdDlwuSYkg5H1CwSf5TyRjhbw3p5g6Co7OHWRjeMLiFNKSALyqx+vuHRNed30 AcjCd7vRXj16MmqJxRUpX/sfsHN4V0Ln4jwwg1LXNlYEoLfOyQvvkqwAvmhvjx2V6DoN Lmzpb4zXWGbNMuuSXT2PY3YZL+o3FDuD0spr+y3jVzF+LuN5Yb+tsW5gqtkOd48z2ukY rA== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3r4h2akv3s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:08 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 35CIfCEY016225; Mon, 12 Jun 2023 20:40:06 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2170.outbound.protection.outlook.com [104.47.56.170]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3r4fm399k9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:06 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=McgoDsYzjeBX++RmX15mKRQN9mQDWalP+biqNKx6ygMX7C7LgkRDFNqo7kAngDyEiGhC5lk2gswMwo/wio1cTNJQMhVg602szpKUCYn5yecsUywMeEBo+x6HFGVi3f/oGQdLaN9wYP2zZihai9e+CFLWmJObnjODQdCXQJrz9OxNcugyxGM8wkxhCDDwFkQsSh6lujH6n6ZFm/2l727O6a5MGJJLwJjQs35L97sV2SqvhMMGuRp1P2+H46j8T34TC+HR2FLv5S1iPny13fCFW212xDIgYMK1dHr3l3p/xQbcyabOVZ+/BnGGNBzA9Y3XU07ZV3E7A7VjX40FAZjwmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=wU14PBuTjC9Yf1nsufmd8IeOziKTsVC4KgDaYYEL8V0=; b=YE2bUyooeQTEgEeNcpUQXQJLDE75quHeCVcGccDimhmb4KySdPi/qxQDjLhL5NAxLcJeXke94TEyxXGeTj62QaZwiEX+4+1be3xNrrrTaL54RQw24Og//Es42tdQInL8WN8QkBaq5xO3JggO3o5mNGctwWRgId3LHTbBT2poIZM+79XwuxwHUzQRkQ4LCVvRideW2BEwR81IW1RAtcsVwgWSCT9a7xy9lb5sSy2tnssrVqNWYvs+VtadrzuOZceUiHap4h9vKWYS7/Z0SqZsdtLI4tT/CE86rvTTnVBP3hdNJch/gf/anLpn5ei+rBDrpfLakl9g3Oe3hnxmvviVlw== 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=wU14PBuTjC9Yf1nsufmd8IeOziKTsVC4KgDaYYEL8V0=; b=t0iAOtB3qDvbcWDFj0yWPpyxd/QhlwRnwcufCjGQKyhyvdVv+kL2gd53SRBnCRBOId6D1ozFH7KfzRTOwr8rBxyfvGZHBIVSqXqfrA7BbEdiXC868iU/fvxwiA8VjT40q9beg7nCI5yX9C90UmNcBiJvVrHyAY1MC8r1NXJnwo4= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SA0PR10MB6425.namprd10.prod.outlook.com (2603:10b6:806:2c0::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.36; Mon, 12 Jun 2023 20:40:04 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d%7]) with mapi id 15.20.6455.045; Mon, 12 Jun 2023 20:40:03 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Peng Zhang , "Liam R. Howlett" Subject: [PATCH v2 02/16] maple_tree: Add benchmarking for mas_prev() Date: Mon, 12 Jun 2023 16:39:39 -0400 Message-Id: <20230612203953.2093911-3-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230612203953.2093911-1-Liam.Howlett@oracle.com> References: <20230612203953.2093911-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0354.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:fc::14) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|SA0PR10MB6425:EE_ X-MS-Office365-Filtering-Correlation-Id: 4ae038b1-4ff5-4c42-b3f1-08db6b853321 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Sp/5XFtegxzNRcoTnPwPSKoizwg1syhPPl1VA2dPtVtbgX3PqyGEs29Ksdh6f/H4OGknkr2G8Uny/c/ebymFk5te3wPWJ9uNB7FzeV4ndZXLeiWiGzRBe+54DgIfw1zwytM7uyifpMnM9qPB3xnQcheCLVUHDLZ2Mxqv0hVbyKpMm5fzBQf+lhMc3/QWwSk4DQ9nPzOIkMJHycXV4auBldCMi7Wq23JtYp8v5Rx7HYK+ehN9g5TKMDPXwUCqBL6V37aTQ15FqhWwBM01jOxhTgKrue1xM1KlPM351Rdjvh3Fj/K01LS/KkvRckhyFzHhl/+IHxxwX5rj0xxZKiXaZjptOmzy6/z1eHMI0eVC2I3zALUfeqLXgzPiTiSRM7eTeRBjc6KKJDBUkZ22eUNpPRnikj2nAcjfZrxDCtWcDQNr0EEfynLSZUHWnMQEhG+9sl+JB3ttbWp6ZOeZwLcXUVfscym7UOQigmWmEdoU/bAuyypa4xD5ZBiQ6HYvtG+jkRD6m0U4+358rBLFxy+YVFp60Fl+t/giDpPhQzl5l66Z62CttcJ7DfM8lAub/n4h X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(136003)(396003)(39860400002)(376002)(366004)(451199021)(6916009)(83380400001)(478600001)(8936002)(8676002)(316002)(66476007)(66946007)(41300700001)(86362001)(4326008)(5660300002)(38100700002)(66556008)(36756003)(6666004)(6486002)(2906002)(54906003)(6512007)(107886003)(186003)(26005)(1076003)(6506007)(2616005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 3RCgeonaRw7dDX9wxKXkrg7iWIv1Zc3E36aAdfzFuGzUvEbXGql+DW/AD8mNn57yB8S8SRWrTdjNOjPOUvle/PKRiel4g0VvD0kN5tx1nUA5FuV37RuAl9Onajnz23WIzsNFCD1k61zTxbuQ/gmvqvRNRjjQqIXO68Bes9XyvGiPBknHEF1xsUXbpaI1x+9LYpc+mylPZ0wFdRg5KPhpbDr2Tp3sVeQ9qTsz+J5UCAzYliF88kBTauLdiIMprSzz9SA2gU9nFtLTYbKWcPm3l68sNB8HYB9cjuD79xs8Tg/P+DKiqQueSHZwKJV+ZqeFd8nDI8PW02dPhFgug7ypEjT4Zh9/VADeFpkzKkHvigOcblR3o4snYbIemv0xfw7Rsgf5LtT83uYl22Gva3Hy5h5Y9h1NhpdQFlOx4HRzspdq71M5NUU3z1jOsmjMxVaMQ7mWj2cDhOS7OAI3rc24kO88eHHxvHGIqm8OIszV4I3VcR/1Q8qbbl9wxjQSvXQej71KuKCG9nAZXahVSfFQdPvQGIq8KzYub7v1NnYq2kjWUPyt1+YeYlBOodL2oC+lMBage+Tskl86oMgZL3JAo6ZOeEQwpM2t2WRQoEeRPDHGFIBVO5hY9jUOi9yXYiluglsJbiTET+NEckbK3ncpnJ377TfNep1vWVtqMFLUWBKqw6DtIql8gJWuGJbJogdiqS8AD9q+EuJodnDIHn0Axz6vqrtTIw5AuCdPmoRDRqoXgDcMAuzyg02bZRnDGnQNlhFg94Cr1ukBMgWXFifjNwcv1FLMqPVFums1ua58LwzITYsPSRLpzuvC15OMGpcGlq0xzgtEJdhdGC5tcBbCLw8b4brp2UBkIvRyQdzZIGR+AgLgufcomvqh3MagmbNFQHSW07FYP9Zf5vlmageXtl9V+HCq0CtoB7vKDg1xmatdwZanRe+xaxmTBXTMPT1dmXDlYNml7ZwYGW5sn8Qra0RhLSZGnAXlVnWDuS/nvV3e617ns0zejYBQZDQ6DtpwXhHSXAzppNkbIaaYhRHThy1uPkY1WjYw1HHB0ZnkzoNBEp8iFqp8cIwy10mmwbe8xflW8k2N0rIaSyafJsQ7CCUtj0XBsPVT2uQs5Ks0jIH77wACz7sCcf85fQ5fSpSdnUvc4RsKwMo7kkncY5dPLzFfTrXJOr81z1VdwN+moEdBt+WKhsGAp6O0T45Sd8a78n4Ynly31rnVC2WBSp2uFSExrzqqi0DeV7dXs89qw0Pbc6gLNL2Z1EDo/G4cogbDGpoqkEsNtl+rise+9aGszO57EpWTDGEYOlSPnA1hLdWJJ8bM+QhzjG2JCOEiY/516BJr7JfuxFTICqxDkYrnLeSeHQOAdDZHYLWUfnpP9kLS7T/uZPosPl83dp04rnbAJXRzUbewrL38a3IdL+yWryN+H+EZi9F5+ox3PxHB2BvxZfP5eSATZ9PvZ95dIR6rQ4AHvkPIoCx7g+bcABtyzqfx7UaPBDi5OXuhxEm1UwEbvHCokZpxLCiw9XysHsV6xvBKTTZ3PlmEr2QrsIwHTKeswT5CDHpkKLIUlBEfxRdICBYNiMGmW5NHVfj3CQjX1cdUBZyBsY2ij3tfT6DJgw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: QRLEXBfGB0vhOyawo92OI2bwTlVWwibfh1Tzyxn5yaob77UF/9eCZqNW9H64mmsmPz6kaXuP0YuFmzYgqEnpTFQDO57hXT8opJYcLJU1rngemRO7wIqMri1uDsXnwQpRaHInRQ++OMZv8EsQ2H5q8SrZbKn4mCmkSEXReyGDulYNMnta5USK7454xVDxLBpWcGpUwEhe6HSHbZgLkGUDxgH+q+MPHfnKyCMaBuvfJD1buHL1qbmwchoUjcthXrBp1sC2kiI4/q7IJb+BkQkydF/OpRqxuuVg2dLTYeulBEpA02UVujjc5cCarfz4sT4LPS7vSZnMT7gcnrmkfYTpWtYQyxdI3aznZujoN/AGyxdaY8s2O2DYfy/Y43szbebkx3cGVbcfgK8zznQEyMXd3BQy0exTmYIbv7Pe0yTznWbmCf8eWCg4P6kFh/DaA0IzP20Dj27E9Btc/ighpNgIsDDLmqAaGpanGBrqw59xcjJ31TeIQn8xjdERQi/MZFGAdGtZd6tO+0i+XgS5Gnl78qiC8SZy+Sb81F7iFfHWZyx3zSkO49abKtl1Jok/b/J9OSLGLB/DiiSOYX6UvYHl+TomhMURJPrHz2h7KD1FaNNMjNua4h1izxynbuPStJtvhVHwBLiz4Jllrm6rFsry10iOoR8hjq3rVBq6B+mTcECVIjxaWs6JGec6LWmtOm6YpbnXQpPwyef1rrzaVkclPo0s1dcVxYyvNUjVXVug8V5NZRUW3XhnpMvy7+bxT7L4/SFy+V/mSalsUzwTKq7s4psykA5PhLg9K6w40L1doI8TfAJc6Qo8WvMglFGJkApMsmGGnZ65prq+jTuFwpC3TK+AkqZsIkFVbY9dMWv0LHpvAMk1BFg8Ve1q5appqCtttHq7X7UdlKiD+xL5tCyCkHsLAV+LEEQ+o32PQyn9u3ylXmPrGwgUzfpEWwhYjium X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4ae038b1-4ff5-4c42-b3f1-08db6b853321 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2023 20:40:03.8925 (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: ox+Q0+Zdm2QO/pUZgOImBn6dBfEYyBoNwYBDyGHFE1+cYjV+OhKfvUV/d/g/qD4iuaWdAVdnmmMhtp2+Ui/UUw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR10MB6425 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.176.26 definitions=2023-06-12_16,2023-06-12_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 bulkscore=0 mlxscore=0 spamscore=0 malwarescore=0 adultscore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306120176 X-Proofpoint-ORIG-GUID: s6Lb2icNYkDxG4qP6CNl4pjZmHmfNJlK X-Proofpoint-GUID: s6Lb2icNYkDxG4qP6CNl4pjZmHmfNJlK X-Rspamd-Queue-Id: 8158F14001F X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: mbi1fgiwh9a9oz4qu73uyzu7omhsnmro X-HE-Tag: 1686602423-418013 X-HE-Meta: U2FsdGVkX18ECbFBdDvORCjCy0VV/2r8E5BBgk1jDi/m7bTNJ4DkM+nA0cMJOL7ZDb2ihyNAVSfX/PFbgHyp5MuNi3sX33AOPzajFNniWB3sxaB15IJz0/zVcnvI5PDDtfETMJAwv6JMvwEbd467edtqo0h7Xh2byOaftIGfUQDINgD7ZbWG9JLzlLe0qtJTEnduos6amd3r2Dp4is+AfurAcs9cIA945TZ/dfIKT7h38Yaz+iPUsdbWQ6y0Y1hWTZz7pZ1B6n+iFWWWECz2JdJeqUdWXsYRbvr+5vGRbObgJRyj2pYeFC2gwAh095o82APgrvD6WJrYlP09som1zgFqgSj/oRhc2eo/ltZvpp1ELaJ4SGZ11/Ih2yD3F3w0v/j2vVJaWk//arcKtiXn+69Rkn8MexgQSgdAFIvtMB4I5ZRSCfsWu8TMytPa4VWh/IHyxEGKlLFi3QEUHNp5sJVeigzd63icp29V1N/1bU/1iP/bbcZ9CCXzkYgPg8d1VBAztIj4iypYJSkIi7NwhcmTXy7TlofExYovimEkqdRXJ8Gk0g3ISdddDCiA0b5npKWHUEZt5awGXYaezRvDzaFBLTHFLtGxrzxY/Z5a9Su1ZGaMTi97gTrQrFSlOviv0oAPZ4//ih9u9+55AfyyxxLGZ2248V3vjsNlru1+0ZQX0fst1HZOt0sV4/Jicc08cHf6/8KE/YhT0lColZ4eWRjUeG9JHLFx9fnnxHN3oIc8TE7BJ6d/GQyELOxS3JCtUzWhAxsLWOjfg8ihBFs1P9Nu7v+FecOudHbbeHiUQuH2AG7Ckt8pUmgB6YkzZPtBEaHF72iMJjB6yvCxUXy6ZtlwP+yNdE8hklSA2eHf1OC5aapqqsh4sgTSsVp/qzQfI1htNN/KmRUSvVSZPI+y75zcOgiFBb0BvPTFuHQQzdKLcpZy6HYEt0KcHW+q/SuzqXUS4LJcIY4lTnQBuGa OZF6dGfx u5k3RTb2w5r644/W9uZWOqpYbD7GaB2/Qpnq7nCgxsCxDvTrOu/hn//EckTKKcvhQDOLXqvkgcHNRxKyP0PY0RIiJSh43hIbeMUSADVt47WS2VbuA0HGVMLra5shyoOg5BWg9ypvLv1V+myeqfDmfZsweXZ55buGWx3826fPO7CDZV1+GCKm9mj+6wVkoeM5hXNpDmnqFG7Qg+7PSo+8JFyzwpczVeSKq0V9wpKWmBc5IyZbtzQhwMoAhE7xt8WtwfyZf8aA6F4N44HLQ54aYU9YJIDcObCmq6ou9phbMs30wtN5n18JCvfuy86KprjLghroPxU4xkTfEG4Hx5qUXNLCQhwAw+5rKhu5yr3oNUMG+Hwf6dxywBV8pJ04U0URmHklAKzVlRy6vLitFouRFY+57DCm8ABBBbp334slbPq3+NA0= 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: Signed-off-by: Liam R. Howlett --- lib/test_maple_tree.c | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/lib/test_maple_tree.c b/lib/test_maple_tree.c index 3dbf99c3f2b1..15d7b7bce7d6 100644 --- a/lib/test_maple_tree.c +++ b/lib/test_maple_tree.c @@ -45,6 +45,7 @@ atomic_t maple_tree_tests_passed; /* #define BENCH_MT_FOR_EACH */ /* #define BENCH_FORK */ /* #define BENCH_MAS_FOR_EACH */ +/* #define BENCH_MAS_PREV */ #ifdef __KERNEL__ #define mt_set_non_kernel(x) do {} while (0) @@ -1735,7 +1736,35 @@ static noinline void __init bench_mas_for_each(struct maple_tree *mt) } #endif +#if defined(BENCH_MAS_PREV) +static noinline void __init bench_mas_prev(struct maple_tree *mt) +{ + int i, count = 1000000; + unsigned long max = 2500; + void *entry; + MA_STATE(mas, mt, 0, 0); + + for (i = 0; i < max; i += 5) { + int gap = 4; + if (i % 30 == 0) + gap = 3; + mtree_store_range(mt, i, i + gap, xa_mk_value(i), GFP_KERNEL); + } + rcu_read_lock(); + for (i = 0; i < count; i++) { + unsigned long j = 2495; + + mas_set(&mas, ULONG_MAX); + while ((entry = mas_prev(&mas, 0)) != NULL) { + MT_BUG_ON(mt, entry != xa_mk_value(j)); + j -= 5; + } + } + rcu_read_unlock(); + +} +#endif /* check_forking - simulate the kernel forking sequence with the tree. */ static noinline void __init check_forking(struct maple_tree *mt) { @@ -3468,6 +3497,13 @@ static int __init maple_tree_seed(void) mtree_destroy(&tree); goto skip; #endif +#if defined(BENCH_MAS_PREV) +#define BENCH + mt_init_flags(&tree, MT_FLAGS_ALLOC_RANGE); + bench_mas_prev(&tree); + mtree_destroy(&tree); + goto skip; +#endif mt_init_flags(&tree, MT_FLAGS_ALLOC_RANGE); check_iteration(&tree); From patchwork Mon Jun 12 20:39:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13277302 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 28AF6C88CB2 for ; Mon, 12 Jun 2023 20:40:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7A45F6B0074; Mon, 12 Jun 2023 16:40:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 733C38E0005; Mon, 12 Jun 2023 16:40:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4487C6B0078; Mon, 12 Jun 2023 16:40:23 -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 2CBC56B0075 for ; Mon, 12 Jun 2023 16:40:23 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id F21F44034F for ; Mon, 12 Jun 2023 20:40:22 +0000 (UTC) X-FDA: 80895263484.06.5B201D2 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf25.hostedemail.com (Postfix) with ESMTP id 9ACF8A0008 for ; Mon, 12 Jun 2023 20:40:19 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b="Hm/0dBTN"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=FIjSZuwN; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf25.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686602419; 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:in-reply-to:references:references:dkim-signature; bh=j9omlzefsXQ1zzAnkg/pmDvba27GUm7hHo77v9ASBEM=; b=AeuwaEr1WR4dORGHN+2C4zAyntxycAmX18dsqlJgEgCJLlzWbj/b8cjksA9UnPfq0KXGGV kwQHtkimTMshaMFVSgNMRZmhiyC5WuRFi66WnvQb1D7+OWAFeSBLr6DHLWP8Y+dy8jdMSb E5X6gbEiE4MCjCfKTcXyPgPYWTFDeo4= ARC-Authentication-Results: i=2; imf25.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b="Hm/0dBTN"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=FIjSZuwN; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf25.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1686602419; a=rsa-sha256; cv=pass; b=7oEjOxQODr0U7ZrYYH7Kdsvdg604zSy6sMsNGjbyEqatBD+CHAuKZrDPVXIqLzoWPof7Zb 0umekGt8xUJ6yP+N0v0PJlCVkYUykFpmQuwKrIaLNz3fCtnFM2IEcx/9QGu4bliEgMxPDV HaKIb7CJqddFQ7QSitTm3+8czcJgfNQ= Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 35CKNtBX003133; Mon, 12 Jun 2023 20:40:10 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=j9omlzefsXQ1zzAnkg/pmDvba27GUm7hHo77v9ASBEM=; b=Hm/0dBTNhSW/Z9+Im9O0iNEmy/kQucs6MvuLidubwvJq8dzJeINJoCu4rrQkRvT79pJl rW0BkxcpJMJar9ttaQohbm8dfBeMWx/owu/QOEzlu6MA+x1cILwUF8Zn76jGYk7+QP28 K83OcPGTdSXdh8XamUKDotzskvHyp21BBv02jSfq+YKtAUdsSv1CfD+N2gmkOGz494PA ZwBB1nrP8FHEbjbyjqDFZmhfDpkN7L9x+zRdKsdIUpTPrGPgr1K8/VodeRY9gfoz+Cgr z0iOoKNujvXbLXcQGPcwUhmbngWwpMp6QfdmkuKCnNaBssUSY0TXwDIsw2bwmeJDIfTu gw== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3r4fkdktnm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:10 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 35CJTvUA017793; Mon, 12 Jun 2023 20:40:09 GMT Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam02lp2046.outbound.protection.outlook.com [104.47.51.46]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3r4fm313r5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:09 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=e6Xh9SJIXhrlAfGQF7FG6cW+rH3LxqLDdTMtCSwh1Ms5rj0Rp5gg1cm6jomXQAgxndIHGYn9RbIcUUqsQYbrVV0dNcNJoCFy9Unl6zoiy7yPMKOGM1pOQjwD9gPE2/sM+In2TACOVMB767bYoGUtivTL10lm0DOTnk/sJCzz7WReKieKnxjhOa4LyuW5YWGvhcovuq3j/JRcU3vu784kqhxEiwm4uVMeJ+Lt/EJcR8mezt+5vJkHOVvmHCZpPR66gqtSF6vLkug56KupfNG1ychHP6C5MrQ8worz1J10evi5rbzaW1h1+iuMqZAoG4aUQ+BukpUWmabv6fljWv8U8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=j9omlzefsXQ1zzAnkg/pmDvba27GUm7hHo77v9ASBEM=; b=GCwkWgF8NWQBLmE4TTt/K+VJ2PajnODKJOVIag5cV65c8ZckMbuuFsisG4ih3HDtwM8ivl+kEpwzLmnt3kko+xLPEkz8p0Pikgt5ry03j1kd3WMOmZ0NBwM1KgtNm60uOq+WDn5Bc0tpBRp3S/xcNo5J+37YEmbZE/ty+ja0+w6xYqXWgcvFVrsIOJO/yFFovMXaO0IdbN2Ppon+PiBbqEwGfLqhnqWiU3ARZTYxrq0+x7zVdIOKbqO9PamwkNgGpP13y3wrBUIk/j0TYQHViWodL0Jife1eFUnaB799HKsOn9Ovl+Lbw83OPQXT4eyWcfgkxweODNzylkhtgPO5GQ== 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=j9omlzefsXQ1zzAnkg/pmDvba27GUm7hHo77v9ASBEM=; b=FIjSZuwNsZ6ZudTWlM9lw7UEsVVIgnu17WNh3tSwiqFhnGkKbDtgzWeHReoiwFL5d43PYeqKzWd3r57pWRmq9MdVeDcbqbfqzGGw1Ao+G2EoKK4SIKJe2zrW9jiQNCOJ/1r6oyLCpwCWttoUnia7znKd54rq9P1sXVKvmEgqA84= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SA1PR10MB5868.namprd10.prod.outlook.com (2603:10b6:806:22b::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.44; Mon, 12 Jun 2023 20:40:06 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d%7]) with mapi id 15.20.6455.045; Mon, 12 Jun 2023 20:40:06 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Peng Zhang , "Liam R. Howlett" Subject: [PATCH v2 03/16] mm: Move unmap_vmas() declaration to internal header Date: Mon, 12 Jun 2023 16:39:40 -0400 Message-Id: <20230612203953.2093911-4-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230612203953.2093911-1-Liam.Howlett@oracle.com> References: <20230612203953.2093911-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4P288CA0084.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:d0::18) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|SA1PR10MB5868:EE_ X-MS-Office365-Filtering-Correlation-Id: 2acfcaa3-5965-45e6-4a95-08db6b8534c5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: yVEUUe8xAgmWcUVHfjMeHMZuWzMIzKrh+q6nlUSsTkRpp/AkwFFwzYsSExmOMRp3t1xii7ixMBXGKO1rEoPzQSdFmtujSYxmJ+ZI2qUwbFKzqPtW3h+Crh9eOA5RYXKhoU1JTQ5j1gO3EKJoEtVdlw8DnDJc0/PhuvyV9GctBWJ7zbZaDfSpdPkAp2X2tKJta7Kv3ZPEOGfYdI26QE6r8vRlCw6LyhSLYxg00JOZM0Uge4pEg+H1JDAUeH0pwnPd2A5VPJRgiSj02+oJ4niBP/t+7rQTGbfU0qaHQL70J53eTXwDu0c7xbiX8M1gTNv9UfRIBDi0ZCjV5prpqJ3iNRXm/oTN54g6G61nxfkn0M2R+w3KNO01NC74wEdaJHOGPKmKffNrCqtRLnNSoqpLmeMTf3L7YBarkAZ71lUOV9IwzHG6ua8eZGU5higzy0uWo1YLA0MUx+2D/Z6l25zG7gkdi/fDOBvCVwOizV5pqppuPP0tkOLFR3h10ky8oPvBezmHbep++O2jz2RqfaXnERBJ3SiKp9OkzSmyig7I7SF4lfCkve/asXBrYrIzPib2 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(346002)(39860400002)(136003)(396003)(376002)(451199021)(8936002)(8676002)(5660300002)(4326008)(6916009)(66946007)(66476007)(66556008)(316002)(54906003)(2906002)(41300700001)(6666004)(478600001)(6486002)(6506007)(26005)(1076003)(107886003)(6512007)(83380400001)(186003)(36756003)(2616005)(86362001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Bjg+OQ6C7HF2X/e9bJ0Cd17PF4Aio98JxVBibXXB61awrC9SCzpIaZEBoxnKQC1ZTO51E1t+bVlIHXzKh2edRatoYB36GoZUOhrQ5+dtz9he7HspCfDJ/7x6euVQTlR7cGJDlD7W8jzP1844WlWMo6b6rob9KIXUhWRPIxvh4sh/yVbK2qNhzhZAMolfYztnCZ+nu3o3aqpnL2+cvkS1H+3+qc30qqOYJTJFNGIfx2ulBDUQ5YhkV5fEqm4+wE9QzecMhk7AcZk2EOtRy49dGsnrFds9v2SMaj/CGXpdlv9PkI5UQ+1PzQKp6yyFjbzEjBPA5tD4PJnvdbMLLpSYjD+zHbpJAdE1UUUQIPHe/UqVMe7fTsqG5aL0/L1qvkoQ1aXwvGOf4fADps26qFDqxVw78BjXObM26knGz6VWqXaz0PTVhdQztWZ0Tt3NAsHxwdtnWlxIsEdCKNrSGWM7IHE0G8v+BjiUWEJ0hU+H0oCc56iqI/HFJmKPns1mq5I5bf6DkAS9Vkbg0ZcOUN3juE+XoD2psFJSDryPdMjFo/VC6ObLqJ08dpNcnsN9ctNMHO/HeCjgmIzLDRpAuOrz10yGKToHXqGaKo5R2mCybQ+cPQ1xn8infl2Ntci1ToYgNf56oQVlvETC+eusbDk1I+YehFbAQ7MJSH3KsvNj9DAm+pIE8yhzhVdtaOJirsNsKXNyMFO0PiUp5dZJUaAmEhWitPU63B6PqfY5Xy3LCioHrqn1uNgT4CnLeHNn/2T/zwCxZ9j+bguSFFK91kwwJJdzEjhvVVIbO+Lxep780kCI1WpbPvSFRkNIFPnRfCnN925jSALbHTKGRDbcbh5muzmwy8jlkD5M5RSyI1OFfldt7YfSifk6WKk5Uc4UU/gy10TgxFH47oIyqrh4IecBn7m6FA537wAydqXG2SizS/k/BhYUJ2hXEOM4XrVJpMDUN9KL6AEGFpRwczbNGt7BU7NWY5YEzLqbaa3AttsBh2R01CcMjkSIygA3JkBKgET5rm7gjYteK7/5A5H113SoQVKmEIWaUfe+G0iFYhabA7kXReYL62ZbQCtFBCUmOHnFB10N6nu7tQhyhWuGT032OnLFGqZ3A+OBSy4wjLu4Atf62ZxqB0PIjTjDN5Ps+4jsggud60qgbIfIHttLPe1uf4iTk1AJ9LXlRPpXdVJs4dygjjfUch+PtgTmKx93tj4Zufrwve7lghc+CsZ0KFUig51sj5NjfSihOP4PM4XX6CUTyovRT3lIQIJhDBr3F2RAr29s6M78yN6RO4F6E5jWQ0opMKCpE8E6cwqElje5VrQoqN533B8zXUENObOKfQWiZ2e83CpJt+yY75S53mxzSVD8/rmmsKB2Fe8jtM1Ra/7e7FzvoK+nhFwsnAERv7WJAAQ/19JKem3uew71ezCeBiO9ZzL2CS88XQ/DIT3+7DJomy/ADNWqRc9zntYH8/RP5pqbuZSLru6JgJ5i3IE1CkwGjQuWp4HoE6ALyvdotP0A8Tm72r0+SVZEt14nENxrBMUzgQh1APa2Eh2lbbe29PCqWZHML2r7udpi3XAl3x58ZC4irdkXCdtcgShp3U7cLbCyjb4yD09/xH71hr4OVw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: IOBZMygSHc4V3pGeQLovYjDYNXpAufzO1Hrr+7SbuD8va4CV822551fQV0RjQgTPgjG0uS89cmiQU1dZN7UUCV2wp3IjE2cXjJKqOsxzyuO+BBd/Vs5lms3YP/4gWlC4bQWEUsd7dMvv3TD3oaVwfyBmxRiJGZPmsomm6MgynkrVWYVqqDHcfGI3esssbRYIYY9E0+Vu7dzdTC3WoayUAZEPbj9EOVDqR7CcCjCjPHqdjyVH2TfHYWl2L1vza9ko7Vo6q0+3PA12ANb2eU1eJWQXaEycMkxs9IoGxgX16Dht5voINR8FaiJNwEZdDB3PDToT/SirvhyWQ1JLbDhXJDlNs12foKnPCMpaK+MEKNe5hHjXsKDEN2EuIFDZfMpit9wOV0CHRRw0o5oWutJu4ZHvF1QxVDKkwfiqLV54KesPfIgm7lXkfgnI9lM83IBJcluJ/WL0XzNuau+UXje6GesoznGIS160InjZc4n48rn7cC/gXqrD49Q1au2miVshJn7vCYO1qiXulN7VQmQZQBlKKJ3iMkanA8jJCV+1zuZa6/PIIXIS5C+B29CjjiCXoOu+gLmpVvKqU/MMCUD//Owoxdwjl+eIyvtKJmNG3rXQf7VTp+bfRmwpvefymKFfOz4wfKKAw6oPsWY40DO9azHDEcv2Ed4GZB8/vtGY9AXz4ZmwRM8+1Nl4qarCdQIVUrs2q/ADUzlTlckECFb0iCXU4lQXOmEpoHrGpqR2ah3/tGXDRJhW20AN8b6leMzw1yvb6eeo0ZDiC1BaMuFO3KJBgJntfOl1sfulbqJm/GWMU53sDEtNhSFaziuF7vi1N4ZuBPPs81SycAU29qjlrV1pkyj++0m6lksXVqT0vMQx8w8Cdj3X22tcgGBtm/u+OSK2t+M2ZTpfCQdGWFHks/8e1w3bkxwRs7mYyjIFnC+5ElJ2M92jnYogJ/wxIAcG X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2acfcaa3-5965-45e6-4a95-08db6b8534c5 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2023 20:40:06.4200 (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: qnQp3eFDfZW1cV3sWc/iCFxbxrj9IEN7idm1q1GEBnif/8LUt7TVGPUBxDbrydvmuadI34tH0PNEzi14Jx8izw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB5868 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.176.26 definitions=2023-06-12_16,2023-06-12_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 malwarescore=0 suspectscore=0 mlxlogscore=999 mlxscore=0 phishscore=0 spamscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306120176 X-Proofpoint-ORIG-GUID: WaXItoCbJqspkI3w7aozadhHoYiHMjdT X-Proofpoint-GUID: WaXItoCbJqspkI3w7aozadhHoYiHMjdT X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 9ACF8A0008 X-Stat-Signature: 56uyr8iotb5aekzsypnaxwwokbu4teih X-Rspam-User: X-HE-Tag: 1686602419-926804 X-HE-Meta: U2FsdGVkX1/EAJRUaYkInGf9RFWdvQZPxFgAvStHIN2xZeU+VZ2xp+dS5HJysgVPoRgSAvjlN12DnJ9iqpzdf1wf9sXGicqWGrXHFyFvbPouc4tlZvCuE1pmpgIcnwQfVVtwZoq8gQF+IDlJ2bXXbkYVTQNkmmNz7+nfBtNFCNIKdjD0hu7wvlTjdirjbfhNonhY9WQ3yPqc3MQYf0Dwt8mo4mfFenycelW9ioKpiG6RuD7YYVKt6u+BATCtrGwTJurmVCFSJnF9YLVYNGF/iICZFTwWhL/48kCiREUiNra/riELFy1/ly7JePH5/Zsf9lB3jpfIBsBiK1pL4EQmbTvCefR26ExQRRHqIeRQEBVU4bFY403R427J7GEtb09VC02z42DWHnvqTjHETuioDfvRhd+8B3zKRYQqHKuIwsybg7KTTvTl6Jx36uXkUsR+karcnqu1kN4eP2ExjCVL97nFQNgr2o9r+wa4u0VRVkGcz4z9DEeXkzDMhhg2SEoJaf9LIlEtEMSi4J6oylsQLz3lLJZgXoLzRwVQv2NjGODkgJsKIrZ9mQ+WQGBx2KjUcwtWiVyOO3gFhsQ8l1ooqtR3kcjDB8By8QRKzzveO8hbWgOPS1gKWBta9u+pQEWysFn6RI/yASpagA7g6vosw14bKqiOqBRoBBAuWy0zhVJAOKUpaWe0EDWsxP8ICNbZDt/XhtVVEfhRlLf7xJnL2MvdOtGZLXzjKRgDWV79x2S6EGavSuSAKTBsVr9RfQVWL+aa5vds36iHLgKImPBFWHVEo9ECU/Pafc73TKERmus9kSq04oVVihQjLDkXNm2AM1/6XTGr2pRTKHCzyNxMZczdG0fLEn44ckkJILlFOo6k2qY0gRBZ7X6ysXDaUPE30hqlHAjR0sfEmiFHC41JEV9/8GEz8ZYspMRB6aAqRveiXC/fRU0THB4SOfp3UpMsgeapnlCgZw/oYVYum4O LXCWsX6t omsLrN8yVV8YPzeMpEN+DeehzBFPacXlSSg130mFKcw8wUgmgmfpDqCaZLI4xt2VygNX1H73B81N+5iSYiDCpgR+Nskj6hKvj74HHnvk8l3WDr0HSW4np5hsuSCCmFTfYbaB1srpkS77SiEmy1aBHhvZmK+5i1Wpx+zCLyWM1RbEAHqhYwEtUlsTklqRgKxQP/ePbxwABO6mob86Q9TxTqM7ZhDuUEId8GERJgPMrsd+qdS03wr2yy21yIHHPQvMhJwC8xCmtpunIZdXLq/zE7RahFT0Z+A4akQRyNd6GU2N/o0azt1yMda3fs+pXq6HGerPsNYgspcIdL8kfeSJVazCCbVW+cGrEVLVfxNBT0loaiUneNDmrIr6V11FMlIyuUQRYLXIv54/FDJ1+vxKxPjGKsQw873t8XylyMkmdu0OeIek= 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: unmap_vmas() is not used outside of the core mm code. Move the definition to mm/internal.h Signed-off-by: Liam R. Howlett --- include/linux/mm.h | 4 ---- mm/internal.h | 4 ++++ 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index 66032f0d515c..209fe13dc8a2 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2302,10 +2302,6 @@ static inline void zap_vma_pages(struct vm_area_struct *vma) zap_page_range_single(vma, vma->vm_start, vma->vm_end - vma->vm_start, NULL); } -void unmap_vmas(struct mmu_gather *tlb, struct maple_tree *mt, - struct vm_area_struct *start_vma, unsigned long start, - unsigned long end, bool mm_wr_locked); - struct mmu_notifier_range; void free_pgd_range(struct mmu_gather *tlb, unsigned long addr, diff --git a/mm/internal.h b/mm/internal.h index f45f5eb4514f..9b665c4e5fc0 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -1099,6 +1099,10 @@ static inline int vma_iter_store_gfp(struct vma_iterator *vmi, return 0; } +void unmap_vmas(struct mmu_gather *tlb, struct maple_tree *mt, + struct vm_area_struct *vma, unsigned long start_addr, + unsigned long end_addr, bool mm_wr_locked); + /* * VMA lock generalization */ From patchwork Mon Jun 12 20:39:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13277305 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 CB357C88CB2 for ; Mon, 12 Jun 2023 20:40:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 50DCB8E0006; Mon, 12 Jun 2023 16:40:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4BF7B8E0003; Mon, 12 Jun 2023 16:40:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3107A8E0006; Mon, 12 Jun 2023 16:40:32 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 208928E0003 for ; Mon, 12 Jun 2023 16:40:32 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id B1DA116033D for ; Mon, 12 Jun 2023 20:40:31 +0000 (UTC) X-FDA: 80895263862.16.EA50F35 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf06.hostedemail.com (Postfix) with ESMTP id 2D8F5180017 for ; Mon, 12 Jun 2023 20:40:27 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b="Xj1n/67e"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=WBG1jNZE; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf06.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686602428; 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:in-reply-to:references:references:dkim-signature; bh=e9UPiz3pEKMXIuIsvPDaS8Nyli4ACB+wguzwvJ/2XbE=; b=1vi8Uz5R8LyknvXzSbKDZQ5iMoRX65W2LzkUzrl8wykhieQFHgRqc8LhuShKm1x6IVC+xd 9eOb2dfsMbpLNJF6v3/NI1ZoGg6EGRPiAanY8Ic0ljQwfmEmO1QoSnHuODxC/tiZwnTKNF x0v02A6e/k4F2tQlGMjsR+r8u8tGpRc= ARC-Authentication-Results: i=2; imf06.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b="Xj1n/67e"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=WBG1jNZE; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf06.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1686602428; a=rsa-sha256; cv=pass; b=fDP+n63kBT3CRgLqnYs+zBxaWgZWa0nsscx7gq9lo1d7wMHLDpssI+/Q/trqFhUqtSDj+y sGq3/2a28kZ/hoArJwyh5H4cH9vXItlmgwXxbykg3BqkU3sQKZTFj3N6bLAUIkCuNo9CNf G7PMXHBKBe71/Lv/ALg9uFwvn0ULpng= Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 35CKO1a9029054; Mon, 12 Jun 2023 20:40:13 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=e9UPiz3pEKMXIuIsvPDaS8Nyli4ACB+wguzwvJ/2XbE=; b=Xj1n/67ee7v/XwH3hZ90ZbVK3FhQrpbHgAI3vRIWK5jvLyej4vnvR50UvL4sspbYxC00 TX+crmVXqL9cWXrXGSJd2otYNJ/z2YvQlMLx4Nw2mnb3sr6yfpil6AjYth00iVwyMmNu zMGCwNcjD1rf5+b/0GFr2EOZqH6W4AxvbaZPWKrxXW3uBEg6Ik/ZERwEGIofNZbl8mPE RLm0wYV0IqAAzHjIlCMx00ea6TgcfHDvBt/1yCUvQrLZdWhHf2v/ltucDn9+OYoqvtyi z842Xrleu3mF7ZKA2mmD19q54M+wmJ6UJF9RglaecMzHJSckcf3NAi3HERxGQQL1YHFu 1Q== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3r4g3bkxa5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:12 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 35CIeJDX016265; Mon, 12 Jun 2023 20:40:11 GMT Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam02lp2044.outbound.protection.outlook.com [104.47.51.44]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3r4fm399pg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:11 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AjO6ZrgvBQd31QQ8whjqEGk73v0juDHubKVN/1pSZJOu01gryb1nmQeI/K6d64HoCrSgHWZGd6/wpf5BWmOzLLuaw4YNh4AydQITZ50Endz1sCAvGhlB6/EEToWbhoO1S1Y+PgAoiTTb3AspTA9HL1pnXaTtRKy81JRqAA4b40/kMEQkavro+IGi5wm136u4UWHTRGp+uq4FEosJrDTG6Gt5RGfln6hYq9C4yX83bPePIbwGXWoDiWBwcMbAiDtcf9eIoS+5wzFhMow188QL3/rBfijJkHwhIa731PLE9K3euT53ROZaYpvqUQUftttD+KU0b0gC08+0ambEZ1VL6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=e9UPiz3pEKMXIuIsvPDaS8Nyli4ACB+wguzwvJ/2XbE=; b=iuDuf8r0Oj9Oq+zjwiigF/lPE56zD8tRlPouVqeuU+EnLQCgDD3wLqFTtwMRBCTPvlydpgWdddOXsq/ubTPvW9lB4vKFFKNEL9g5WTRLhe6pZDQX6RwB2qZi/G9pBstFN01e9MNrYhowzE5hxPcddEfXSWg40lcMiW71SoW3ixFGiU0nXoVwKRtBNNH+gb62ijSL8EO7jVOb6RCpUESi/5e+IGSHi7k1ZHYhulQouFL/7l8wddFIJA4quML4KBJxMynAtPJzG/8UjM6Xqt0PuDSyZnnS6j9dCeRH9t0gNljvTdwt5jMVOdSmhNzvF/HTN+7lrg9FABOgitlFPqUEWA== 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=e9UPiz3pEKMXIuIsvPDaS8Nyli4ACB+wguzwvJ/2XbE=; b=WBG1jNZErpRfwcQoqGPTW0GX8i1VtcOlP2tn9yoOhUlouiJjk4L+1UwI6b5nF4lxpRqVND3fXr4CiuHu9I8znbxYegRu1DqHYuURB2w8yvzChDYmcJWacJGqsGzaD8x43lzNKDf0vMUjE/znnfFwdnVgqELXx0/Nx2TZWgrQZsc= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SA1PR10MB5868.namprd10.prod.outlook.com (2603:10b6:806:22b::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.44; Mon, 12 Jun 2023 20:40:09 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d%7]) with mapi id 15.20.6455.045; Mon, 12 Jun 2023 20:40:09 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Peng Zhang , "Liam R. Howlett" Subject: [PATCH v2 04/16] mm: Change do_vmi_align_munmap() side tree index Date: Mon, 12 Jun 2023 16:39:41 -0400 Message-Id: <20230612203953.2093911-5-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230612203953.2093911-1-Liam.Howlett@oracle.com> References: <20230612203953.2093911-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0108.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:d7::7) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|SA1PR10MB5868:EE_ X-MS-Office365-Filtering-Correlation-Id: 5c4baec0-ae91-4fd9-1aa9-08db6b853683 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YQH3Ehb7vtadDOYcyTMovH/MdiRMdwbmdtCOnVaTUCmCuesx/8pcOBjkQFD45500e4ME4EeJvyjw3pfyT5LdCmYyTwZ5uI5tGMtRnLSJ+zg4xzPOLz/AaD1cFgLnmLewJHkKnFqIwoOkqynH1zEYAaI9x7jTb7Mfaf1zhunngGWh4ohZ89MT2elu/025j0LpIxGC/LjTO4KCmRBW6RUsJyA4eRdEwrv5NUXZrK1EqqJRpU5K/oyB+hsoyd/LWhlmr3nNmc7rZ+mDvQWsBYp4aCxppHyX5+S2hMdQia68aJUp4zrv8C8AiuGOt1aPaCh8i2GdWeYluf4jo9V3l9oeVDjjp5+ljGmrxMqN6tNB7BZy9jv5Oexyvpq/LtGEAewMC4NaGHd7U411Rh4R5S0P2M6XmZXFeoARD+c8A7jUkdzTn7GJ8PFMYuYVfNGJQ583fNMdl34OyNsHSCur5Q+Zo0t736NuQXxhXafJMZXB2UnOUDZA+fSAi+Ji93CjqoYVBCdYRNuIrvEkDBe0mJxlWS5bh6Tz7gCebp4ubJuxUxx6kQcCBnY1jXjx+Zfadlp4 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(346002)(39860400002)(136003)(396003)(376002)(451199021)(8936002)(8676002)(5660300002)(4326008)(6916009)(66946007)(66476007)(66556008)(316002)(54906003)(2906002)(41300700001)(6666004)(478600001)(6486002)(6506007)(26005)(1076003)(107886003)(6512007)(83380400001)(186003)(36756003)(2616005)(86362001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: va1RbSbVHQ8QF3qKI2l1vhk6m92oClM3YapOLBycpvDAxJNGc4zRTZJJbEv475Jcy+8L6GB6KlP8uVz2uJ/dDZ55AajHc3Qo9u40LBvqWVBfk0z/c5BT9XJ34IhpiIqKHO6QXwmEMk2i390WY4tc9Tw6ZOybR5drQJO/8Yauek4XQdYskje7xLWI9VzYRWiSz2jy2KwYp8uu4+HTuopT9MHMMBlxjzzHfu4yK6Zv6H2aTbGK+Ss/FnQtKhkjSa76hhvW8X1q5zU+3Wlcpk/UcFnIUyIgpiAsx0474rLu/w7b77kx2JKpnrsGEvZuWdgbRx3kjpK1Ne8BHv0t7sQuAnIoETF02BTb0UmPkl2ZuTWP7R44kz/faBNrdPJ0KWVNYlC7auufoCp39v2SyV/r6C8wApYbH6p9JuXHEnPl+b50Rq5L67fyfgTfCPZuiVFnkGV1ldM3TzAxwRAmwCLlRvMUV/Ov1WOm5W4snVWpFjsCq2FMIFpbfOfQVsBYppW5W7q5BawcaNOsk3+/15CYWFA6V7pXJ4dZgJsa+HQS1NaFYn5B36fM9++vEJGVhJs+2k6KRLJbDKKCAzOq8iiUfGkazyV7LQ7ZuE9NjO7+UW/O0bgU3yvVVVQHUjDPVGNGuNTnrAAfcCt5jwpNMWR+ZHGLfpZHy32FUzS6Xvlc/2z3JbXs+OYghRtabK8yHGoFYIwRrr2KPftE47ijyEu+AIP3anK9TrW3y2esxPOvktAy3iW5qFvnXWB41PcA2n+Ck9IcxCuFQc7z7Ih2xHZkxsKoFP7jRTmHt0nvO1d/EpEGT3QSHH3D1eQHai6cW+u3Dqnowp14Nu/DYlvOWUIdBpm9ir7H5q+sey5OPLqr3FPIzsSqlnYaW8+NIV1RErG5tRIu30GzEGAP5s3DprsYkyDsTt37+97Uiu2LqhsuRwKU//STM4qBkujIOr9BTdH8GGejira9jRVCOP6uPPP8R5mx2TXyMjjiU9eb6qWTdH+iS9Y+DhfKBMcqjRSSLPqjManxgywc4RV1PCeEuTs6AMOTG5OnK9Vw4SfjMbzmognibyo4r6o9YSYiQ2+jKG1XtrlTLNdP+dvxPEdqpzFZnLxWayTcmdUzQR+G1ZWMpve3ovyjbN6lnMjjbs4PIgKaLkM7sW9aUkRtt3rjffEzTpe8WxtIKXE1jQcLZfAab/fR5AIuG+M/ucd0KHZdkeTHPnU0SetpIxatxtkZiww0xbCnndP6LZXfZfofCp29QtHQIAW1vOukKySHTm5/4fgjwJ3YT7OZbd7FopocIPpOunZOrnDbvXIPLlm0DVApxYxInXft7tnSMFzFQt4LetVuE3M5z/puSQdc3pq5ruXe43fLe054lHVB2JEzf9MOnGbpTe8psK3ZrSXzhgHI6jm/MkXGuWJcmKgLyz9C1rO6Mp3Q4YiN8/hF7oIpnGqvvROVKboMp65GYHiOEeZ+JAweqyZFI58SsoD0uCIqOQpgqVvxvV0EZ4UMTc1mJ9qWXBd4lK8tpQHfX4UdUGbvLnq0WiLqecaZh/2mCu1ovuL3M/1He2o1ceQIY6h8SjCV2ilD8Wah6v+N4Knx73hY97RGvpANnHzF9Tm4umgILyHmag== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: K05mouawFNO4tQCn/8IPwE120feBDWozmQ4nWa7MqRzZf+yHsOlZjH6iEciWdlXnrlZRgxsjxBrW15gxJ5Ra6VjUbrjtf53OrgxlmAhKUbSdcy/mQdQAAKoOSN+1ixAHrMxbNLmJvAvHzEjUkwmx66+xlAcwzJiT/iSG+9Nj48emQGcN2yRXZDFE3r5C1Y059etM9PZ+Q9dg517nEcRo3QwXJ6/HBdCgRjQ0picbc63XvVrfEAICGDVSgjai2d09UDoHvWm3T9hILtLAYvGT55V1E1nx324IDfRcVYmrgcTHOqA4etdcGRaXyOzye2EOCvgaS8w4Sit8EcPjwpI/zs72hBe2b5Jrvfa42NC9Ew6WZuUqFydtNVYgJ/uXEv0Pk2nIK9/4x9l5PU/O7PUSRC/yYi/ng8o3bmPzT1uwaLC2NyijQYzIJuFKHgmRpZmedZr2RbeGNv2WwKx/7nDZOxMEUepo4csu0HgdIlTP73MJd7ONeqXskKFA2J7sl2CQgzHo+54sVz/ptQ4gLv8EBreK1jkXvmaiJKdNOEzWp9B+buzwQks+037jaKLHljXWmhVR5hULHUwvGhI/qU2P9QEgKkeu/ueXih6sxfERXfRadNntr2UVGj0tOxDDlN0KIBrXId64Vi9RXYsIg1eubuGKYBmMCAFCUDo1SHuoNd1yVorcDVgyNZDsCi0jHw+XhJuahcLcRASoDC3LuEKboOViRH/rBIZ1lRKgxrGyjP+gw6kNBvt1g9b62UejJy6tcSYmb9lmOlegBRaBfDJ4YQRAl2QnrmD8hzEG4MRxJomCM1jeQfvhn8ZjMdou0ltrSwnhNAFjIN/+5WqTf/NSxeTwCzjGChL2vI7gVmJ6xQAf203VgvnuTfGSM/uLPTWZugl9rx0VO5W8WH+KcQpBNwBGSwWtnC1ap7btBnHD8gP6zOsqNPEJM3Bbt4RNHCrS X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5c4baec0-ae91-4fd9-1aa9-08db6b853683 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2023 20:40:09.3831 (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: NcTFGSo8PWSCsG7wKfY5NYm7MrRQxlcy6+8aM+rnzRIsQXajvhuDNmhvf5TicqOOF5mGQkPMyPwoQIYjJT0/Mg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB5868 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.176.26 definitions=2023-06-12_16,2023-06-12_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 bulkscore=0 mlxscore=0 spamscore=0 malwarescore=0 adultscore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306120176 X-Proofpoint-ORIG-GUID: oUOySkaVcwxAB0PYIPSN6hjvFas6u9US X-Proofpoint-GUID: oUOySkaVcwxAB0PYIPSN6hjvFas6u9US X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 2D8F5180017 X-Stat-Signature: np3uwk9y93uz6ygay5hgwqkh5nkedimm X-HE-Tag: 1686602427-299211 X-HE-Meta: U2FsdGVkX18hQ3Nb8FgHoT8deK8q7KlZ/M0jmUre048rxlLsfnb395IHqM1O2tEFadkPWQ/aBX5F26XbifJO/eR/Esd1T+xjBKdxRo948KxQZFgCGKFS1EkREK1Owf2RhIo2SYz3Cn2dtJtffKzE+dFFOJd6jkz4hl15zNh7DyNH6DneGclhsSjHnh+yj+JF9wu7xHUBumy6u9o2dsXFoU5rmlnLjG58zHAFWM0OeAv0ou5ZYV0RIeGhe6OIx8LxXdEVd71x0xTMR3tilJ9Wy1HfQmQw6Bi5M09H913t1x5osyyiinHNJnkRJ7wpyPsQZlASX4QX+wrnPVBgjB2Vvk7wZ9HeRw4isNlpL7yba6pszFfEpLDFlNfmWExu85KsXr08muPNIrD31NTN6rAJT+gbmxrdZV2O4CNuJro9aebe4gnB5Syx6qJrusCo5EamcCcSM2lnzgdFQimlycq5xFdCjJuub0O5YBa0q73OvnxJk7gbWZkJPMDscdQYaXgvHoMoK5Ae3BEB+N1bIT47cW/ulmHN9XW5cPmmNYkaPyz2OCfv1lHMC+vO2gaoA0O10h4hHu4jqUVj7Hi6+l1hG1i92sUYmoRvPxIDVGaO3rid50TieFvjLCha0c+O1m+SWhAf2S3IcgEcGKhlJo+BlxkuItf32Nar1+GlhC8ndq7uG6RFnjTImRVkqFfE4UCU1dtsd+o1w7NPJve8W/TxY6lFGvJ5Q7JRyXCxFvtmk2jd1+GRmhbUWkV4wwN1vH+MA9oJ59qtusOxUeoOovrTEQKuEms6PX1vTPrImnsagm9fxYJI6iEQ8a2w7B+EwRf55dpN6SpuRSYyxRQFxLCEQj//LNEX1Utby661KBqZYAak4Ycvsu+MQ3P+l/q8mxRnxUmODPDBM24tzd+MVsb6ZuOKsEAVkBw+yemVo0JNShu6xcllXe7Oldd3OpmpXr+6OUmOo2Nx9wbAUZGg45u SWdCcAy5 sa+mDa27AYVeHKBMMv8+eusBJbIxzK5nsUoaKkjr5rEmWef9NkTjT9W7NkU+1qTRBYFwvoVojs4Pd7TEecjAewD6/TiFjtbqwQDAQ2o00ufrOtE3z0jmd3brI5VF3u8pV3dlEkHnYB8kl9xjYzTyv/PHD7hE1bDmAtTC7xQAQvop3+oIJrB3HD0SyJzI3LganfYHgnSSHl04HY4sCt3e2V8oii/0abX+WPrvvbfvOrKkRIEFCcWfAImaZUXU+6hYlGpDm1y0G/PSS2yfQOCoBH6FuntgRvPf9S3uxDBrbAvGBK5iJQAM/JDNiLOM8ZffQkBnxCMp8aQoCe9qCiynQPf1LXWn2Wakl2VFWUgje8kumopyj+dtcLLnAay18eCpT8pTSYURDju19tGNFCLkOlFRgYzLvXjrvBRsMNj6t9EqZWDw= 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: The majority of the calls to munmap a VMA is for a single vma. The maple tree is able to store a single entry at 0, with a size of 1 as a pointer and avoid any allocations. Change do_vmi_align_munmap() to store the VMAs being munmap()'ed into a tree indexed by the count. This will leverage the ability to store the first entry without a node allocation. Storing the entries into a tree by the count and not the vma start and end means changing the functions which iterate over the entries. Update unmap_vmas() and free_pgtables() to take a maple state and a tree end address to support this functionality. Passing through the same maple state to unmap_vmas() and free_pgtables() means the state needs to be reset between calls. This happens in the static unmap_region() and exit_mmap(). Signed-off-by: Liam R. Howlett --- mm/internal.h | 8 ++++---- mm/memory.c | 19 +++++++++---------- mm/mmap.c | 41 ++++++++++++++++++++++++----------------- 3 files changed, 37 insertions(+), 31 deletions(-) diff --git a/mm/internal.h b/mm/internal.h index 9b665c4e5fc0..24437f11d3c2 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -103,7 +103,7 @@ bool __folio_end_writeback(struct folio *folio); void deactivate_file_folio(struct folio *folio); void folio_activate(struct folio *folio); -void free_pgtables(struct mmu_gather *tlb, struct maple_tree *mt, +void free_pgtables(struct mmu_gather *tlb, struct ma_state *mas, struct vm_area_struct *start_vma, unsigned long floor, unsigned long ceiling, bool mm_wr_locked); void pmd_install(struct mm_struct *mm, pmd_t *pmd, pgtable_t *pte); @@ -1099,9 +1099,9 @@ static inline int vma_iter_store_gfp(struct vma_iterator *vmi, return 0; } -void unmap_vmas(struct mmu_gather *tlb, struct maple_tree *mt, - struct vm_area_struct *vma, unsigned long start_addr, - unsigned long end_addr, bool mm_wr_locked); +void unmap_vmas(struct mmu_gather *tlb, struct ma_state *mas, + struct vm_area_struct *start_vma, unsigned long start, + unsigned long end, unsigned long tree_end, bool mm_wr_locked); /* * VMA lock generalization diff --git a/mm/memory.c b/mm/memory.c index 8358f3b853f2..fa343b8dad4b 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -360,12 +360,10 @@ void free_pgd_range(struct mmu_gather *tlb, } while (pgd++, addr = next, addr != end); } -void free_pgtables(struct mmu_gather *tlb, struct maple_tree *mt, +void free_pgtables(struct mmu_gather *tlb, struct ma_state *mas, struct vm_area_struct *vma, unsigned long floor, unsigned long ceiling, bool mm_wr_locked) { - MA_STATE(mas, mt, vma->vm_end, vma->vm_end); - do { unsigned long addr = vma->vm_start; struct vm_area_struct *next; @@ -374,7 +372,7 @@ void free_pgtables(struct mmu_gather *tlb, struct maple_tree *mt, * Note: USER_PGTABLES_CEILING may be passed as ceiling and may * be 0. This will underflow and is okay. */ - next = mas_find(&mas, ceiling - 1); + next = mas_find(mas, ceiling - 1); /* * Hide vma from rmap and truncate_pagecache before freeing @@ -395,7 +393,7 @@ void free_pgtables(struct mmu_gather *tlb, struct maple_tree *mt, while (next && next->vm_start <= vma->vm_end + PMD_SIZE && !is_vm_hugetlb_page(next)) { vma = next; - next = mas_find(&mas, ceiling - 1); + next = mas_find(mas, ceiling - 1); if (mm_wr_locked) vma_start_write(vma); unlink_anon_vmas(vma); @@ -1684,10 +1682,11 @@ static void unmap_single_vma(struct mmu_gather *tlb, /** * unmap_vmas - unmap a range of memory covered by a list of vma's * @tlb: address of the caller's struct mmu_gather - * @mt: the maple tree + * @mas: The maple state * @vma: the starting vma * @start_addr: virtual address at which to start unmapping * @end_addr: virtual address at which to end unmapping + * @tree_end: The end address to search in the maple tree * * Unmap all pages in the vma list. * @@ -1700,9 +1699,10 @@ static void unmap_single_vma(struct mmu_gather *tlb, * ensure that any thus-far unmapped pages are flushed before unmap_vmas() * drops the lock and schedules. */ -void unmap_vmas(struct mmu_gather *tlb, struct maple_tree *mt, +void unmap_vmas(struct mmu_gather *tlb, struct ma_state *mas, struct vm_area_struct *vma, unsigned long start_addr, - unsigned long end_addr, bool mm_wr_locked) + unsigned long end_addr, unsigned long tree_end, + bool mm_wr_locked) { struct mmu_notifier_range range; struct zap_details details = { @@ -1710,7 +1710,6 @@ void unmap_vmas(struct mmu_gather *tlb, struct maple_tree *mt, /* Careful - we need to zap private pages too! */ .even_cows = true, }; - MA_STATE(mas, mt, vma->vm_end, vma->vm_end); mmu_notifier_range_init(&range, MMU_NOTIFY_UNMAP, 0, vma->vm_mm, start_addr, end_addr); @@ -1718,7 +1717,7 @@ void unmap_vmas(struct mmu_gather *tlb, struct maple_tree *mt, do { unmap_single_vma(tlb, vma, start_addr, end_addr, &details, mm_wr_locked); - } while ((vma = mas_find(&mas, end_addr - 1)) != NULL); + } while ((vma = mas_find(mas, tree_end - 1)) != NULL); mmu_notifier_invalidate_range_end(&range); } diff --git a/mm/mmap.c b/mm/mmap.c index 1503a7bdb192..8e5563668b18 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -76,10 +76,10 @@ int mmap_rnd_compat_bits __read_mostly = CONFIG_ARCH_MMAP_RND_COMPAT_BITS; static bool ignore_rlimit_data; core_param(ignore_rlimit_data, ignore_rlimit_data, bool, 0644); -static void unmap_region(struct mm_struct *mm, struct maple_tree *mt, +static void unmap_region(struct mm_struct *mm, struct ma_state *mas, struct vm_area_struct *vma, struct vm_area_struct *prev, struct vm_area_struct *next, unsigned long start, - unsigned long end, bool mm_wr_locked); + unsigned long end, unsigned long tree_end, bool mm_wr_locked); static pgprot_t vm_pgprot_modify(pgprot_t oldprot, unsigned long vm_flags) { @@ -2221,18 +2221,20 @@ static inline void remove_mt(struct mm_struct *mm, struct ma_state *mas) * * Called with the mm semaphore held. */ -static void unmap_region(struct mm_struct *mm, struct maple_tree *mt, +static void unmap_region(struct mm_struct *mm, struct ma_state *mas, struct vm_area_struct *vma, struct vm_area_struct *prev, - struct vm_area_struct *next, - unsigned long start, unsigned long end, bool mm_wr_locked) + struct vm_area_struct *next, unsigned long start, + unsigned long end, unsigned long tree_end, bool mm_wr_locked) { struct mmu_gather tlb; + unsigned long mt_start = mas->index; lru_add_drain(); tlb_gather_mmu(&tlb, mm); update_hiwater_rss(mm); - unmap_vmas(&tlb, mt, vma, start, end, mm_wr_locked); - free_pgtables(&tlb, mt, vma, prev ? prev->vm_end : FIRST_USER_ADDRESS, + unmap_vmas(&tlb, mas, vma, start, end, tree_end, mm_wr_locked); + mas_set(mas, mt_start); + free_pgtables(&tlb, mas, vma, prev ? prev->vm_end : FIRST_USER_ADDRESS, next ? next->vm_start : USER_PGTABLES_CEILING, mm_wr_locked); tlb_finish_mmu(&tlb); @@ -2338,7 +2340,6 @@ static inline int munmap_sidetree(struct vm_area_struct *vma, struct ma_state *mas_detach) { vma_start_write(vma); - mas_set_range(mas_detach, vma->vm_start, vma->vm_end - 1); if (mas_store_gfp(mas_detach, vma, GFP_KERNEL)) return -ENOMEM; @@ -2415,6 +2416,7 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, if (error) goto end_split_failed; } + mas_set(&mas_detach, count); error = munmap_sidetree(next, &mas_detach); if (error) goto munmap_sidetree_failed; @@ -2450,17 +2452,17 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, #if defined(CONFIG_DEBUG_VM_MAPLE_TREE) /* Make sure no VMAs are about to be lost. */ { - MA_STATE(test, &mt_detach, start, end - 1); + MA_STATE(test, &mt_detach, 0, 0); struct vm_area_struct *vma_mas, *vma_test; int test_count = 0; vma_iter_set(vmi, start); rcu_read_lock(); - vma_test = mas_find(&test, end - 1); + vma_test = mas_find(&test, count - 1); for_each_vma_range(*vmi, vma_mas, end) { BUG_ON(vma_mas != vma_test); test_count++; - vma_test = mas_next(&test, end - 1); + vma_test = mas_next(&test, count - 1); } rcu_read_unlock(); BUG_ON(count != test_count); @@ -2490,9 +2492,11 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, * We can free page tables without write-locking mmap_lock because VMAs * were isolated before we downgraded mmap_lock. */ - unmap_region(mm, &mt_detach, vma, prev, next, start, end, !downgrade); + mas_set(&mas_detach, 1); + unmap_region(mm, &mas_detach, vma, prev, next, start, end, count, + !downgrade); /* Statistics and freeing VMAs */ - mas_set(&mas_detach, start); + mas_set(&mas_detach, 0); remove_mt(mm, &mas_detach); __mt_destroy(&mt_detach); @@ -2800,9 +2804,10 @@ unsigned long mmap_region(struct file *file, unsigned long addr, fput(vma->vm_file); vma->vm_file = NULL; + vma_iter_set(&vmi, vma->vm_end); /* Undo any partial mapping done by a device driver. */ - unmap_region(mm, &mm->mm_mt, vma, prev, next, vma->vm_start, - vma->vm_end, true); + unmap_region(mm, &vmi.mas, vma, prev, next, vma->vm_start, + vma->vm_end, vma->vm_end, true); } if (file && (vm_flags & VM_SHARED)) mapping_unmap_writable(file->f_mapping); @@ -3131,7 +3136,7 @@ void exit_mmap(struct mm_struct *mm) tlb_gather_mmu_fullmm(&tlb, mm); /* update_hiwater_rss(mm) here? but nobody should be looking */ /* Use ULONG_MAX here to ensure all VMAs in the mm are unmapped */ - unmap_vmas(&tlb, &mm->mm_mt, vma, 0, ULONG_MAX, false); + unmap_vmas(&tlb, &mas, vma, 0, ULONG_MAX, ULONG_MAX, false); mmap_read_unlock(mm); /* @@ -3141,7 +3146,8 @@ void exit_mmap(struct mm_struct *mm) set_bit(MMF_OOM_SKIP, &mm->flags); mmap_write_lock(mm); mt_clear_in_rcu(&mm->mm_mt); - free_pgtables(&tlb, &mm->mm_mt, vma, FIRST_USER_ADDRESS, + mas_set(&mas, vma->vm_end); + free_pgtables(&tlb, &mas, vma, FIRST_USER_ADDRESS, USER_PGTABLES_CEILING, true); tlb_finish_mmu(&tlb); @@ -3150,6 +3156,7 @@ void exit_mmap(struct mm_struct *mm) * enabled, without holding any MM locks besides the unreachable * mmap_write_lock. */ + mas_set(&mas, vma->vm_end); do { if (vma->vm_flags & VM_ACCOUNT) nr_accounted += vma_pages(vma); From patchwork Mon Jun 12 20:39:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13277326 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 E3DC4C7EE43 for ; Mon, 12 Jun 2023 21:00:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 777B58E0006; Mon, 12 Jun 2023 17:00:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 726C08E0005; Mon, 12 Jun 2023 17:00:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5794E8E0006; Mon, 12 Jun 2023 17:00:10 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 477BC8E0005 for ; Mon, 12 Jun 2023 17:00:10 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id DB089120344 for ; Mon, 12 Jun 2023 21:00:09 +0000 (UTC) X-FDA: 80895313338.24.1268FAD Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf24.hostedemail.com (Postfix) with ESMTP id F194C180006 for ; Mon, 12 Jun 2023 21:00:05 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=YWh9QtKr; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=TSfws7VJ; spf=pass (imf24.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686603606; 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:in-reply-to:references:references:dkim-signature; bh=0xbWsBeaPIGtK6mfcigFaEI5C+wIlDGWBRAKirJxgb4=; b=2HJycEJZevLyV6mFNQCGACiMEtP4fGsM4Ysm75mqFytR1YozqKNaDZpag7F/NlT8aa1AnC TYvHlV3evXNBOkoUA+Bnj9tHUmnY/JHhzEUfUCnIdztNC1OTtrOfyZQfzhEEMyKHvxyyH4 P9BDuNLJ6Hbe1AR8zTOA9sQXGXZ4F9w= ARC-Authentication-Results: i=2; imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=YWh9QtKr; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=TSfws7VJ; spf=pass (imf24.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1686603606; a=rsa-sha256; cv=pass; b=M76jFA1tzYtWMEtV51SwrOwF7jc+51KIciPnr2M/FZfNeHJHfmOYapydapzPMSF04TNxKL 9CCmVrc3vFC/CS33vsNft1M63qhPlDsljHlFWrGqX9iRDi099RLdb03OAcZTVUt3hFZ5nW r4cV/wsWQ6lAc7qIijSsXs+zcW+oKDQ= Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 35CKNuv4031467; Mon, 12 Jun 2023 20:40:14 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=0xbWsBeaPIGtK6mfcigFaEI5C+wIlDGWBRAKirJxgb4=; b=YWh9QtKre8qPF0kIOowyvx9CFrhhgmHxNHGpnZVxya0ddAbbQ9/UZzLYq1LcrhaafMGt ZprWvhn2RqWrkjYUyMYGuCJJJV8eW+FQeofTfqIUzlb/FkWbIThi6HhZgq+zRHs+WYa1 uEQCJzrUyfh3t5/HQf8OahGPppw/hdOwO6LG2wNZYo2KR93W6XzU5z837KTuYq0OVXkf WQlTvdOjLlITiZUiIIHzEre/vn4Vj0cMAR4sTIP7CnHpNwdlh5Z/LV/P7pCo6AUgvakD jhaFIdWMYAyBI/V8InyF9HIx9jHf8yJU/UQ8ACheEEn4l7/l3AXJy/TLfRV0wqKGiZh4 Lg== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3r4gstusxy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:14 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 35CKZi76008325; Mon, 12 Jun 2023 20:40:13 GMT Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam02lp2043.outbound.protection.outlook.com [104.47.51.43]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3r4fm9hddv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:13 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NsXDpD1eLBOO/+idjkgk/aEkoingnUrzztS6QQ8pUW0Evz0pJGjic7mcFFxVmEpKHHSRZMyPzHmzW1aYwFVOl42qjuOTSqK4pyNf2yqg42IWj9cv9QsVwqarO8t7je+lpj3qvQJZB3n+hHqdyWhp5b5AM1uAqewcKoVEKlg4as6XvOuLXkIcGALSEWNmjPAjjYhGrNh31yNVF/esQQIzVVUIUwHFcSauA38Qtv6CRbthF/Nb7Qu7SIhgAf+K1HlXOK1Hto66tXSAFd+3SfnIpCfaF86SY3JwWL6FVS7k8/fmuYei7WWt2lXhErK6zKUyiPAvYQUhCLEWQBHJFy0GMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=0xbWsBeaPIGtK6mfcigFaEI5C+wIlDGWBRAKirJxgb4=; b=HVYIEi3Sf5uyviIpNIoCB2CUNzvxH7uUGr1z4wU2tP1FKNZ6HVkXsLtbvui+tKye5QYOW0AQ/UatQq6pZtbxxIuCJvCm3yYfMFJvefFvvmC6TpzbsOA/xT7ZUbN5IwyWC0hBjlTMwYBLs+qLcPsTOmlVEhcCh6vjMQI1v2ZS8xs3GdoEUh7hR5o/B1LeGEq1J7rDqUx3i/7DMYmCwOsBqyTtpHysemMNtSO2YzLEcCw5veAi1Go3RCpuC/V2sJWVuA2E5b5mwM1WAnRQJ24ecGaZNqEokFlCWMCf0YFdr5Uo60Vq/jIJ+KCpTMIJh0XFDVKM3tkdGn0SCDSiGc920g== 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=0xbWsBeaPIGtK6mfcigFaEI5C+wIlDGWBRAKirJxgb4=; b=TSfws7VJM1KNcwM1INp8hR0FktpXXAGkliu0ZXogjCRBXj/eAMQOPehXCI6fOqugBiUOX5K9tQdnrUM7y3XKHCw84SF43TsBenWrRaFHDdSs824ImIVAGEfOOFwx0TA/+QBNr6CUIDIvkKVYOZJui1uoiBY1XQ+xfJkMLysCAJg= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SA1PR10MB5868.namprd10.prod.outlook.com (2603:10b6:806:22b::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.44; Mon, 12 Jun 2023 20:40:11 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d%7]) with mapi id 15.20.6455.045; Mon, 12 Jun 2023 20:40:11 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Peng Zhang , "Liam R. Howlett" Subject: [PATCH v2 05/16] mm: Remove prev check from do_vmi_align_munmap() Date: Mon, 12 Jun 2023 16:39:42 -0400 Message-Id: <20230612203953.2093911-6-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230612203953.2093911-1-Liam.Howlett@oracle.com> References: <20230612203953.2093911-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0100.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:d7::21) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|SA1PR10MB5868:EE_ X-MS-Office365-Filtering-Correlation-Id: 2f433b13-a517-48c2-50e4-08db6b853805 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NygcBW41Wcss6CtZt3zJ5hH0Q6qZ+sPv4OZtwF0GWOQNh1YTJmFqIVwtHZkxX16gvxXyvkphAZgr/YYHK8II27JkiL289EHix+cIAAiJqn9zCPyx4NOxQQI6lC11xS3xrz4fboBkLs19ycMzLeqX43urnsAl71qZoeCKrqX0cCPyCLKSXkZ7PR7kTukVQdYt3IvqO6/ChLp2gxS2Pw1XREqcL1UhP3U4oLepD4scGMIakRmnpNPOL2CZccXodCFs1y8iljBwr+4amo+fnOQWK/tgswgxXzRE5YsJciZWBpaDSyZ7ZFu6eEFz6wgs84xgPdEXZ64Z0+bQEVd8V/LcmVcUxi8gsN/qN6OIE1a8oN77hA4gjy/+i1t4bUw+BhopHapWKdkp/Jfgvm/J2g5PWDZf2dSnIM4EuRfx3TRsdrVTcIkOe1EZdIEacToxtR8QgGzAFlg8pE8Oo3HGZlOBE7Jtu5v1+VTQgSno+HaReQgM9g++V5bIl2lUkm7n1kRyqlhhjn6sicSXEOmRvyN+0DgyerYOPenDA+FzEUPlSEhwtrMiQlpsquRHXDR182Q/ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(346002)(39860400002)(136003)(396003)(376002)(451199021)(8936002)(8676002)(5660300002)(4326008)(6916009)(66946007)(66476007)(66556008)(316002)(54906003)(2906002)(41300700001)(4744005)(6666004)(478600001)(6486002)(6506007)(26005)(1076003)(107886003)(6512007)(83380400001)(186003)(36756003)(2616005)(86362001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: lPEARgMiYskREwXEaKVyX/5y+Ewj0cq4BjJjoE4X72eKcYy4d+DZHWM259DrZB8U6CqfRpixWgzVrhz2+8FEVeAV8ghTKxWM5e4bwR21iQY3U2Cz7lkePDY/M1lJrJ5hn7+pc2ZydwlIlPze29TkAVepP2nbE1ioRGBhTfqDsdAnzHzgBCV77sPo/0CxLMvzW0xCPSqvzh6vRpnzMFe2ZbbeKuidWTysxgLkYir9bKiRu4dY9VFukdP5999txYKUG77SG3C/qfoMRSjQ/y2p55QMdJs3SDEBWmsHILOWFfSUxivvJuZra+ye8Xb32f5UqBwPmUGkCoDb3GeAL3Zsa01O2k+eQpUXtKzyi8qRqMg2V3gU7hsXcgCqEO+oCckVTMV0koPt0HU3Veb3So4R9V8X6SzIS6nKkTV/rTCILvGijsN5EjEIVvK2eRB8WkKBtDQ1hfHZGo2AZFR2FKxkjz32T+mmsNv+xDMCSbXP8GbTSjIezCA0ZtXAPtEYk+v2lsCi7v12UQgB55dUw9rLmzu2gxDyY9kTKSi4Q8X3/iDzonjQNmx/xyNETkpRNTDVlo1NR8YuBtLwCuDXm/admImtBXKVDLgtOy56OpFDDwI5PuQSgtYhd5Dzf5dODsfOK+7gCF+FmQziFG3fWDFWYvzctVZ9qw7pxlDYQI7r4Fl6jZvIrrPKCjhoPG2pyuO9pCThSfkHaRzyEshb5scHspWS29ZmFosRbOUYRFbtux0O32Ks5liJg6FZstnIVY1yIms0bFJUzoHJ835eEMRTDTXwvdCI2ulNgZMm37sGJ6l2CSm67r+vvXyWTgc218fSix4SU6YdZszBA+2cXh6hMd0k9yagUX3glKqIZL3Nc4gS1nhDwKWVkmrUPxReqeoU8HfWV1z8OWY9KlbibUU43wGeITn76H15izQKW2QStdA3qO6EG3r5CaYEJog8oQmbuwnRio14wfQVwWCzV80x7OD85wjOOrVyvObLmNabwzzFdAoGQRhUKD5q32B3DMPwzhEuGRbu08RYnZAef3NZNkLhElFM78Jk/BfmO8KowJn8NsZvyhiPnKKCWWnfMrH+vu1fA0tkdFJl5RqJ61utbrRliovQWu78EzVIv7LhLWVq6NiO2dB2EJMW5+rWz34j2qoay4rNeWTP+QGu2tQf0eJD3KU3+P/CJb6qSk2qQEFsTE+Xz8QSHAJTp5DB7vUzSqhTh04bN+Hb70IpfwBB16EnzpYDczHv2udxLkGEHNvASCE19LtQKttYJ9JPa1r9qyQE9fWt0N5TpCC3ryVpEiePZ9bzUAAMhqCp807eFlIouT5uiqUdMFP9dglw/nY+HE776fvSE/HyUzIheZLAn3ax6vCOHom2IuqpKgHHnA8jQv7O7bz5MGryjtR9/ybvPSsY5k8tdqCudCVI9IPd/qmr0q7H5lCLY9F3Z+PTPvD2tgd3gnt1pPz49VZhblDdpmCCSRKLsq+JU4TQzy10whY8Fjlh3FVeV8C0fynHt2wKKSDwkqU/9aQtUo+h5faea62Kv+coJUAjclq/IwYMWHmRF2ECjjxg6yFRrUqSb5ifLWVdzOy8aNsk48vzwmxB/w8PEVv+YPMRgeFfQwCddw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: fL4MfQHj4JEg4l3x8P0JR3X0s2sSuPG+K25N46NCKcN0LU5y8oBjp3e30WshwpLEIvH0OAPBJXEVAbmkSZHYOU5UQ7t8QTa8diXvC8VC6YLcBicB1iso4GVWmTP7HkPeNcdHtQ1H4eRk312U4gRuokfO1fHnuxM0b5Ki4L0VZGAmG+BHN19/0VqJ2kPmP3NdsvaM8Pirqfoi9cH/R7aR4poEiErAKUuZI6XVnOUezIWW/J5tOQGBiItyBI98OnpWpOfA1HeaxGieRXjvuzbkesNsiN6VJRpNFwqzIEZIg8gJnPEDbASXG96Kuseqq9v88vBXWMkImmGpDKjul3ui4rgVxPkO34I4OMcdQtDBUF37H0cXgQyOzOkIsmE+aPQcpuv/ts4dlLX6DOgUWlCSrpvkePCQ6cBRdzp1RUXiNRAM0yzBLjSJUCntCnr6zbSJLIPeLexN9NktG8MdpiDSFv5gBx8CUICtO+VFN3zHFlfbJRyELE+3NczPVnpBfMaHSln4HhUANgtgmFAwroQfQYIxZe0rmUE30MQJl8qGT/duDSJmiItcIcnCWtyTc1BX+X8iaEadQT5dC/L2eF9Agw+GQ+07FumSElIbMb18FCDrgvQRJKpAhqzSNIdth4CqO/GozK+FbVsp0wO9Yq3m6u1+lz0P25Uzc65gahqcKOznY/3nhQpNtiwMTtWGrJQM0laq7LS0KAbmOLtRJoM5pxkeET8lw7FD/zU5Q0Fg30W7EOMANio7XkjWrSdyfXDRGv4+gLoaLoLKnVdAccCfa50ZyQOzi6f8dvqHugBJnU8xrVwfm9KoBwShTDlWqO6TJpIWpLu+8Gf+/Zru/2Z989qaKwarQs4xWd4GoPnwLl4KnwEKtqTJgnypVrAmzrG+LhLpu2aK4bwr5EpoRaFf9haklzH3I0Mk1RNji8fm+Ccm+pbUsvd9AR+ijdI8HfRY X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2f433b13-a517-48c2-50e4-08db6b853805 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2023 20:40:11.8479 (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: sOVlukJSHsshqXcs09W5deG4UmopUbsbyViZxh6kTrTh4SserryFp5re8vvtL92PxfpG6H6gAvzcx+CJMf5qWQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB5868 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.176.26 definitions=2023-06-12_16,2023-06-12_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 phishscore=0 malwarescore=0 mlxscore=0 adultscore=0 bulkscore=0 spamscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306120176 X-Proofpoint-GUID: gTK6XWWAqcaBl5Nssr89L6WX2KKfrOCS X-Proofpoint-ORIG-GUID: gTK6XWWAqcaBl5Nssr89L6WX2KKfrOCS X-Rspamd-Queue-Id: F194C180006 X-Rspam-User: X-Stat-Signature: r9w9ro1msjputq8h7oj6aeuss3gh4oqw X-Rspamd-Server: rspam01 X-HE-Tag: 1686603605-586736 X-HE-Meta: U2FsdGVkX1/tqAiuvQ1P1mcihUlaLflAvYOAhwrbWeybDF6CUVqs2qQIooErFH+MMUU8qlUFzTx8gR7fRLY7CHhlt2kYCr/zJgzLq76J+NeTGQpi1NOzQvbo0p6CU70IEFV/+X8AK5BJ3X02QKRJh0l2tJHOpJo9PBjtDqx/wpUXmz6f/x7tT7tAQPlW7Rpu3Igs4vdHdOcLvlendu7bccJCSekZc3cvnF7R2sDMNJxVbK+/tD4l6ruVOAnCX4F/EmePo/pmdfGYWZjgqNMR/EyXTuAFhXdyB9Ibbw61deC9HYG/u2LY8/s9zEiIIU55tU3UuHzNM2CY0M2QGWTqf9e4ZYpuyxFC1LIZoCjUTBiDOCS2+Lemob2SQoYG41K7eLvQBVAAS/WpwO9FHAv/EvfsgMZe/WSjq9LgPPvPVnM/Fbe/eZTtlIn4qGBwTCI/QJe+0FloS7daj06gdI5a3ULBv3rJeFb4hNtkK0cZyxUJA63dn22zFEZMdUVKfLjdAME+VA/QTXiwwDNKS9VYLQy0Ar+HnEAbXXDwUdhpYEdBkhS+EYV9p53wkSjYmiEgQhU4ke1AC3gqpnCIqYH6hl8+QILOMMZP7Kw3OI4tWraNaT5eiX9U8ytVrkLrqrbdyIMi2GpU8Ajz2KdBOlAeJcnq6wDSPDHZeqrYmybufTnmac+qXcpuAH0WKncFIkynXU2ll+reWtIDrqa4ym2z3odn/HXQNcZ5mlhg+jTec0aInO71R8LC7dDtq13OB1KG6zTQA4SAvaGzOauN1mNwhkgypk113Vl1mYd0bAV6y46JcciZumZ1/yMb2efpTb/peMilpZ3nYZSnkqdNRgrRSVjgeLYeUy3xUZJKlhqrNSoMorm8Hv7ar6U5jpwrUUNG5X33GPRkh4MLzAryY/A/EN0D/wyYUXbHa/FixbQccvKdsflfeqgE2eRG11iU92sh0GdkkIq/IwtuvRY1C1w gO+hmOCW bMQoXrNNZZ6JFNKF3pOjp66PVhT2Peiar9nuvcoZYLsTrfLZ1SJny9dFRJvaMrGBGSk5GyIisDHA7Yrx0ust7ehN/aw6Ost163q47AjMm9N4r/Wtxf6/u+ERA4w20sdcmPpPrm9mC3SapwhKWih1ff9p8HmkoJFbFsfbi4I6ugUHCZ9Mt3pztpwy1lHyRHu1fuqSDvPCwcAyEN/yoaSTmbe/3LfJLdUFqJ8Flg237mr1sGCHcPojAw6nU2kl5lrNZE8ZYo872e86fFBbyYuk2c1D/iq3E5okSPMlb1J3ksAVK7N7jWRAbQvb8UJXoW53nMaUyLkiKT5OIy8imZyaLc+J8AhY6uSVOImrWBos6HrHo7VwGD8k4GTxcyzbHz5kItPhk7aJ/MCzxL0DYLrV8ghwxwH2kpospQoRxgqMDlvoftnc= 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: If the prev does not exist, the vma iterator will be set to MAS_NONE, which will be treated as a MAS_START when the mas_next or mas_find is used. In this case, the next caller will be the vma iterator, which uses mas_find() under the hood and will now do what the user expects. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 8e5563668b18..fd3f505b40cc 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2402,8 +2402,6 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, } prev = vma_prev(vmi); - if (unlikely((!prev))) - vma_iter_set(vmi, start); /* * Detach a range of VMAs from the mm. Using next as a temp variable as From patchwork Mon Jun 12 20:39:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13277306 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 79529C7EE43 for ; Mon, 12 Jun 2023 20:40:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D24C98E0007; Mon, 12 Jun 2023 16:40:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CD3A18E0003; Mon, 12 Jun 2023 16:40:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B27AA8E0007; Mon, 12 Jun 2023 16:40:32 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id A17D18E0003 for ; Mon, 12 Jun 2023 16:40:32 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 74981A0325 for ; Mon, 12 Jun 2023 20:40:32 +0000 (UTC) X-FDA: 80895263904.10.54F7FC5 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf04.hostedemail.com (Postfix) with ESMTP id 1051340014 for ; Mon, 12 Jun 2023 20:40:28 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b="p3GpDCa/"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=UAnjf6G7; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf04.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686602429; 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:in-reply-to:references:references:dkim-signature; bh=1prjPOCurqnWH4L6WzWAHY38RL29aaMdFp7clnJuEH4=; b=S7aRwtkFQh7JTnJYhQ4IrEVTH4ZXhz/qpwyjvi6sEtff5l/uFBxM0Wi+ybZiovPV+gGac2 PyYM61KfAGXDly9C8aiV35QYXyMYHUg/gm8xaOu4B0JGwhihuRCPnBTcBQ07fUbByCcg1+ efLnfNjO2J64foSntgAPg//jD61Smt4= ARC-Authentication-Results: i=2; imf04.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b="p3GpDCa/"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=UAnjf6G7; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf04.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1686602429; a=rsa-sha256; cv=pass; b=CZXO3XsFv8Xvd2F44H+AA/RnH/rEFvAPsk1Pj0jk11PGqnAqj2S7s2hrfPwrrrKOKFumqP 8FXEH+LCM/G/FI+2lTGtGTAfHO6KlNzNgF7H6/iU/IHjdIC9AU/4j/51bbLu95nyAhkV7J KtqCVny0x/RuqS83UG7ixX291FTCY9k= Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 35CKO0Kh029029; Mon, 12 Jun 2023 20:40:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=1prjPOCurqnWH4L6WzWAHY38RL29aaMdFp7clnJuEH4=; b=p3GpDCa/k56YDHOiV7cMF5GbsyCGzTh8yocigOFRfK/p6WjUqZo2vMqdBfLmRO4e3Uog UyYGGamwY7K9BorOFQGpA45gSHATG4HuiSfGU/pzxgKMObgZZh5mc9jBeLeXjezj93/9 gjOV+JeDUKUisWVRopKdes+/3RjEvtf3fdJxrs69dzvVvHY4XllUAe67Mr1lbfVEPQWS /CCev1SFNCYxioNo83Z/o3K8Ezr6NLJOlikXhbCLs1Z+UC5/007Hl24O8ypcAdaxhUQm Bt2poh7ecsozBgjR3NK/yoNzWYsjIJPNI4uzKvPXm/eRMLJ0tEWG1ITIFC9WlpVXZrmq Ww== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3r4g3bkxa9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:17 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 35CJC1GE017781; Mon, 12 Jun 2023 20:40:16 GMT Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam02lp2049.outbound.protection.outlook.com [104.47.51.49]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3r4fm313vj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:16 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ckwOPp+rrVKNVHhkbwbbYK8SPI3NOEpsSXbNIAFKmmioiwfSesJKWjdBMNYTO5E9V6nDfxRo86d280s3sMWXns0k6swJNnOq8Tgup7h5sy+heEErFn6yke6Dd1EfE/YXxy4HmSp6jOQ5DaB2vV8cwfHWKIJuqWZmqTKxi3nfCzR+O5AGujvYfApU84wZtu1kov/iwsU3TTZg4sjoMwT4fYFWNqi4PC/FvjqPymKZefepn6dVDOuYdGdcxP0Ee9nu2wgR/wzy+xDte07nyWj7VvA/kovvhsWLYoDlNNd+Q6hd6IPbFiKbsk2yIqJLcwJv1Z+QqORpP7/vUaypD28Zaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=1prjPOCurqnWH4L6WzWAHY38RL29aaMdFp7clnJuEH4=; b=U7aO4PSRoSmlTQjmPRflNfuUMquui3KTErMyhlnW9L6yzA+6FOiOr/DqImQNrnaKYoL8v8vkUEh2W4prJPe2BtdgOEK7jp/h0kpdYEph5YMEEcgNQCmKAaqFZD4SfhqPqNZSCDC0mVOcXmGJ6jdfhV34CPhA44qXM8YnSrXEKhcm/noHKhT/Ndd1qIljrv0CznQP29WM3PBZmrjb8gW/gC3LbU9castXgzTApUE1TWTnyRkNgaOn+F08/43dLxZnB6fU4u3xfkTCYM2e4S8oVFfUj3qbmZUXN6J36K4Fq/pR5dJEhYFUIaeo+VYsEhsaaxn4O+QjKNzrkiOEUUbnlg== 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=1prjPOCurqnWH4L6WzWAHY38RL29aaMdFp7clnJuEH4=; b=UAnjf6G7TrPWj8ln0cELu4fOS5Udg90RClOLcy4y1VffQOfeujLTHJO/6vs/Uw/y8bOX/jS3PjjBvUG1ycqITNlXTMEI49aMXq3Ve3aVw/dtRKT74s6J4QZnBDG/QHvtRFGHq2BcHFVkcY9kNTukUuzPvBpiu29B2Bqp4koQp1M= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SA1PR10MB5868.namprd10.prod.outlook.com (2603:10b6:806:22b::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.44; Mon, 12 Jun 2023 20:40:14 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d%7]) with mapi id 15.20.6455.045; Mon, 12 Jun 2023 20:40:14 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Peng Zhang , "Liam R. Howlett" Subject: [PATCH v2 06/16] maple_tree: Introduce __mas_set_range() Date: Mon, 12 Jun 2023 16:39:43 -0400 Message-Id: <20230612203953.2093911-7-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230612203953.2093911-1-Liam.Howlett@oracle.com> References: <20230612203953.2093911-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4P288CA0039.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:d3::24) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|SA1PR10MB5868:EE_ X-MS-Office365-Filtering-Correlation-Id: 57b4764d-038e-47d5-fdf1-08db6b85397d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ay1EP2fPCKOJyBkgLP2tJ8FujDl3HFR2f5q8eyJB6KCkxxmezqRtgfumAOraShnZyT24gpK9RZ/5W59/AKxnXNI6PLVNFuBNV4DW+/Ch6u8BYau8cMeYVMSMIJeV8m1IuxZiGOA1MpCSHHDNWub64oWYxdfX5dB65x8iLv9N8PYqIo+f35RKHAtm2unKzgvuVk3kYmy9UWsIJorGoiYcDgElIVZtLxGxsAtuig1u56lgvQfUKAhLUzGiFITRb0x0zuVPSYWVTOKMGUiQb4XE4oYOA+79U6a1qxFMwU3M+zhiBDruOO1HFqpCtrcdPhDHxLRoHbAEi0R3Ufm8TKPvpPAtFMPsD1PPkz/CggKfc2XIKSHZ9TiqE7DjXg7RFAXveL8xClytyAHmIjR3Tx8TiOyldtkKn2m8Yu1IKtTm2ZMr9d1rBj+C2CiHvc7au2Ng4kn90SFwMV06Yaj5iovEdMO4mIfa/MWpGUi5OgCkYm+EIxh4Adp0VIgL9IW2kHS6oNDkKG+JfnWqyMUPHfaUHDl4zL8yriJK/qs+ttHKrqchNszql9Q9HMVdf7bug233 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(346002)(39860400002)(136003)(396003)(376002)(451199021)(8936002)(8676002)(5660300002)(4326008)(6916009)(66946007)(66476007)(66556008)(316002)(54906003)(2906002)(41300700001)(6666004)(478600001)(6486002)(6506007)(26005)(1076003)(107886003)(6512007)(83380400001)(186003)(36756003)(2616005)(86362001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: KzGCn9CTDO4urX3FRQIXCLJdJvkG70PSKpRjkTl1GtjG94QY3uxsJdrAEiuBiCZT6cGuX22vzZefkmtMuL/STH+bvz3bkz2OhcKroh8yztnJtAdqgSbli0NqJdPdoN11M/vC9DlvyjzABAWcYdLgfg11PXHLaVV1eIx8J23qK+qgpNYaW6uf0JWAaHdd140ALDemI4zP5QOeOq7HXhGrVDLKwjPgresjxx0PQVR6Sohw3EYpojbZS8ke5/W9xg3ooSX4PvVU0DPdZ97A2rd7Y21NF7QxN50rCngJeDwXqI8/vBdNRDcu6TqIGgK7zQ20dtiRvBZHv+cLc41SytOhkM2EOKTb9/aNCg+OsissaTxpF7uX5WHKTFph/4LVnmD7HE49sQ2GD7FZu4CENWYH8DOKznbIbVFx/0DvhSBCOZunadbjtoCC4VA3/C2rPxbS1jD/eceFN8CWq1JFBy+p6fMQ0sWBVpT0Tbe7jnO2QAUHLwFpSA6s3bAOsBuCvubQRtH4eHaskvriKeZjTuTjQlQi19Z/uhshVF6Hm7zn25KoiSvnfbW5n6NSc+iwWYalR9rqswnKhlKm8OYFUIq7tna1J0Zx13BTTB+lBPTan6VL30FqqIrp3fgcS6sVnBBu1gAF0XGKnSH16yDzE0NYz9fY1Kow8dDX45S6412oZqXiI5easX1khD/dS+kXSGtfPYY2rh2zVuzt1Co8wRUpxgS0dsrmsIPU32MZKYVgB8UZLizV0mih/EIBWLfYLiC0uFdCr4/VnmIBSxK4O3h5jjSAf6+yxXN+3DW07OOwnfZVz9qFK6AZz5Kdi4PP/OewmWndZ8KmFM5rxz0GrgulVrA772naMRYvxMmPLhe+lMP/cie6RXC7XB1PCAG1G/mEaZOq/vUbsi9oJERqVX0D6DxdUVzbVL6EkC/vEQRA0QXMQEteQTawuVQbtNGclqq24CPTQ9flC7pb+mfNw92XVM1nZexIsycNqIdB44MNwPC/pxiLTv7k8Cnkx3kam2SXr8+paRmFNdgdMk8/CDFPkKlatWZ2crIbEVpIHVD4P9U8ImFbED4g5EywsfsE90vTqGzqBWm90om4Y2mNJ6cojoNyPmEPbfM8cpbNoikzHeuMnLnrqX5/4Wz1RMgFwXgQMIV2LCJ8qwjyRTXVCcApQlQgUSntZTLwS0bMnBLJcgkLRy+7HdJl+WnGnz+mqj0BkjPtYG5lu9+UrajnvsjbuK+8U81rr6oTeyULmvj9RnBFOdHUhrNZBvyCsXHJNVdFI7DGl884SdL5ZX13OpfPAmkpeJYGChjEHUjTDKlFS6DhZ92aZs2xTkEn0CJ1ZA0Tn4zBbRuAELC7FFUWEZXjHxabrb+yIIktN7DUZqEID1hXfKT+lAMsUwqqD3VS3LR/xpViuvQNeOab6/V7+mc7o8AiDO9If+BL0m7gfuZ8k2SWosFlRLGuN9Mu+qkMhWVQtsBEv+0XbSyDCKlO9lvddOdZ3piydn8sJKjdIhpa4a3hDouUdXIrWyIRVZxHbXeVZJsW+5EXRjX08SsrfPsJxpBr4vcJ2row9ih49VIzbxnd8snZp/5vkjjxOhjDtw4FMwdCFMS2btku7LTsaDHBjA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: PdAVC261onP7BcS05T3eNSaLCtJJegzuBXdX1kyBt2qAjPBMMlcLiFxqql79gOt3iBMqWvHdDCKYmxq1N0QNfAkWPy2S2LYYLPhx55Dhw89/lOZKZ+5dDg6WlBfO+2Xh/VJR/ZKPMpVj2on99hArjmN3L8dTT/CPF35x9UZFgRkTe7Phi4UwCZO13RBdsXRUWtYc46Ncc1rvMX52q3uGQ4AKNNAlrjE1H7tIoSIO3O1H9C73e8Ob6Froybly03FIom+VNP7viao7+WfuPhL/FrhS4W4CGs4aYb9uc41Ejdw+0759v5svVImGdqc7aUSg8eHUnA+tYgwf4FYaTeoY/C9wvnTWmTZIDLHtC+saAWPRya/LpTD23U9PGDY4+EyRAOf3bZU57d+zd23N/j8gvwld16F8qYXdpHjMqcXovuUjNpHrneuG8V7jDVBQ6Pc3WDKPHmpLvZrTkIzjo4d8MezeofsJy3dTciku3hSuIEaX0HjeAewz2GRoxetF1Epcmp2r7pY5dWGqYKaLWEcF7oP9+9n7LheeH0c0sc7PP7w7B5K/Pum61YPsD+aOZTVJcyT8JISXRGWXKa/wGrM1fykhhVHQGX+m7ZsP3giLDIrRSATAaM9LhY4AYUoP0+7NeU9aMk2mWXfI3dpau6mbaiM7vIA1yauNNY4XrruZQdMwIfTmx+tkfxCmZ9HQcfZAkss0xQw5s0MIkieOK4ScJuykP3FZFUd8FlUTlKVN0CwzBeQ8whr2K1J6HLArkRRYkCjA0hyx+oQxW9vOhUe236uz19Uc5bpC3D7px26G81WN/k4fYWzcuwLQwpKNFXRjUWXvkIFZGAcM+txhOrlXgzztN/JCi785l7EdAmcBbgSAkCEEPm09FZvEaZUOPyQPv3hTmLn5Uh8LtREvB3WmG6GfQB97S2OjsuDejJQfM9FRLd1VSY6bUq1BMCc8oA6L X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 57b4764d-038e-47d5-fdf1-08db6b85397d X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2023 20:40:14.3235 (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: D7zfx+g3YsD0fZUgxek1cnSYpd3dSJ7oep46Z8fFaxDInB/1xkHrfQuhYCkdNuYEhCH1VjFO106ssrFSJhqggg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB5868 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.176.26 definitions=2023-06-12_16,2023-06-12_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 malwarescore=0 suspectscore=0 mlxlogscore=999 mlxscore=0 phishscore=0 spamscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306120176 X-Proofpoint-ORIG-GUID: QViMhexuKJwuYAl0IJkZO2TvD0jIjTc6 X-Proofpoint-GUID: QViMhexuKJwuYAl0IJkZO2TvD0jIjTc6 X-Rspamd-Queue-Id: 1051340014 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: h716hbt7ri71fpw3yjwausojc8ajetxk X-HE-Tag: 1686602428-276785 X-HE-Meta: U2FsdGVkX1/PkB1p1siDIioNQgZ9IGGw5+OYKDcdFmWizolZ/xR3O5fZLECB9YJnDkQznzFBcsCJmEUrjJY755Oi3L7Q2tQjvQ1wfon+flVTC3JU2b7C+8AP3f78EMkXX1tn9yu+XuUMKgyIFbt020yIiBSkkrjIqiJDbgjtEI9cZZ0PrmPYrZZ9zRo8dN1jmCDGjHwwHtxD5YQuSGvs9p/Tn0JYW0EOl3QHoQZd8EsUA2Pk7vZt+gxTq9s83VVO/auL7G4XvOTwHVCNRs1WItCETF91gXGQ8VHTDZmqDkdjt9bOs308MCsuXssiCcgfSayMuc+3+uVpTKb4VMLA3iXg/LG7JyoE75LTMttcXRszLsfehiZ16140LSohdIoESDWsSaVRS14ZQctCV3m8usNo1XmIWx/xliIJV+ow98AaWXN4vrxtQajKqcjvRrmRcU+El+ya0wTQyjpa7hq7L7xKILaH1nmcIVFnEKdFuscSwp29aeJg5Qzxa8D71SX5Tcpt39+guNE9QEmJ5VR+2DihMzFFP09Z3pN/Ona4PuYJHfBip4bCGF675M/Eruezd6dXS+vchZT6Uu+koayUgj5i6hCQzoviZmGndg1WEEZKfnLsEOshZ3jU50WjVmIhRkSW9KEGcgZZy7aTH+uwxU+yatGpO6D/56ScLgArxzoaQ0l1ZQHXgH+Q9/EKm+Dw4AMiT7ixMeu29lM52tMk8z9Q1nZb+8Jnpz5vBYQt+L1o96tlc8853MTMZypI4fL5sERbSp+xK1mGFF/pnMwP7vYpfSs+fy9SXfMq2euBFVUPhJYAx8bu2pwJVwjF8THfU1YqgRWxRpwrvmfqrYcXheRW/Ks/rmx0D1NFQhFSi98PNoN5EJnw8qwU7dRF6DZo4ksFvefJvrGThMOTVrzpM5V9QM/vHT5/0XJponN9nHXjXQzEa+yI7g+JltElCOspPLgD5hVfMMqETq9sCiB 8KnSyNEw Lmxjq89v6D/kK3jsbMOllRNkJQg13zz+vQoPEiOw83MkdY204h/cTA7EQeGar+L3wpWNOsaw4s2SElYUXQKSEvyZx+vlBV2muq73M7WOqP1VwhvevaBINoFV5ZEB5T4mOox6mTNmjUj7IxfQrvB/QzlbcfNyDa8kgm1UM9Wv6GR4E2XUVAulQZnhfkUEiLNQNB0lgickS0Jq3yZovcD1A4CVkP157R5YNIq99Kp6QWb/qVFpuATNztI0cyzv4q5m0WQz+TxRCoPVbOk3MNo1b1spKcs9+40WFmxAnb/D/SM1GPdvm+sv5XJ3dnm7dB0ilwRDyEmezO27e+Oq7F4bmvEXdUIDyu6fgbjJZAH+yAGxOvYppXP4SBlc9n6nZSKfYJCkV2bx9o9gCjJ+SD7uiN8zCj7uCaR+4IZeDDHsQ+7qAiGc= 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: mas_set_range() resets the node to MAS_START, which will cause a re-walk of the tree to the range. This is unnecessary when the maple state is already at the correct location of the write. Add a function that only sets the range to avoid unnecessary re-walking of the tree. Signed-off-by: Liam R. Howlett --- include/linux/maple_tree.h | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/include/linux/maple_tree.h b/include/linux/maple_tree.h index 295548cca8b3..ed50d8f459e6 100644 --- a/include/linux/maple_tree.h +++ b/include/linux/maple_tree.h @@ -531,6 +531,22 @@ static inline void mas_reset(struct ma_state *mas) */ #define mas_for_each(__mas, __entry, __max) \ while (((__entry) = mas_find((__mas), (__max))) != NULL) +/** + * __mas_set_range() - Set up Maple Tree operation state to a sub-range of the + * current location. + * @mas: Maple Tree operation state. + * @start: New start of range in the Maple Tree. + * @last: New end of range in the Maple Tree. + * + * set the internal maple state values to a sub-range. + * Please use mas_set_range() if you do not know where you are in the tree. + */ +static inline void __mas_set_range(struct ma_state *mas, unsigned long start, + unsigned long last) +{ + mas->index = start; + mas->last = last; +} /** * mas_set_range() - Set up Maple Tree operation state for a different index. @@ -545,9 +561,8 @@ static inline void mas_reset(struct ma_state *mas) static inline void mas_set_range(struct ma_state *mas, unsigned long start, unsigned long last) { - mas->index = start; - mas->last = last; - mas->node = MAS_START; + __mas_set_range(mas, start, last); + mas->node = MAS_START; } /** From patchwork Mon Jun 12 20:39:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13277308 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 B90A6C7EE2F for ; Mon, 12 Jun 2023 20:40:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C14AD8E0003; Mon, 12 Jun 2023 16:40:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BC34E900002; Mon, 12 Jun 2023 16:40:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A3C1C8E0009; Mon, 12 Jun 2023 16:40:39 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 825048E0003 for ; Mon, 12 Jun 2023 16:40:39 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 55A3E120333 for ; Mon, 12 Jun 2023 20:40:39 +0000 (UTC) X-FDA: 80895264198.17.06A8394 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf24.hostedemail.com (Postfix) with ESMTP id E41B1180002 for ; Mon, 12 Jun 2023 20:40:35 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=yFkLpVjm; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=sTWDow2C; spf=pass (imf24.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686602436; 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:in-reply-to:references:references:dkim-signature; bh=0QsGUeSC8PoHDvjhcOgTqj5kZeGqMxkW78nbUd0JW7g=; b=hQenkgVyi7aUhGjoC1PtsobUSh9dXHjbPX3kanwurX9Ds5XymZORACxrFXG7oPUa0+axlN dsI5Bp1UG8m8NlmuvdLf5A7zk+gLlM6+m0I9F7S6c/1unHhj57xWjXAQf/zsGlulua8HqS 52YWJMUnFigdoke44qOAbKrZkp3kSUA= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1686602436; a=rsa-sha256; cv=pass; b=BYCoFRN/gzqzolLhNyRm7Mj9bRkQqciMv0cvI2Jlk4PYSJ1LTTSIXnGDkd8I12pJR7h2SR 1YvKNXSzEkq8ryQ+3oigIEIYCLI1mp2ACpsFZl27Y0M7Ic/LSdiv9rdxgYht2fnGruse3O qFfs41hLZ4G3HPDjv2YZaQKB5o5GrIU= ARC-Authentication-Results: i=2; imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=yFkLpVjm; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=sTWDow2C; spf=pass (imf24.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 35CKOQtT003957; Mon, 12 Jun 2023 20:40:20 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=0QsGUeSC8PoHDvjhcOgTqj5kZeGqMxkW78nbUd0JW7g=; b=yFkLpVjmpeFyAtGtFkwT1a9KXx87493sNzLCV4Sd1ewYYqNofgtBozTilp6fBszf/0C7 mOKC6BupJpB2VXmJ9rpyDB+tTrpbBQxk/74hCawJKxFpGEErqD729Tb/7Z2O8nN9WifW uU9VXK9hFcjwN27aLrtEHo0GlWC8elMUZg+lwTBzdLslmNNxhqimmXADxpldhbnwh70R 70oMJ3oYV1DMZdylZBzn7WEFeIEIV4ZpIewZ6xposdUa7S4lHOSlZV76yx82+joVWv3H x4sfVXZygcksa5Br5LK/MiyCvtpJrCF/bQNUpgyrqntgl2xLyfDEqkG+UkT0S4H/ihZf 8A== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3r4fs1uxa7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:20 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 35CKZPxi008941; Mon, 12 Jun 2023 20:40:19 GMT Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam02lp2045.outbound.protection.outlook.com [104.47.51.45]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3r4fm3hf7y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=O0P7E79rwmAdL1sZFZb8mW0RxW9udSDv+LV5gy0KBo+yxqAXxwaiYgKFSm29fDVYTI6J3O0qHGQMmofTmy3ZJOQEnSEmZRk7hxfV1YbShXxIhffI40ygy45nOe5uiLagO/9ANsWwKYnlOGucd08UOggxa0cERtK4+y9/IfRiKWYOVxpke5PxznPPGRogVHuKmZ0f+mEJyPUsA5L8SW3FvadXflYW0VnKXhkCca5BDeVOmn6p+mkChQv0eAiQs9wI1X7GdPiawWgIqy1iuJZ0aRkr+NKpVdxFrxJJKuKBM/FJtysFnSTMFy4UjWU2mNLhGdBGB2Bn+oRjqWO5yGRH2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=0QsGUeSC8PoHDvjhcOgTqj5kZeGqMxkW78nbUd0JW7g=; b=PN6BRqk0UhU6E9tRic7PKGgvfZCcP0zIsVR64OvftBf+qiQUDSWMV3X+bdBYto9+xYmapPG9SpvPFlo7M69ERoOCRBAV9AiVRMV5vPxRFPKCM1cbR9TwhZSTxUH4Pqa8T1MsygHH5rwQfp0JAGLKwZYG0lPgh4V6pCcecjfou8o9ma5uhsRkoLUQrP/yTAk12X6q4aSyZ+oHKF4OBO5XMuPxCJXaexrd9Ngu50aebUpThj2wQskrAkXlgThf5cJ5jNf82ma/MbEDci0t29wPMtFdj8L1HDYsLKBThDnamUUV7BuaZb5E9JNzNdC7t6UquwzwhAwK9bX2ZIAFIpxDOA== 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=0QsGUeSC8PoHDvjhcOgTqj5kZeGqMxkW78nbUd0JW7g=; b=sTWDow2CVvoldR7CJo3/r8Pe9cCoaEzx1VfEJ6wfzdwEaeYTOoLUNHRQ8+2LZo/s2lxRg6JHui8MXDKqArNoBtTIAjnGQzhpA3a08wl5KFbwbqSY/6HSdsOTLQ4sX37F2soYmZlClXZo5eW7ghgA+DR6TQ4slrqWoH9a6vWa57o= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SA1PR10MB5868.namprd10.prod.outlook.com (2603:10b6:806:22b::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.44; Mon, 12 Jun 2023 20:40:17 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d%7]) with mapi id 15.20.6455.045; Mon, 12 Jun 2023 20:40:17 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Peng Zhang , "Liam R. Howlett" Subject: [PATCH v2 07/16] mm: Remove re-walk from mmap_region() Date: Mon, 12 Jun 2023 16:39:44 -0400 Message-Id: <20230612203953.2093911-8-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230612203953.2093911-1-Liam.Howlett@oracle.com> References: <20230612203953.2093911-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0123.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:d5::26) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|SA1PR10MB5868:EE_ X-MS-Office365-Filtering-Correlation-Id: bb06d531-bedc-453e-e26f-08db6b853b2f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NdU7jP74WRqKJNTDI59tzfberdQwwUYcA2ismbAoht3v0sOOtrTK/Dq4HsLSaTeK44b73gj/sekCTlInkW1G26nY4LK8o8QD9oCMprcWqXF5ydZLTGq4u4yrsIJHcftUhOA5HYdhx/A2pgtyHVE93NXUr2YuzAaOV/ZVci7VmYS68zZ1/AjE2uLNsoTxWHTIX7DpUhPUH7PsGzqlhHIG4NqF3CkpepI/Nd54pOK5AMzv7CHFD7r4VgnlS+7o4pBTyq54KC51+QsxbjoRKf5lVGhlqMN9ZL2QQmH5dim+ZYaimpQ9nWYzbF1j9kI6V2KTkIlCnOCPaurXA+O2pAMeEB2kixJ+jSCROwAh9imVovoH0BYqdZ2d2zQy8CRLtRDie8dHTFTWvRrFxHh+R24+BE0p3gps/wq8YekCx3GVUIGUzI+Whiok5DDdxpQ6Ia/0W17iZrP/kn3O4dNANlCAaZgMvqdvrdcvBmSLjIjaAKRK80CRghj8jHZmKtyUbNPC2iDJpXfn2xkqkMtK5qj6Pg0NoOFc9kAlCz2PUkY+nTZ5uZUluULUZrl/2zLsluOZ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(346002)(39860400002)(136003)(396003)(376002)(451199021)(8936002)(8676002)(5660300002)(4326008)(6916009)(66946007)(66476007)(66556008)(316002)(54906003)(2906002)(41300700001)(6666004)(478600001)(6486002)(6506007)(26005)(1076003)(107886003)(6512007)(83380400001)(186003)(36756003)(2616005)(86362001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: UzikNdRC7YheZf+k+2UjbzIkGxwrU6xmUAb+lxhuJLF97p6W416NA3Dm1RF3z7LuBjIdiAPNj/PilO57uJV448NYQQp6CIA/98IiTkElg63ur+d5pL21oq7BXJ3aMTlyx5eImx55cVLwGPHwlGwUxfv4xRPaqd5Q5BQm/25HhBw+UdwLOgWD0wTvpBZAJd152aMjnC6qp1/pSAX4g50o5rBfHghuSAP4eYWmxAu46eg3eVjQlhncXNFXCA4UL8OpSbkuNcZMtb8GoWTZ6uU+RtDz1NQf0FGYjmLiLhVQrZW1hlM7u9vaW3Ud+X1PdcnmBIRLFHEGNLO09ky+4SHBM6EZBf753GSbxB7FWrpOEf6cKnFUVU5QS3ANE0oKlZ4MtnqPrtKrLYpIYUcaycqrSc3dpF/2Ehf04HFthZ64seYvUPeyMJ6GNCz4/Ih3Ct+AowVwzq5A41CNI1Cp6/hphCZqQoZUcT3TDaF6a3IMabMoJn15njmnp7MczC/mr35PUWUkPCKCjtoDjRqnRTa8m21gFdnBoeHt7p9X2jDX2+CEr63Bf/aYiC7A9xlCFeBmKbjGh2d6sjs6dtrhqGyZOpY6aRlt3ZKrN0kAeG25iZ8HNgXcJm4UJ9E+5rzxoWDtUbuyheAhF0bfw3cYOaRx3UBeK052ixYBuvN2Kfsi5b+bMtY9diIZCZoDn6ml1CTwdZRtrgGqmfk02kurmENvh/kmFkQKJI/VUQ2gnSdJBboSSet3dzeU3Cw8Uz5Ic6nvuMjyIc4V0rTP4uBWF8KudOstfqYtQyyEYxevY4XxV6mBHREtnVS13AKzx99CiHYJdTKsA1ecFd4zHvXHmCcDZS5YF5fcXRjMefgqrH59sAPgbPQrR09VEbkeOXwMyWxzudoqlyCwEcBP/kJJiz/VYSNPHXSnKK8IzvL+csXFRnphwbRK+lJYIIzwyCpEiaBfo7pGj5y+1Gn+KLX/+1JDlgREaHELsIViQAXRRz2V0eTVmBLP25g028BF3F11RH5v/U0POY2heVzYB8tGfElfyAk3WRsfLV3jfDY0jZCJpBZ5A5/xK6WrCtZvwJnuSckcaaNA+2oCEHx6W3wEeUODnCENERWMEmNU2ETQA7rHIxtMtrgXWbirl9oGd3yrgp+XJdZQcLFIXdVviMwSDJpqsFMhYDSfx4Byi5Lq3TPjq/bQh4EUnSlGNclvDmbq6LzjSXe6+IjNmPHBazhdXbb+4rr76IShT07avpsgPoYTJQxkhi1PwC4swIS76T+rOqI4/igikKG2jKJ4IhYPijBJ+rB/bc5qpgckcrpR5R1iPaDn4HeCyMEYZ8d/+2JkYPh/8Hij+GOOn94GbfXMlSAXCDt729Fevs6Cpz4byB6SBP0MzkV/7QaevzBYt0/kBQBAD76A+KEhlk41N8BgCMdjWvnU0mism1ycgl0HOqhZpZZGnNEUeonazrDJTwh03UAWuZXlXxDwBYF9fPov37cUuPM2XbePErSBWXi7vnUZtKwqpaLC1zwRr6Vd7EctWhs5goU8uA73XCEgWW6VukIsr8uM+ftjLwdyCwuasnKgUOw15a2yCo2uSbme7r2wESg6nTVfmWa+9rlgMmNeni3d4w== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: h5DJsf9aOA2PLYoDopwjdOtKiZleyNCrQSxJxUFHk5Mnr8HJ+jzERkjY2c3B/eK0Wxbo6KegZ5Afm37lafPd5jZXHOHDFHZXY2Rg/kgOmWbd2xmFjN6CepoEQ+Ix+tT7SUEw8jG/aYbwmjQVwJ+EnsyhxGFs1iyEWblhqWggAtGw86XJoBA98n5OKrRfdnk7r/pTSEEgkzcSxfFM3l6J4y20swROzwV+iZ6mdoyOJAEeoXPQ3VzYfwIXus0g3PZTMsXiRRCaZEjmDWovbx95yoKbtujTBk/mjyyiVNFnt9Gjz5/UpJyMSUnKwMUHhInaXnaSv9BZlYQe35UV+eJ5jfAuLWImaGeYTJ7Dpaqt4ig0qeNL4pnEfNOctQ3yUOy7s1eKjs2gEjKVqHZCzHmTONbSx3X2a9PyYIUEh5U5HR1+aMJ6uT9sn76WSaiG8WKZTMCTp5rpahtfNld3J0rBsUFSkslmIUHH9DKE64CNINns+JkAKqQf4Gy9byjuRe/LPRRR85aww8EnUhvv+GES8Kioi/uZUlqBqEitaAofhXuUtTosT0eA0p0tzQyuCT+0wCCACy1YI/QUzBzKUTZcnq6Wjz/PmEFjMDzpC7088r7qyJsedukv4Sc/xk/kcgOaw91VRP10XsNeX430HFkKneGoj626Ggjzn2RJnEYknWb8Tu9M7OChcWQTfWiYEp33uFcneQGDm//hYm3K4TooOG6O6oR4whsz7+j2JuqTW449wRQN4RjCr5q/Q8vvLZm5Sunc8ayOmqbjvgeBUsLvVMJc8XQwqXth1ak9TlmPjNjuS55T2nFPfiakwxLAqH0eM0MfzzxfRzO8QoBbF3wPc7Vk2Cs/Frw87vvClqYpMmFT+zY4X9TUwPvYeSbTJtcFE42mngPRuGWU9hcI85yTg116OE893fkF+ZMQP+IGrGGlKgvUWfc3WO+H/UEJg4Nq X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: bb06d531-bedc-453e-e26f-08db6b853b2f X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2023 20:40:17.2080 (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: eo81gt8tJY7HTMPVL2K5LAN8kacb7MZYcGxB1v1q6bREAM0xsiEOfIPmfP3fGZv1OVdh1w51bP7M2cBWNcxkAg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB5868 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.176.26 definitions=2023-06-12_16,2023-06-12_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 phishscore=0 mlxscore=0 suspectscore=0 malwarescore=0 mlxlogscore=760 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306120176 X-Proofpoint-GUID: _VED76G80_mQbMfxLkOmBxo76DP78tXA X-Proofpoint-ORIG-GUID: _VED76G80_mQbMfxLkOmBxo76DP78tXA X-Rspamd-Queue-Id: E41B1180002 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: 5gbakhojaw4uwiy34ok35fyuy16kzapf X-HE-Tag: 1686602435-833598 X-HE-Meta: U2FsdGVkX1+spWdt+Qc3Fad8LMWBMIH3g60w2Ys9nyD52Y02MUA3EHcbaY2fhK8ec3PQLTYPTbms6ohJNSOEIVp+B3Bje1yucIJ5lyGkfEXrrh3thvZeuoOU/eBtQFMtLGnIcNnNRTAihq8zPNicumzInlpJRPXfM4XuKBRT1X6OhoaaoO2VmE2NdM8jj9D9TlH+avbD/1eW9L+9IPtg2Ke/MQt4aj5gGJH/IeDoXN7gM8pzrgz3qisboSCnc5TFFnY15fqpE9btgdsQCtSMuyRlDe9Ve3uf+DIFVLEFnR0eZC+CRANDGnraramP2bwjEzNFhIno33BmuukLHwd3vOIWi7v7QU6VOCzT5pec7r6BL1UPxuACs5RIuFx4k/4Wl1lh6VaqJljeFJx5Ue9s+YFiyNO1kaisSQyeBjvgC5PvBdknWI2Z/ytKIEBvq1Kugj814pOBGmKRshUq7+uHfcVzFYyrRgpliQLWu7SyuRucuvVAujJZmaI0sFBSvaEor587LVyiFmBa2WQA0DmQ1dqNuY804iDHti4adHC/92LWUSropPkhBIqLQ+/+Lo8z4EY4x1U/Lm7ddbaUFpiYvoBvsgy2ecERmkMdTChwH/eZsjdoVWsRNFKzZbR2RduOzp3Gr50OfR7O6B4DpZAqRrqLDKPkX5e/iOdexnfNopKNTychydTu6WVxFu8MdQXf8IN3QrQFS9ekmwLbcZyfqr9ZaBxhzSkwnnR46TJY1o2leOzYoHI0pw4TTfzHVBAhlIsn7lYSsbr0x/9PjttdmrBwFTJopt5lU0sskxqfQmQdbz9ZM2MBFwoeNzeatEHWxreW9nnB5wVBvvRTB+wLzDzhnpJeiwpN6GPZj+YBCuKlRae7zeCdAZpn2KAqSF2JD4mOexSfodI2Z2jNNHp81cOqYcTl54JZ4xAPJ3WNYsJmXJhBieybIT+cRvAmp1W432Qah23/OKFu4S51jRp 7w1F2KG6 5sPrD15BKhKEUpS93fEsKOKuOD9B8GuVAVe1d3gI9AxIskSsHJ/cfXBRCsaqPxqREsWnuvpGbF441z+c8DYJjGsx17uiaS9rmtYo7PDanTSQ+f9Z/Acbr9n1OdoZMZ6m7AykpU5wemZy3mvn6pxKMBsnsu6C0L+dwSNxmHSffumnLlWVdcGH4aTNLqCxjCNmykyDrpQwEgaA/WhjjvwB9ctsv8RxgEEqIFwjcy5F5YOGUNwzezFNZxTAeIEPXGNL4HP3b2v9qxpQm5Ge2vUND2I3oIi7PRzGwLv9vwZQhgeaNp3bmlhObQR1h/3JdCv5b3/5z6mK+qt3zKAjKLU0YFu0QLQBMTS8Hb8YGN5k/Tn5Y/ceeoZFLV0PcLWwg6+wOUJoBKEGLpuqFTYPLBT16d2bu1MHhCA4H+nfe6VFVFVG+PCs= 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: Using vma_iter_set() will reset the tree and cause a re-walk. Use vmi_iter_config() to set the write to a sub-set of the range. Change the file case to also use vmi_iter_config() so that the end is correctly set. Signed-off-by: Liam R. Howlett --- mm/internal.h | 8 ++++++++ mm/mmap.c | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/mm/internal.h b/mm/internal.h index 24437f11d3c2..cdf06f680d6e 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -1034,6 +1034,14 @@ static inline bool vma_soft_dirty_enabled(struct vm_area_struct *vma) return !(vma->vm_flags & VM_SOFTDIRTY); } +static inline void vma_iter_config(struct vma_iterator *vmi, + unsigned long index, unsigned long last) +{ + MAS_BUG_ON(&vmi->mas, vmi->mas.node != MAS_START && + (vmi->mas.index > index || vmi->mas.last < index)); + __mas_set_range(&vmi->mas, index, last - 1); +} + /* * VMA Iterator functions shared between nommu and mmap */ diff --git a/mm/mmap.c b/mm/mmap.c index fd3f505b40cc..8b3e58d6ac40 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2659,7 +2659,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr, goto unacct_error; } - vma_iter_set(&vmi, addr); + vma_iter_config(&vmi, addr, end); vma->vm_start = addr; vma->vm_end = end; vm_flags_init(vma, vm_flags); @@ -2686,7 +2686,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr, if (WARN_ON((addr != vma->vm_start))) goto close_and_free_vma; - vma_iter_set(&vmi, addr); + vma_iter_config(&vmi, addr, end); /* * If vm_flags changed after call_mmap(), we should try merge * vma again as we may succeed this time. From patchwork Mon Jun 12 20:39:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13277307 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 509D4C7EE43 for ; Mon, 12 Jun 2023 20:40:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DC0B58E0008; Mon, 12 Jun 2023 16:40:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D97528E0003; Mon, 12 Jun 2023 16:40:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BE9BA8E0008; Mon, 12 Jun 2023 16:40:38 -0400 (EDT) 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 AEFEA8E0003 for ; Mon, 12 Jun 2023 16:40:38 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 38FCDA0304 for ; Mon, 12 Jun 2023 20:40:38 +0000 (UTC) X-FDA: 80895264156.26.F301A1E Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf04.hostedemail.com (Postfix) with ESMTP id D145D40010 for ; Mon, 12 Jun 2023 20:40:34 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=MTYsbnLQ; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=jXrGt2b+; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf04.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686602435; 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:in-reply-to:references:references:dkim-signature; bh=NHXrvplhxn0Psdt+SxrHMdYn2tB3EVdr75v/Rv24Kts=; b=vWhIQMj9HZl0sSxJ90qpAbOHteJrlgTV3NMFHFj7deC7kwDkI2gsna1O4h+1H2HZSvoe7B I1zhMW/gCmsDeEWs6eRfN7kXEoZsRUzB06IiV184SdkWfIKwLu2zOz6o2XocM56ajA1C+F cXz+QD25c2liyHOYHaacxP96tVwbz90= ARC-Authentication-Results: i=2; imf04.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=MTYsbnLQ; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=jXrGt2b+; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf04.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1686602435; a=rsa-sha256; cv=pass; b=AuGhAWeK8VQOQVfeE//gdmGY+rqvaOZrppCxoKMvqSuivcxH8M2HlXdN/V9tmlZKuy0h6T dyjdWiteiGoQeLnaG3BYqhPm9cKkS4SoBx3xZ5mqyLkhiEIB6RE8CyuT5fstBKQO24IncL evPmUQYwVd49tW+eJfYwrFf3EKnpaSM= Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 35CKO4xs029655; Mon, 12 Jun 2023 20:40:25 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=NHXrvplhxn0Psdt+SxrHMdYn2tB3EVdr75v/Rv24Kts=; b=MTYsbnLQTHG3B1ZBJh1Vnbxesj8PTLlLZa3VFq2m8BnRj8B94gPqYSGcme9HIUovnwzC 5fKEwvTpBpb1BoL3N8Uk/37z/aPM3wSx6stMcAvXsPkDoFeaxnBB7ROEiL5y+cNB/Cyv CsP5bWMNLvEWYoIOu+KE8qOnh2eYmgbT74IX+hv8qE07pS8YCdkQuwBzISqbyhcgIyCB el3McO/pSL77Ikx9D4OLRz2P0jBdx+KPiGOaLNodvvcsWTJG5gxBtwtwvj6hN4vAlT5U ndApqiUlKLVx9bmx1NxVWp5f2dyStAqUVxTkpbkcUGo348mYItR6kfvqSQS8WT7Phs3Y 2g== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3r4h2akv47-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:25 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 35CJd8Ku014064; Mon, 12 Jun 2023 20:40:25 GMT Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam02lp2047.outbound.protection.outlook.com [104.47.51.47]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3r4fm31597-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:24 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WeCKY+tvXV7mKyT+zr5vHSyaEgofR8qDl+ew3w4GwF1qvXvh0+k2P9yzF226lCEUeqEEyikMi47ZEBHThbJmu+Reu+dPLJYIVqJbIOqKSsVsDiIVA+ub2mu2qiSzjgX2Hp4Rdq7hV2KLOBLFmZmKEgMgvjMK/VFezf/SrCy//xooCreT2x62zDhjf9G/a72kjP4KYmZUTTNr0lZNzkDIJNisFfYhatvMcoIGhgGBi8N7viAu0onjOnjZFODibQOyHeSaDXb7LVYsW9pgMRqXB78nm3+MQ/oenhGKYURkf5UKhOUSWJAlywbFqRgU4xvTSpkkkpV9cLFTGiAdsYK7kw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=NHXrvplhxn0Psdt+SxrHMdYn2tB3EVdr75v/Rv24Kts=; b=h+yBukN/LuIo173e4U7A/q9dGExBNKR6ZF1Ln9bjpC3QB2LejKLmOWTvLAGfMvdrKLulqbcKjRbd5qrgkEITtJUJUYB+WLVUmqnsMn+P4TIjEZXaV70MReB7D0c5tS6VPJb2pZr2MozIlLz5J5XNLrTmuF3xQoeqsqkzDd8SBg9Sil/Jxr6bsoQ43vw8/+WE/p/Su0sNoQs7P+IkZAj0tTHeqcg3eJJ7mC9n9AsGZ6PnyvCCx3D+8UbDdQc6yoJmF5+fI/uNywDYZ4vh7fhu0JEheOUBhbrc5GH9A4xp2cQ12/hMvvd9P47BcptXFT6wMwE0F0vI+Pa0GFeyDuL6Fw== 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=NHXrvplhxn0Psdt+SxrHMdYn2tB3EVdr75v/Rv24Kts=; b=jXrGt2b+y24Rtba3QF6+dStV8krEpn2d17YXcexs6VwN5dyBNhBAIZn8gnMCMFnpgkLPuPbQ/qg/Ys/gHrBJKhLGKGZCu1laOLBwxUqdP8VmJDomAV8ckG2v6Rh3JsBtCMhAYfz+gh7piIWiuxSLXphCXL5coVVEtDPgJBXsNVY= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SA1PR10MB5868.namprd10.prod.outlook.com (2603:10b6:806:22b::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.44; Mon, 12 Jun 2023 20:40:19 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d%7]) with mapi id 15.20.6455.045; Mon, 12 Jun 2023 20:40:19 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Peng Zhang , "Liam R. Howlett" Subject: [PATCH v2 08/16] maple_tree: Adjust node allocation on mas_rebalance() Date: Mon, 12 Jun 2023 16:39:45 -0400 Message-Id: <20230612203953.2093911-9-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230612203953.2093911-1-Liam.Howlett@oracle.com> References: <20230612203953.2093911-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT1P288CA0022.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01::35) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|SA1PR10MB5868:EE_ X-MS-Office365-Filtering-Correlation-Id: e008042f-87b0-4306-a25f-08db6b853cbb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: iPNPgv0xdySK9nUTM2NSmF/o5nEeE0G+SwuTw8CkzuKVP0huwylxAb5KKTMRNrH4Aus/P5wIW4RW+y6KpuPOjuLP44NPqNzlVnIUW2CcZh7J08xxtVOTEYbdwHwpAcSuz4dQnAnWziPWI8gDoQOrldiX01PWXpzq3QecwpxmucW53l9qnokVkJ6DLSVxV1OQAhwCAPqKtdZsSCua7LMpI4xljF+Sra0LNqf7xz/tN/9Y28ASCq1QeZwtMFCHxr/SgvJbgS8UQQ/hs6QwL5dB90Y0h8+DfNKsxBX+tSEvD8XY+MF8ZPAXUpdnHW5Px97W62fq64MODe6TWuCnqNB8m4E0nSkt37Bd8EbtSO/g5HLybLaqllDv4FjPbX/Y4hBS3Jt65E2IUKPz+8x5PhGJqwsHkRvk9XcxelCJX10aHa4qvAz24/I//6STcGOrTBdVU1eTZ19jCCFvFhV0Yu8xhNhvbgTLxSfmIBwY+0hRTy4ISR+MG6Zyj4vNoXQxDttggU3U3pUS9vmgwf1s3iN/+ztgrljnHAOffHNcNrM6QqDuLb8S2Tg4lX/Dz1zYNu+t X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(346002)(39860400002)(136003)(396003)(376002)(451199021)(8936002)(8676002)(5660300002)(4326008)(6916009)(66946007)(66476007)(66556008)(316002)(54906003)(2906002)(41300700001)(4744005)(6666004)(478600001)(6486002)(6506007)(26005)(1076003)(107886003)(6512007)(83380400001)(186003)(36756003)(2616005)(86362001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: XWvSRhor7AQa9JMh4Max+JDrbO8Wj16ciljHUWr7kk5CMStDoTD2k63bgXZ4hZ+Prnq7Fa7w0dtxA/tm78nDowciqSgFuXoigXjrcLwloAud++sfJZosc9N0x8S5iREbcpAIex0GP4btu1rnPTPtwmVE0lTykgetFWoV9rNzss21RMmYKdcyMkP8NhelEy9OvLr30PaZGfPlDLib1KaTrNdxqnKEh/DhYH3OlTjSfkrpr8A0E6aAwHpqaRJXDuf4VaXYqYJ7sgzxRfROw/a6rMv5LlPKgr7OnbwO9vqIyvNhIlTZAd0xVBRczUg+EZkd4FADRegp2w2vMpHQZS+WF3zcuWSRn6RbbjXv64v/jGJEwIWUdba6J5R7SyAGc9xs1OmPNiug0wyp7+GuzOBx/Ii7sNZLh/Qbj2rpPsyNibiN007HRKlx/zhuHDn1JUBZH2aiO6uBycrosJrPKhrs8SjRu/99ivq4AwNfX+DsEkQgNeVGEfQJWGcNDekqXTQCHGIUVDuOLJ7fBtOU1bXUidepAbSQXgcu3ShqLFD6+m8PQkDLzh9EIQQ42GS4hRv/z7q5wN5lfbKB47gn4yAy4lNhR4AO70gU4qlLk6RZGDJxhOwrQiPfB0QLGYjHDUDXSLDDpH0coEX4E19ht+c9LQAo+wWUBhYANIrBjmTYz4hRcxmxQCJwILUAHMacbeeiDrbVUGulNpbJScKT7CqbBhrZBrYv+0bKe4T2tDE2Zh/WFIgaDzsTwaHlI+HFNGqoiATTD5pkgx62O6q5/o8lxjtzOpRK3MN2+kmXW28Hw+XVxiW6iAuh6pSpQCi44akTuSLDraZzDFXSlluKYuHp9UROqTXf6ULbp30bvHgCXx26NlIz4yryrV7nAY75Jx2vIWmJHQpyGhZF5REEevAr0blwSXhgWTHUp8V+H+KONefcWLt6GjzZssZaZLFlW8BmW5qyZeTWwRuy3hIF1VHFvRA7ei2VxhwC1NuYDRnwr2FwFDDOczLGtnyQMh7CqzN1YWCg2vzFBrtsGBQZdBLPdzpNZEb2QOS5BbhbQvGpV3GCsNpbh0pAKcH7N66Qeoc9wpOFrXDF3rpxquET9zGxnJHrCW57m6XmGgcDl48T7dRgQ2OA8wwFjQe3/F5Cfj8qX3X73u7PiJl+LrNkzurWGKcIgvKmm4mFSq3cIcOoD3OZcuUx9mUIycQw3a6TiL98Ioe39tvPMak9fHSSPCm7jbw108ptd8oqC8S/LgtKto0HvU+smgqYK6Jm9JSrxvnUY8HYMxnndaAbuaFriVzeotmxlXCJkMIXlkZsw8m9DdRXjgTGMgfc7JAwkNggOJYQTb0EJXue0e6nCcYHdMv1v4PI0T7jptdmpwVgAPcQwZVALNF6AtohyWNUuoecXWE58kPueSa8usyeGiltEFJcGQcz3IJ/rY9Ek27NZ+5sUlBisvPY59EI35+U6rPL6B365wCvmDODPfibhKnshRWALnm2F0Hsa9yK3Yl9bEjohWV2eTFDR2W5kkmZsXf0V+66tDE/fKpHj64iBFRdhvzPYSgoFC3+Z+/3t79xubtzR3BqR5RL3FQoTPH02OhEiBy87x+nxwvGvBD3IRQUA0/luQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: dR9jozdjuPvNRFS5X8/6aRy9Bhp72XzS+lZKzdY7VRnP7UMNhBDPf5OoYr0NOaJ8ptCU7e+M4HPVpTIFlgQnpH4cYKmKFGkXxX3hMgPK75azpi69wfk8dOFpEK64lwq9ImiUpV2zk2AxbgQL2MtWk5RfOt+kds61FBi9QKBTtVVrjsD8DwDYP+fyP7ZNcfXRuANvk9MUdedDRDnzFEfxYlclH1gDxDVJsyriz1yOJl9zFLgAglGH7NtFZ8GMw5Z7PKGOel76fZq0dtErXvD2kTYWkNrXNfAfOHje6WdpzjpM4Fy42dbYIhArvpbXlSkdJLi/okOUwL9ov6rG/1RNMjVssgZ361R8Or8RURhT2+bOWGmGQJH34flwVmHBPZqbK8b3ztS6mcLclI5Le+ODAxHLrk9//hRRvXJItVUq5LR+dzlj1yjIuRz5LtntJe0o+jDBymu77QMRYx9CNt0c4AeFUvRnyVkwuMlmrv5H7x2Q42Z8L20jmpF+ictDOiTw7l/X+7+qbxVl1IihhAV8ef031kVzm/zNsqajyWDI9vwKDus4xeli/D1DCHnpwseUxPjIp6sZt3sHxDR7sNlxu7XPY9yBOFqs2+eXW5W2NJ7gJJy8swXWOLNRfOaam4yPkihRGzDPi6quj1bQltsvH1pTBdKpsgFYG372Ra+K473eBwTzSplSQqrWXx58e0muanSUKHk5gHLeDT3hZQ7W+ybi98iICW+bdGXe9DAHSr0otGfBxNVBOjKXmmGvQWH0zT5SqUHkm2nse+VaP1sw9lxhAnO3O7sYvDndScTuzIzBEgeyloM0A68BpMjvGhxbSdH7s7zDmCpPmZKeX64v85lKjgX98I6dCDes09ZluMsJuPhXNCx6m9zuD/7eI2fM/a48ESitnTCNOTHujQ/ELSPDr8SXkP3H9tqvuO4HzqJGjFP4RwOfwYMde3ajano9 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e008042f-87b0-4306-a25f-08db6b853cbb X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2023 20:40:19.7620 (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: pjGx1C7VPhciuCMNfUsQjVTUv6XMx/efITCxS6d/wyAqG67SxtJjpf6vEKt3yxHcF6ToOmyjNzmyut6N6YlzUg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB5868 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.176.26 definitions=2023-06-12_15,2023-06-12_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 suspectscore=0 mlxscore=0 adultscore=0 spamscore=0 phishscore=0 bulkscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306120176 X-Proofpoint-ORIG-GUID: S0vO_-NYP_drEBiC1puPCk0BtsjcqveT X-Proofpoint-GUID: S0vO_-NYP_drEBiC1puPCk0BtsjcqveT X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: D145D40010 X-Stat-Signature: 4ftfrkpui44sk9msznb7997i9rzq6stx X-HE-Tag: 1686602434-237347 X-HE-Meta: U2FsdGVkX1920TjQohWpE6ckH/GEccNMv71gEyIKazOscPNndhP87w//g/m8TI0CEo41ApPQTlPy5cxrBRiTLvWLzkPtyo+Fx3JJ1dH7vCBfhBaF6sMxoyez5w4yHTb3hJH+fV7+htfVA6krv5uuJIRA+OHwDQ1CnMSEzLb+oMXdytpqtExTDnJrTQa1379pF3mUnXwxnb3xAYOoPIq32kxf2ICjcH0nWX4cjlWLR1ZHFxWfRy+DypJn2oNeq4rRq6FLzV3oaibWGMelQ0U8fESN2+sLtxVTM2673NMihz4lg56y5YTw8GEVsz6EjuuSgvRaU/2UCSIw9QEzbi+SQ072aGqKPEDCkcDc8s9HxMd68bhDZrI67spduOy6ixDM1wwK8rbjY1C4nIlfmpwapqt4ne11UCZpkldxNm4eXK9AvOf9PPgDmblOM4WvGtoBIHvoM8HA5ppE9zSDN8xsioWE1oiPw8kbnh8KbIclR5YJkbIU2t7+II7hNGvCwBckpHbiqPaZQRhdKPik5eSEqi3TlK18tkae7KsLGJnhGSBrpjre/UjdRUH+WNhW3NETZLIdHRs6Q2RDh6eu1AioqKd0OWWNQ6Z4aJnDigdJtdNYtoooqwEnb+8Z8eWP//BAxOlN2GceEfLS7AQtJEh+2zMc4+wYs3+fwNK1YkssK+Rc/URPNhaVgNuccO0VoNZAPF75hKI6tm0s06CTLj/JLggvwVxAhxw4DjwYld1HPbTtWGn3kXVNjUfZ+sTmB+Wyx0zd/gAMfotLI2hGf9LjGk+FNsR4+3aKPJ+RmDv4hQIstZNlzhaL4XwHNlocVZirU8/6nGurt0Qa2w/GjzrTsiBN7X7MyRMY2qUQZXLo2YuO5/FUiCaUbCvXCsU239fd4io9QdrK/6wrsfyp24P6PF4DKsGdEBvwsDmIO/EUyV2PiMyoU7P0tAmHxJ8sJdSflWcV1TPKQ8OiAPjiD1T i3hKmTua UlDjN1NqPvfNaH+BYXWaJnZ3gTF4Q3Yt7PNStRRvn/Rm1TDwxkba3qh3TTeidRMnTVj0Popee1dwMmz1pSCABXhbMJBiSWG1Oqi90LGmNSld1541lsoiAp7uo1GZOs9ZhlW52ohxqZVmI+TbpG0LG7r++Kolr9hVXwW7grW2icHWEiqXDztA8A9p/ebG7FQJ/H/GOYm31YavYQD8le4W4YCjkddWdiwGIryZ9yA1RreboB4CqsYiWBqvwSFRtbmZfTvIYTQgKMQ7FLUa1eXrg/awyXME7jOopXL32NZEiFj9pTYVn0vCwnFBxu46LfXo5wSgnUZ8cAIn/Xdo+v3KI2SkTrTdXsbmGdRfuhR5jvjauiBSwrqusB2MM1xiNrJmXYRgs1awq8uyJgiQHpyGg8GNDywT/ApL7dAJZ1fo9AOFCXDM= 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: mas_rebalance() is called to rebalance an insufficient node into a single node or two sufficient nodes. The preallocation estimate is always too many in this case as the height of the tree will never grow and there is no possibility to have a three way split in this case, so revise the node allocation count. Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index bfffbb7cab26..815c64f4c370 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -3166,7 +3166,7 @@ static inline int mas_rebalance(struct ma_state *mas, * tries to combine the data in the same way. If one node contains the * entire range of the tree, then that node is used as a new root node. */ - mas_node_count(mas, 1 + empty_count * 3); + mas_node_count(mas, empty_count * 2 - 1); if (mas_is_err(mas)) return 0; From patchwork Mon Jun 12 20:39:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13277309 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 AC7AFC7EE43 for ; Mon, 12 Jun 2023 20:40:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3FC18940007; Mon, 12 Jun 2023 16:40:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3AC09900002; Mon, 12 Jun 2023 16:40:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1FF10940007; Mon, 12 Jun 2023 16:40:45 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 0EC31900002 for ; Mon, 12 Jun 2023 16:40:45 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id C1F041402DB for ; Mon, 12 Jun 2023 20:40:43 +0000 (UTC) X-FDA: 80895264366.20.D2DC8D0 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf16.hostedemail.com (Postfix) with ESMTP id 4ECDF180014 for ; Mon, 12 Jun 2023 20:40:40 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=s88SGnnt; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=O4w93raS; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf16.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686602440; 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:in-reply-to:references:references:dkim-signature; bh=566WjR9HOsaiTi90oG2qxgL9fq1TpDqi1DBa3zdZrq4=; b=gdyp4JwPgicaO0671MvVV8JwCzWwcF0ToKFanKp5xt+xttgayh7dhrHkjAiKJLbd5/fVAy UPoUKbTVBicx+ciaGxtlVr1/kOzrJKokpO91+Cvl7KkqBl23zqSfRAy0uynY0ts7g1tqS3 g5eqbe5Wgw5JyvFWEJrHQEydxM9zSEc= ARC-Authentication-Results: i=2; imf16.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=s88SGnnt; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=O4w93raS; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf16.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1686602440; a=rsa-sha256; cv=pass; b=4Y0hX4iMYp/vGaFHsKH/MmfMly8qh/JSYithMlvb2cDciX6o+ovKqXhpfgGuYyQV1Q41fG ftNU0FyiGylTR4crnjzZ4mlv707iQEVpBQIySoVjORFyHx4BvrYRKsW5ZlAHW0hRvO4zlO fVBNyrt0FYN7bsoIvXPD4QKFhXcMxpI= Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 35CKOQGg002209; Mon, 12 Jun 2023 20:40:26 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=566WjR9HOsaiTi90oG2qxgL9fq1TpDqi1DBa3zdZrq4=; b=s88SGnntgJmGn+MPF4muwVC94AFY2YTnhmSpHciXvH/IZmaSbcbUtIOkJx9Th3RsKk7b 3wKDkFWumq2HLXT+lIGJxRJaJw33EHXkbIpJj2vBxl3fAblzUDywtGb8TTnK/eDc8sxS p8hpvaZXfxB1LqnM8P8tEwBqg7OUOeWNjtrkHfJBlwG82ylGNoqC2Dl97LjWpQV9RtC4 whQdtlak4MxzMcyobgYqlVTUdzDmu/C7zcTVtdIi8h/5vzGPgT8b5HAekU4aocYVGGWI AWnp3qt+mrHKCDmE9aPdx1+6wdH1EzYAwRTntY8wthCF5tz9ZNCi+McmH5c26Mgke5/b iw== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3r4hqukv5b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:26 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 35CJd8Kw014064; Mon, 12 Jun 2023 20:40:25 GMT Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam02lp2047.outbound.protection.outlook.com [104.47.51.47]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3r4fm31597-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:25 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Hm2L81BeB3ccBfsgPP8tGY36kwj2U9s3v9SlYSunHcTJmN8AYFbiXn6lQmsh2Vqd2XyEGuT1gtqqAvXJGmgVEQfWNMfXAwI2j83Zi+ULCDQq/KZ7WfduOOzCiKzwoNLUwiwhu7HkeVIX9ecnXyTw8ZPiODbqI0dOU6YBknRU9i2rWzCm3n3qPs7kB/NwF3bz49+h3HjvfACobCMuF3emuXInbr05QmqFiYdB/tmZ45LNsIYFmm+STBhKG/tE7xhasQ7134KXGqHiLPA4oanyGrGo0z5Cw0RGOr7PMiUQAPqq34sbUnuGwt5tsXdpUF6U2FfB7lLUwE0vuGQy+Mugbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=566WjR9HOsaiTi90oG2qxgL9fq1TpDqi1DBa3zdZrq4=; b=kbTt5Wj12Hh33U9BzQ9XHwp908EVbSH9vMtCVpwAs4vtebzvpQsP8GZp0FcupWOcjanT2UTq+cxQFNev1wWUhQn2nZwv2hJOQLNvTXzH/OIKNCB9MkHmBoUEAejUiPBcLb+oCjyh0egeRFG//wT95x83bImKtEEB7kNJ3wQmIFHTpbjvVg/lYH5VlD1A7ZKDeWkk+rvhgdBMy1gShnrZ146rdVXNWQwoZgX7NUNZ2nBD95PqhAlN3CsVqC1da8C3p5ljxaP6lOqSAI68dOAG2AU0gfp0iUg+D2AjgqPJ3XDK7dgU4itHAiGuv8tgND2xgwqqyVtTgMc5Yqp7kh+1qw== 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=566WjR9HOsaiTi90oG2qxgL9fq1TpDqi1DBa3zdZrq4=; b=O4w93raSfb3728A3uCHIarYUMVg5FyAAEDXMtg0R7BIQyyAJ80WRi767YwmnVXeeaCFQnF+KSs9mR/wGv54gziZVQ8QKdMEZPv2ALZ2HDZ6lsN7xsHb/f6gX9fI/aP776PgswQSH6z6EoYtpPuZD/dU6NpDhYXLqCSqq6FcY5no= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SA1PR10MB5868.namprd10.prod.outlook.com (2603:10b6:806:22b::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.44; Mon, 12 Jun 2023 20:40:23 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d%7]) with mapi id 15.20.6455.045; Mon, 12 Jun 2023 20:40:23 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Peng Zhang , "Liam R. Howlett" Subject: [PATCH v2 09/16] maple_tree: Re-introduce entry to mas_preallocate() arguments Date: Mon, 12 Jun 2023 16:39:46 -0400 Message-Id: <20230612203953.2093911-10-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230612203953.2093911-1-Liam.Howlett@oracle.com> References: <20230612203953.2093911-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT2PR01CA0008.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:38::13) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|SA1PR10MB5868:EE_ X-MS-Office365-Filtering-Correlation-Id: cec6426c-3a27-4f87-57a9-08db6b853ee2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: q6EPS6IEdfiQYbbm4yCq9ZiuY5pCRavKFx9MSuqYSUNyEEfKwPKQHNf3KyRftd9Ys5cjH+pGeSl66b7MfT1u4X4UHsIMMRiqD+5X8FjN0NgIjYbFhYi5KIke4mz1072svwC7iirGALKjVDlwzq55jgShwKObOTeOAA2NG8l8DKzrH0gJYWB+LZkeIk3gI5dQGbDFUHMsVh5VaQIaXTHap4IHAjKxKqxQwC4RHI1F8kNgOHJJ+wIGJbofq4d2afYm7AjSHO+d18K1a+dBytlyRrE6de/APQasnCq4kbWU9Mi/mt5uYHIC+nTxO0mxmjTV0cgd/XRnxGUYykZTtPafMVW3rBxnB2Z+WITwpuHwf6D+9fLCvZA5O3r+8sRUTLDJxNOjl4EgPDpPoypQ0+WMsIXJcRSr3Z9BLLnM41zxp3fWSo+hQ0gtByaaNDHyN9nQ43z6wS7/cXv5NQyvTUKEYsBkx3Gqbdlpi0+paoQXxeaoXWQCgrhdBVXeaUaqd3GMhk2+KJPMhyB7x9Wnn5SR/wPVUHrFhQLH1kvGmrrV4kZ7Y14l9wIQDiXXZV45TChO X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(346002)(39860400002)(136003)(396003)(376002)(451199021)(8936002)(8676002)(5660300002)(4326008)(6916009)(66946007)(66476007)(66556008)(316002)(54906003)(2906002)(41300700001)(6666004)(478600001)(6486002)(6506007)(26005)(1076003)(107886003)(6512007)(83380400001)(186003)(36756003)(2616005)(86362001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: l0QCH4m2yJ6H6YXabrwcUWVhYuLHGXwtx1mE9VMEp9RncJg3AuIcfO+eylZJ4FxT7wRywJHsCXUmzlo02pM6FaOrIGrOV81CbshGUX/hROTixyCrtHSomQtT0NY9v6scoI8AQuddBefLNMvHc5Jp9gWkAJnOyxAj+WZdkE6OrqCL3gdmEpwpSSiT4IPcYd54XeoxHMQJXdzvdY2nQ30ceOu9a1rUR+dVWxtpsOMXczON71jAaKMVdgG1Ht7G+3jnqDXjkIcmkWFNTcO6+/X20il5n/lgIxhoHdqKsmi9g6n8h2JzzLZyWr8lxOLUO0AixiZUBV3LzbIvG8GO54I+4ndF0lk4eK9yyCid5Q6BPirX/g/zeOcT697NbslqI2EiZc5uQeeUIjUKt7xjD0wIi7HRS7gvgrci6PXwZTwYJmd0EzV5f5ntOh7D4LUD44uFmCw3G1PtDiY0JmwUXkfnblwki/l562phbfiZH8GhLRCV+FAv93miUZHcqwo0XaF3VWekTgAgf4XsDbkKJ42XreUVk28vlSrMNzqUuOKIvqzUmF3oxGX2JYWp9SP/TPZ9uAxySFo3J2x8NBvl4LvPyu+LiQc9zTeG0nwZWFCKWHbn27gWezHaVfqm3m1U+KAVtEjmzFSCMDeD2Pz/lWv6tYvtb5B0EalbXpRj0AsV6Y5jO2S9BZJfaJ1psZ+hZiJ10HNuz8c3rrf3TjZAWGHLmTyfKUGvde53K/XcUavp+t3HW2xWfk8z3A8f2Xou3xqcWAHzDwOklOubTu/+f7VFSruQ8CMUTw57LemOo30SAHpGfYTpHnZSrr6iYmLDaP71VS2XwxIUEMTyi+69JZX2LpNflNnieI+Z4AJeWW4JWeZji5gFxnYOxXZkv/OMAUvcsylbn7nyFnsN0C3Bt3RHYZZMGTzxlXK5I1+rjINiXLekCPaLlVThdoMDT0uo+YcT/dVFZtX2wk5Q50D4eTI7PriBgum5+934NBBF4SzTGlKdypeUqUAvN73C/IV3QWjlWX76WZBm0VdW4JZYoy4YECisvdEt6Z6iolUhY89j1/JRVV/vlWvU66Y4LMcnWlla5NZv2OY5fKQ74C5kCqKQLQCaHlqdZVdZ/J7Ne5kBfoH2A9el66hWxcqiQ5Yj5F2L5MsxfeOzNvOwp9P9rkqQjnkGOpd1yWIpEqiiDeJlLwClXNdPwqUHe5ivYW0wVDpTrcMtXEIPfbK0Mw575EnaHu7Fir9EzPGESkJ1QLkCVoVkRyX2NIfZGUdHg1e732CIiKxooVmaqOn3jKUICDFrJVpuZlTCnIXBERNSQnBGZBxOuiSGIOT/VXjqtNPgePrR2xjmbc5LIox2gweeSXWYZdCISRLmJJPQ4hVBVCaXgYKGbttFeNZ3OgzSCT1EYMeMw7KxDjJRiRG8cC80tKFfhdk9zhdEQaLVj/0SuRQkQvo72Xo5yjepA6y1FWAhsf8V0Fkh/M4fy/a79py4TxFPjpRHwLBwX70lXLuQVW0m3sF6ASNJJZG/tXMuK3qH/1FuXaMrYXPGFQXdAR6BinCy1nDsE0qI2uonA8MI7gS86CNu2SOP8ZhWa2disMe1XVRqTQCK+VvkSuljn72m23D3JQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 46OAOXoTQK6kGORyFmOFyAsaybHpiC/Pmt0t9j/iZoSuiIwAvFMOkggPqv/2a1FCqblm1JSFjSmAClUCXssg+vCxxLLB0VUgnGgGMVCnKghucmO9C2M1aGfBb8KMBhpuwKtu5ICkj0MdIGZO5fgNWArd6j2axOoyrsB+bmm9tt1CMjLVEWL+ghUNdAU1o/0ULnhnclUBpP/2LRur617+1/RKye+Fvf7FYIO8GdTncETt2PSXeV8nM4kQOVIN+YiDGpxN109Z9W9+VbznpxdPbzXxTniysdrwieIrQFrbOhhzMFOFmPFyQJsbNoozs7rUSYii3JaQpKTJgDQcXZaZcRgMv2/nTjxakyuYWDxDFHnZqv3SJEnZ9Dwa04FsqhlYiDeh4+cZuDT3jygT3s4K+B3TUwJ+pVJuQuJnBtnLAQY/jKdCg2RZ/BkGB8FgIIM24OJqEijtguJ+A0y+/ZQsEnycxsdZ/TiWKbZ+cq6Oa2ZFlTXm8dfKoAZJduzGMlFq86pVUCINQkMr/G3KKfr3+Mxgkp0toS4ow+PpIJP+nwNT+OSAaR62cPshisSIPGthBjRmZStXnauHdLOIZOMUMgM4U3Fmn5EAp+EhxFNFDlUOfAkEM7BA4qZfWFkT4zgtm5tSzjgLuQLzAlBEn7tqg13rww25+zRYZ0ImtJ0fwLLOY6ZCA7gIku31sn4eXADEsaYsHLJQuny99m7UVIiRNBRVW2krMudle+90eSKNweuZQHSVYxfNs7QW30fAqgv7438+X6daDQ5nzIRhZOzKNGb9UrfIpKv3JBXRsULGZoluP2G86C0JNGq1wG8PWvrvjglQ6N9N1uq0rr1kjO7X977koM3aaNkVkX++RCQeNmNS94SZWy2h4e3ZwVlE/F5XWB3fjgV2hNdHZGIp9YHVFz9lROwQbGE4AJD25YfXofrGfzMWZKtt5+KbHlxG+Nrs X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: cec6426c-3a27-4f87-57a9-08db6b853ee2 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2023 20:40:23.3659 (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: kZcB1aUyHxXco7EeZPAEUzNmWN1F2S7I0LuK4OUI7ZXx6tMWL8vWi3rxofFOOuAMyYwZC4DMjlLohCQf1rwmUA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB5868 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.176.26 definitions=2023-06-12_15,2023-06-12_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 suspectscore=0 mlxscore=0 adultscore=0 spamscore=0 phishscore=0 bulkscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306120176 X-Proofpoint-ORIG-GUID: ULVK4N_hTSzwuBw0zczigZ84pYV4HAkk X-Proofpoint-GUID: ULVK4N_hTSzwuBw0zczigZ84pYV4HAkk X-Rspam-User: X-Stat-Signature: 5ugug7uo68it8e3iwbo7oirqarp7bkid X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 4ECDF180014 X-HE-Tag: 1686602440-998314 X-HE-Meta: U2FsdGVkX18SJIzQMKmvPElBZWOdIx8jixO9TpjtO2On/QbHngOAJVP4qXM5PiaPfTgKzkNZSUe5ZFejfRfH0eM/khMRz86YTICUEIUr1UlVVHUakp7vOB/QHhDxDNB5EIW5o2OyYB1zSkh2ywl6z+iDxrroVDxL223VqzZUCJbuJpRtn5Hfk/JcSG1ndg0wkuXmeP45LbvSW6P4tRV20iK3vaXt8NB+lcNN7Xmcurg8ywV5zePJldIshmg2LGFgtAMQGj6HugrDvY3wzAumreDUzJJkU3lJ3h5h4VYMMJGspniJZlSmhxRju+m8sISf+o9QLTtwNgSh2+LAteEfoIZzPtdMRTiHYR9VenCTtsbNL4On12pp3twMqs8QNBVtdCqv4HVaiLbjpQ+pc6xpDOfRsbGMBwd9NQi/8c9scWKyoc8M22U3l630amgW80kn0XSU0opj4tHkZHoO99ZNJ0n792Ms78jQikyftvmf48v25aCew7z8DGzZ9M2b7CEtkH/sCEOTPP/4MaWdwdAA5QQXG29ibjP8vm+ot3wYBG29EZGuhsht+zTed42Fxk7fuf/PjKR80x6UlrkOFJbyzMXHH4VOaBth1XlIVBViy188FBu4BUMNDikTTBv4Jj3BWtWK5dADzMi+8Hpz0PQ4Iw8625q30G1hWx2oEoa3b8TmgPIYDSJ5qiyQNmyDIcJyhqWfsFzE5TGGGqO/guQLAczvHl0VhWYNoMiRE6GSdAvTYcJ+578UxSi4qWNJvZp8TOuz29wlklt+qonH7WiephH6MLMyVhUTbHRW1UkXVMeZ53kf2NMklzk4wg5c8IT5vd37DuWA2NnnGa7J5NUWpaLQeJYo/Eq8m8WLk6vmFgBXqdMJHaHlMTWKrKa0zJI9nx9k0tMHaTf0xVcZsj9Chh4lBjOfeLQnWO/4bKDJil5oNqZdGibscWGJwrslMimc8NT+dY/wfMAtIhA2Js1 Qdz0q4rH z3rvfz1O4+U/wwx8PevdUl/hIffpEFY/23YXcrIJixBMkWCgKhC0y+58JYjyWB1jsAVj8C+aiqNcTYc3KbsHd/zpqCnJeJBofkiXjKxW7Qh8XFaGPX/xkQXaXWJf6u3hinQJWgsBb8GP6Yi3vh0gkoxHjFbFdFrKaEJRRYQHccII4AGBhNLmGvQE+U6Nk61AXZD9fw+pN6Mqtvmf5w3VCmhsuP2dusYOxUYDkzEQIIJD4qpFq3KSMN5UnS6JAaPDp2g3Z04d3x9VdOSrvYCDubteC3MbUlPJAsn+ZZ41d7L5U/HCdxdzDd6EOpRLR7qtZ87hDSSsD4kO7XTE5G2lzA/7vRi7bIJP7Wvdt7gxpR14tLrx0vdl3B7u03AyuLWQiS4buBs9RUGq8dW02QSPHDdw+83m42BIXlZ5/JHujEr6T91s= 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: The current preallocation strategy is to preallocate the absolute worst-case allocation for a tree modification. The entry (or NULL) is needed to know how many nodes are needed to write to the tree. Start by adding the argument to the mas_preallocate() definition. Signed-off-by: Liam R. Howlett --- include/linux/maple_tree.h | 2 +- lib/maple_tree.c | 3 ++- mm/internal.h | 2 +- mm/mmap.c | 4 ++-- tools/testing/radix-tree/maple.c | 32 ++++++++++++++++---------------- 5 files changed, 22 insertions(+), 21 deletions(-) diff --git a/include/linux/maple_tree.h b/include/linux/maple_tree.h index ed50d8f459e6..e18ecbefc7f7 100644 --- a/include/linux/maple_tree.h +++ b/include/linux/maple_tree.h @@ -458,7 +458,7 @@ void *mas_find(struct ma_state *mas, unsigned long max); void *mas_find_range(struct ma_state *mas, unsigned long max); void *mas_find_rev(struct ma_state *mas, unsigned long min); void *mas_find_range_rev(struct ma_state *mas, unsigned long max); -int mas_preallocate(struct ma_state *mas, gfp_t gfp); +int mas_preallocate(struct ma_state *mas, void *entry, gfp_t gfp); bool mas_is_err(struct ma_state *mas); bool mas_nomem(struct ma_state *mas, gfp_t gfp); diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 815c64f4c370..fa51abaab09b 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -5535,11 +5535,12 @@ EXPORT_SYMBOL_GPL(mas_store_prealloc); /** * mas_preallocate() - Preallocate enough nodes for a store operation * @mas: The maple state + * @entry: The entry that will be stored * @gfp: The GFP_FLAGS to use for allocations. * * Return: 0 on success, -ENOMEM if memory could not be allocated. */ -int mas_preallocate(struct ma_state *mas, gfp_t gfp) +int mas_preallocate(struct ma_state *mas, void *entry, gfp_t gfp) { int ret; diff --git a/mm/internal.h b/mm/internal.h index cdf06f680d6e..2691deca9699 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -1047,7 +1047,7 @@ static inline void vma_iter_config(struct vma_iterator *vmi, */ static inline int vma_iter_prealloc(struct vma_iterator *vmi) { - return mas_preallocate(&vmi->mas, GFP_KERNEL); + return mas_preallocate(&vmi->mas, NULL, GFP_KERNEL); } static inline void vma_iter_clear(struct vma_iterator *vmi, diff --git a/mm/mmap.c b/mm/mmap.c index 8b3e58d6ac40..75b2a86e1faa 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -1982,7 +1982,7 @@ int expand_upwards(struct vm_area_struct *vma, unsigned long address) /* Check that both stack segments have the same anon_vma? */ } - if (mas_preallocate(&mas, GFP_KERNEL)) + if (mas_preallocate(&mas, vma, GFP_KERNEL)) return -ENOMEM; /* We must make sure the anon_vma is allocated. */ @@ -2064,7 +2064,7 @@ int expand_downwards(struct vm_area_struct *vma, unsigned long address) return -ENOMEM; } - if (mas_preallocate(&mas, GFP_KERNEL)) + if (mas_preallocate(&mas, vma, GFP_KERNEL)) return -ENOMEM; /* We must make sure the anon_vma is allocated. */ diff --git a/tools/testing/radix-tree/maple.c b/tools/testing/radix-tree/maple.c index 03539d86cdf0..cfadc4b75d51 100644 --- a/tools/testing/radix-tree/maple.c +++ b/tools/testing/radix-tree/maple.c @@ -35383,7 +35383,7 @@ static noinline void __init check_prealloc(struct maple_tree *mt) for (i = 0; i <= max; i++) mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); - MT_BUG_ON(mt, mas_preallocate(&mas, GFP_KERNEL) != 0); + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); allocated = mas_allocated(&mas); height = mas_mt_height(&mas); MT_BUG_ON(mt, allocated == 0); @@ -35392,18 +35392,18 @@ static noinline void __init check_prealloc(struct maple_tree *mt) allocated = mas_allocated(&mas); MT_BUG_ON(mt, allocated != 0); - MT_BUG_ON(mt, mas_preallocate(&mas, GFP_KERNEL) != 0); + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); allocated = mas_allocated(&mas); height = mas_mt_height(&mas); MT_BUG_ON(mt, allocated == 0); MT_BUG_ON(mt, allocated != 1 + height * 3); - MT_BUG_ON(mt, mas_preallocate(&mas, GFP_KERNEL) != 0); + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); mas_destroy(&mas); allocated = mas_allocated(&mas); MT_BUG_ON(mt, allocated != 0); - MT_BUG_ON(mt, mas_preallocate(&mas, GFP_KERNEL) != 0); + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); allocated = mas_allocated(&mas); height = mas_mt_height(&mas); MT_BUG_ON(mt, allocated == 0); @@ -35412,26 +35412,26 @@ static noinline void __init check_prealloc(struct maple_tree *mt) MT_BUG_ON(mt, mas_allocated(&mas) != allocated - 1); mn->parent = ma_parent_ptr(mn); ma_free_rcu(mn); - MT_BUG_ON(mt, mas_preallocate(&mas, GFP_KERNEL) != 0); + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); mas_destroy(&mas); allocated = mas_allocated(&mas); MT_BUG_ON(mt, allocated != 0); - MT_BUG_ON(mt, mas_preallocate(&mas, GFP_KERNEL) != 0); + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); allocated = mas_allocated(&mas); height = mas_mt_height(&mas); MT_BUG_ON(mt, allocated == 0); MT_BUG_ON(mt, allocated != 1 + height * 3); mn = mas_pop_node(&mas); MT_BUG_ON(mt, mas_allocated(&mas) != allocated - 1); - MT_BUG_ON(mt, mas_preallocate(&mas, GFP_KERNEL) != 0); + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); mas_destroy(&mas); allocated = mas_allocated(&mas); MT_BUG_ON(mt, allocated != 0); mn->parent = ma_parent_ptr(mn); ma_free_rcu(mn); - MT_BUG_ON(mt, mas_preallocate(&mas, GFP_KERNEL) != 0); + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); allocated = mas_allocated(&mas); height = mas_mt_height(&mas); MT_BUG_ON(mt, allocated == 0); @@ -35440,12 +35440,12 @@ static noinline void __init check_prealloc(struct maple_tree *mt) MT_BUG_ON(mt, mas_allocated(&mas) != allocated - 1); mas_push_node(&mas, mn); MT_BUG_ON(mt, mas_allocated(&mas) != allocated); - MT_BUG_ON(mt, mas_preallocate(&mas, GFP_KERNEL) != 0); + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); mas_destroy(&mas); allocated = mas_allocated(&mas); MT_BUG_ON(mt, allocated != 0); - MT_BUG_ON(mt, mas_preallocate(&mas, GFP_KERNEL) != 0); + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); allocated = mas_allocated(&mas); height = mas_mt_height(&mas); MT_BUG_ON(mt, allocated == 0); @@ -35453,21 +35453,21 @@ static noinline void __init check_prealloc(struct maple_tree *mt) mas_store_prealloc(&mas, ptr); MT_BUG_ON(mt, mas_allocated(&mas) != 0); - MT_BUG_ON(mt, mas_preallocate(&mas, GFP_KERNEL) != 0); + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); allocated = mas_allocated(&mas); height = mas_mt_height(&mas); MT_BUG_ON(mt, allocated == 0); MT_BUG_ON(mt, allocated != 1 + height * 3); mas_store_prealloc(&mas, ptr); MT_BUG_ON(mt, mas_allocated(&mas) != 0); - MT_BUG_ON(mt, mas_preallocate(&mas, GFP_KERNEL) != 0); + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); allocated = mas_allocated(&mas); height = mas_mt_height(&mas); MT_BUG_ON(mt, allocated == 0); MT_BUG_ON(mt, allocated != 1 + height * 3); mas_store_prealloc(&mas, ptr); - MT_BUG_ON(mt, mas_preallocate(&mas, GFP_KERNEL) != 0); + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); allocated = mas_allocated(&mas); height = mas_mt_height(&mas); MT_BUG_ON(mt, allocated == 0); @@ -35475,14 +35475,14 @@ static noinline void __init check_prealloc(struct maple_tree *mt) mas_store_prealloc(&mas, ptr); MT_BUG_ON(mt, mas_allocated(&mas) != 0); mt_set_non_kernel(1); - MT_BUG_ON(mt, mas_preallocate(&mas, GFP_KERNEL & GFP_NOWAIT) == 0); + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL & GFP_NOWAIT) == 0); allocated = mas_allocated(&mas); height = mas_mt_height(&mas); MT_BUG_ON(mt, allocated != 0); mas_destroy(&mas); - MT_BUG_ON(mt, mas_preallocate(&mas, GFP_KERNEL) != 0); + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); allocated = mas_allocated(&mas); height = mas_mt_height(&mas); MT_BUG_ON(mt, allocated == 0); @@ -35490,7 +35490,7 @@ static noinline void __init check_prealloc(struct maple_tree *mt) mas_store_prealloc(&mas, ptr); MT_BUG_ON(mt, mas_allocated(&mas) != 0); mt_set_non_kernel(1); - MT_BUG_ON(mt, mas_preallocate(&mas, GFP_KERNEL & GFP_NOWAIT) == 0); + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL & GFP_NOWAIT) == 0); allocated = mas_allocated(&mas); height = mas_mt_height(&mas); MT_BUG_ON(mt, allocated != 0); From patchwork Mon Jun 12 20:39:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13277314 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 1CE87C88CB2 for ; Mon, 12 Jun 2023 20:40:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 865B2940008; Mon, 12 Jun 2023 16:40:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7F79F94000D; Mon, 12 Jun 2023 16:40:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4C17694000B; Mon, 12 Jun 2023 16:40:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 2F39D940008 for ; Mon, 12 Jun 2023 16:40:50 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id EE87BC032F for ; Mon, 12 Jun 2023 20:40:49 +0000 (UTC) X-FDA: 80895264618.08.E25A734 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf19.hostedemail.com (Postfix) with ESMTP id 7949A1A0017 for ; Mon, 12 Jun 2023 20:40:46 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=i9qE9hCS; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=RJQlZqZu; spf=pass (imf19.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686602446; 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:in-reply-to:references:references:dkim-signature; bh=NJmVxdLzLEbLcdb/yA4FmvurN2C/Dp3Rfx9FmMeuxiA=; b=Zr+mzekOVJDHbw6ssTwDhW9pYIKbbum3vaMh5N0rialiuzCslUE44wqwfoZSXWy1QOivcK u40Cl0SK8z7G/aAdOFKVFCoJzSQ1NJXp5x8P37G6Nm/pIwrZMjQmSwMFyL6jKEh4MQlyIy 35w4FdXRdzNc7bWzafisie7FuiJwXV4= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1686602446; a=rsa-sha256; cv=pass; b=FM0N+9vjFsGYPk4SlEKLYsfz3OadMizejAoJhFdB/Qpaj1rlWx6RdDDcrEW9cUPRF6Epe0 OAeh9JEktIa116gbBFIA6QG2PZ2Evlo3yN+6bMNZFx3WparsPf8D2ZrM+Eayn4Oh9EhF+0 QxBJ+5hNh48gMPwznoC4SKyjgIu3HGI= ARC-Authentication-Results: i=2; imf19.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=i9qE9hCS; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=RJQlZqZu; spf=pass (imf19.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 35CKO4nm029683; Mon, 12 Jun 2023 20:40:29 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=NJmVxdLzLEbLcdb/yA4FmvurN2C/Dp3Rfx9FmMeuxiA=; b=i9qE9hCSQDKA4f5Ep3rPsXgHaGrky7c1yc5PN8ZeZOAWuxj/CV8cITcF+fSQelWUPgm1 BfVUCQbtaVjaS6dUO1vqSm7wq+ysIH/R2p/tIuLcterTsHNqxy6r7xoXfa7rPxHdmH5q v6wdhJ1q/GlKWKh1lKx3u5Fyx3lPztCzRKpkVjy26CExuvkV26dtJoPZPObIkYhW5W9z LpnYCdY+oguHhdPuGczzHSeFrqfEKgiTZ5p3PnXmlhN2OTLLjHyXOkZFPO//Y2uJnAHV S+E94DWeBfEz5HL6jj9+1jrawxgeG2EEghON9/M+IoHS/8behS1qxGQYEeNOrivwFuZf Fw== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3r4h2akv49-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:28 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 35CK5C8k016192; Mon, 12 Jun 2023 20:40:27 GMT Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam02lp2040.outbound.protection.outlook.com [104.47.51.40]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3r4fm39a2c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Iu/ENnTKzbTs31QmEtIiDzbg80S3aFioxCCt0cAiT4HSPoghkxDDiDYFt1dWWJ5PT+wH3YtnF9tuH4HxmH4s7214eJZ/zobmRj3qn5xPtsbu5peuazyXswM3i1/vAUwGAEwJ4DZpnoQ9Eue9CFICEWaF28utPohX2kVs+ReQmXAn8gBU2JsNsf7twMPI0Of1v7I07oSR5EA+/pzTB0cKoPGXYtZUgGgL/om4AHG+guWrnJCQCScfFuxUx+INZkP7NLIt02BRDJXqAf3lAii4ScoHq6bnKKtOiw51WW4w8Y6AFpJ3pCoQ3DquUvOCrxWILSWDCkAQETqeG9x2eHlfdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=NJmVxdLzLEbLcdb/yA4FmvurN2C/Dp3Rfx9FmMeuxiA=; b=mCsGs2f6mUmdJLMhkY9ZFfwgc3zRaWYdeeThWb3JYlVfTpU2Osy9g209cYLfVaTdyvtyNW1+HVdvdQpUCY5A6Jn2yreljze53aOwIzYWmA1gXcEpOxZ7nKTb4tGOQWi5hWEyeFFLqst9yzyB8LnpvT2najdT6eOlzco3LWKSUq4KxVHb048DCDRbN+pijKhh7HKjkKNHbI4UD4r1wt3VuMHVsR62elPn7oNOzKHa5VIyXcpiIYsPACTALDPn+4+T9/nY2o6aedJEWcUbXqmwms/s8LVSAWa3ED0ytw1TzHFt7QCF3AKWc023yvp3S7x53U4Y1GoZbA3lxmBTf1EfHA== 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=NJmVxdLzLEbLcdb/yA4FmvurN2C/Dp3Rfx9FmMeuxiA=; b=RJQlZqZuu8eb7hqkFrI7CY7CN7sByKgIa4v4/CUaw5XlvTfAkH6vEvQTcW0lEFIlzJJQQLEW0DFwF9nqPY2AXnv+SHug8yENm1rnG1hapnNtBwJ42Enc9X1ft9QU/70o4msvXU/79Qv/xOpIJ1P0gpti/yalwhLGgdYt4THu0Ww= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SA1PR10MB5868.namprd10.prod.outlook.com (2603:10b6:806:22b::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.44; Mon, 12 Jun 2023 20:40:25 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d%7]) with mapi id 15.20.6455.045; Mon, 12 Jun 2023 20:40:25 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Peng Zhang , "Liam R. Howlett" Subject: [PATCH v2 10/16] mm: Use vma_iter_clear_gfp() in nommu Date: Mon, 12 Jun 2023 16:39:47 -0400 Message-Id: <20230612203953.2093911-11-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230612203953.2093911-1-Liam.Howlett@oracle.com> References: <20230612203953.2093911-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT2PR01CA0015.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:38::20) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|SA1PR10MB5868:EE_ X-MS-Office365-Filtering-Correlation-Id: 21f98b25-61ff-460a-1927-08db6b85404f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ui6FME3PmAE0xJih6todlSqHZhFHycEvuWQQQOHktI0+6KfNlq2rJCBlLvfVtZxJeepEucrLjLbd5+uTEbNYbt9f1Ue2fGfFF1E5HC+buue3em5jlMJ/g/XyfimTu3Ld4xy+4RbZDFxQ26DZ/dg1IJpdgaetU4xhKtGb4H9pMbrQUoMBzZDilY94y/SYjw5R5rPN+ih7q3WZnGl3YpUk087bSZyGR8wejoljWQaskPjQ41KOGjo6hDhqm+HY2TpD1ssVRyedySw+KnmWhHpl5iKc6SZwQHjHCBAp4Tg3KmOIk4y4y9SpMtn8u+W4p0sjvHY3st9MiyVGk0Ytk0H/BFwQgYbmmxj+4Ryrfvlc1tOm9nEWByIGu20iVUltSHeTk0r5zegin443E1wgEnBca3mG/KHYJjq0Dt6u2af6esVEQyk4vl4RvLMCbfNLpRAPJ8RcAi/wqL46DUMI9m8Noeev74Pq7Eufr8GH4LR9ci7jCNsHWcPAbk+tcBsksHREpCXc3fPfaLjGxBuBcSef56zvqtKQ7+vBo2nrFKhQ4FxB8NN02BIMecGFzov7IU3g X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(346002)(39860400002)(136003)(396003)(376002)(451199021)(8936002)(8676002)(5660300002)(4326008)(6916009)(66946007)(66476007)(66556008)(316002)(54906003)(2906002)(41300700001)(6666004)(478600001)(6486002)(6506007)(26005)(1076003)(107886003)(6512007)(83380400001)(186003)(36756003)(2616005)(86362001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: E85lERHnonFOLmCDSD8HiyPzvk1SlzUAXOk4YIm1nJMo9uqAe0GEKwPyMtTyp4pBoW3yTile2BoYQDe8zuUnAy9/6c9qNabKX6puW6FFUmVZ/AakCggRuAsnur00fUr9M0uCXFhyEoxNl/QJuqqq4/G5NXzBPsWHXBNaydM33irWD9boWgmds/e0nWrxZfxt1DVX7pt44a+TwL/+vxxJ6MEVxVPSY4AOgVZGtXRjuIGfgXbCfw4TCLd3zO1kxTCacH2o5q0o63OSFSlirvFDd6v4XcDn2FpWlwW6m32fcKk82/Mf8/4lIrs1Tev1Bo8AiTP4YbqGUazAqZnIPakF3nHUmjLZ/UF1UwhdUizArWjvGt1FVBEuZctKruzf87sIvSk3YnnhmBBAk5Cv4XyPM02mLG6wUGt8IfuIYr4An7WC6lng8wUVGG4jJBe0PDVW9GQTrdGgEkG3hPH7nrnoSvf9k2GS7Bq1xC//Ke0WvZrKOTMq09W/x2cIEbmUpD5AXz7C1CO0qgIg5n4W+QDAtOfORYfbJeMCsab4uXnvus/kkHSfC9/zC1gnLhx+tVA3OwKri3fnHMEpdb6XWHS7JTaauyVmuKTnjwVN+lxgneaSeUYw/H46tdicDQ2roMxfgZcqHatpZs4Gr6nIin/bxkKV8U06dJXMI8p4TCScU7tU7fa9GNrOwBySfEPclrwLoFLVW3l6mJCyCVr6jQK1AoXGux7Pl28ROIn+QTWySXHX9s8WUeh8HI9QsFpb4OFUmZYAEa2HiBLubM6YggnLfI/AhYChjRkEr+og14IQH/sWcesHEPyPrqPVFWgvBleA2novTKVAFRuIw0+gt/KJPYCPTFzwm0V2UGqfCD826e5JUuwoSGWLJwMPzeK57HyZrAsT6Wxc8Pd4MqIBmweugRrlCvh1qMuHJMyr5oEDBsKngmSlzXoCHOTJzoQwLsSXNDFX0myVnyYujKd086xQ4ngQwORE4ZlPczzxogJyVmDgpROhIeiaN8BLOYbeTJjPXS1iRHHlT747fk0O5Kw43wnrJANgjfEsPpf8XDg0NvalfshjNzfPVtlsw7vg9L0HSXZV72YgBYzKDiyDbQoIerHi0zp9Urut+FyeyzV9shOWAviBo9pCj0u+Qb3xaz7FzqZRgL3R9JDeD2gOFDvR+B602Yix00ldhaKnYBybfjAJXXnFOsRSJPErK5YP6TSzln1nMrKcgXaxrfr4etnuSBX7Pc02CERqr/LG6JYraKA3qPbIdPVfz722NzWfTl3sW9UXVy8oouQu/KYqRh+c15LSNeG6tBY9jK0x+wT+w5RNvBbTi/veOZMMk8lgpnc0jkeJ1ujKm2SlK8A5czbJyXr4TjlCr0PNnk6BD3gLml+ku2fXUv26lDeDvR2/1RhiRkSRDRAYuIR6n84UQ1P2iPyoOlj6AiNyQPQv3jZLurq+JZFM54AaaieOR0wC5B/Koa9EqaPa2dbVoCZjA7IDCV9droyJ64tXHnsXTfnhGG9YiaFPzWUfsbMy2xl8PTm1cjen8oZ6IBT2vlTraywHb5G/6mLCc38JuIdEb2cmCvUOTmJx+yuSk66z9ct0WrUc3C/CvvsarBgYCN/0O+rp/A== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: EFZ9tZrfCxV1Nsca/mQrlXaWeCJbiwD0qbiD0j2JQepVTbJW0rvi4qkkEDxcHvQrqPinQt/czT2laJcAjrKsQzhfk6FpjWu2pOGgUutDBKoRGiGRlkagbNm7JtjmbY80rbeH9uo5XXR8TW9TUKUfU9bo4i6CP1ickqiazjYsmHrJ1GsqbTMTVVkbXj0LVgY3y5Y395zcefYUKCQWUyj65NvH80dijGta/UmwQsSNlHnUoNiLJBlOCwd4PVryYncZSdk/pEwKAoHSHbkX0SCOFaJIfLUtkbgh9DsBFHvUrEaUXMWZNOVFyLWcLwGYFPAN4qcsM/ZQ6+YTxgxAEpOri26AG+TWpjRkPWKmIoIf+7c3/XcvYeRf12L58O98TPCfAlF+rvIHY1eYNFE7FBEFsuJ4Hs6oZpZoG+r4NDq6jMdbO66N6jWKiZj5+ok88R22iOCPgApUWFutfBoA3cMXj5APu7vVGmc0csOlqD8XjeeE/GDTV6tF7WdaT+9f/LpFqucF+9977HZpxcqe0Bsfqx+YYQodD1SNbYBb4NNmcrnwNHHOCedooTVuoN/R5kaTJ2WhvA0Zri6+iFPUtoujGNqGs0R+bOZJTUBquaotL9ZcRQB1nPxqPob7Wd1SopW2G+WtgLKq27n+c0EueAjCSyswkngXBW4LrCUjifXQLGvOMhDu6icNle69bsT+ebTWDUL2hyKBAj71JalLJx92UO7Be6JAFkW3d+Uarh73Qt0Rf2+POmVl37SuNcsX5ibnmv119iUx4AFb5RGdn01WvaQig2XO083GopvZHa/qljP9lOxuKpuQuK79N+71c+nzmELpA4XUu1XeAdtVdYKCdOrL0fNA+fFbPmZeKulMzpYMXa8naaIAJU/+tj6kUR4fghGIabyhnhKtH9R+3/4BW/BxZvw/VDL8YAdA/NuuYegbARBmZQ8rSFm8VKW+iCgo X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 21f98b25-61ff-460a-1927-08db6b85404f X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2023 20:40:25.7432 (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: Byx8VIziLtcaGLxkhXV51lGLldpzDUcRF10yiWivYWusligkl5CcTtLzD1gGCGH3tRbXFjjHCsGwBRDZ3FAX7w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB5868 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.176.26 definitions=2023-06-12_16,2023-06-12_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=983 bulkscore=0 mlxscore=0 spamscore=0 malwarescore=0 adultscore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306120176 X-Proofpoint-ORIG-GUID: ZeGkSo8bZNxgKlZvaQXNXL-sJIYC_5hQ X-Proofpoint-GUID: ZeGkSo8bZNxgKlZvaQXNXL-sJIYC_5hQ X-Rspamd-Queue-Id: 7949A1A0017 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: hqzex3y9sa3ewxpb9t7kfcwf5x66ur99 X-HE-Tag: 1686602446-171751 X-HE-Meta: U2FsdGVkX1+NxyK1wpi5poN+dkaBsXBTWBHqZEPUMp6kiFyNk/7qEv60B/Rjo6aMiz7beiyzOia6p+3iShVhdK85EU/+ut+AICE4lWBowpXwuAXnzAJTC9pvyOqnUEzL/HvquHoJ3MKzZZ0Wv8kZ9Yba9386hFjybWX74Cu9JOEbDsWOdedFgH8h7lDC5sDjLwDV+dU/7+fYLd/7KrVbehMbcIIpfgCrncIQ9SaqX9zaurmZ7QEH2XB33xX10sEDmEPV2WABJ1RY2xqD8gVDTn2LHd+mzJWCjFwWspRGSE/AIUjgCUftJv22lZS7A8GUvZug9+NYA9F5gPSiRbvCQYMRoMfxMYefjkGYpmfbcM5i4HppkBjmOtf4g5qujw815WxzoGkFTnXBAB5ab23nBp4sWlZynuE+6qMdyDCX6Mh0dQnhi+uweR6MM8FsWqgBXmQf/YY0nV7Phb020K7yNAx98Uz439yF37jhZcureZvUGlCIJYrmcQgASzG4eGAZ0mQqif9xaYNKH3hqhd7NDLqGncd9269WRVCCCTqtnoHujRSeAoc8FiiuEwO8TwFwPkgt2oWj/kMDWiMrIHjhUy72NBxFLQnZQYKZ7YiIlBV0KBDWnR/huP/XJaCrtUWigimH4GrwP3UGE0fVbggn38ug9sczpV9z4iHGd0d3KGx7uL1/sqAI7GMCIraG1IhR/SSjP56ZJmyyV5ayBiWKQ/FY18XArZXTNxnS7D0gm3BtY2+Whm/dJUux1xX7cA3NGQNsaUtakvpqZb7e+58wgjqJzXzbavJNVtr9k2pM3wRXLf2nYbQK0+c0zSFVqhbjjVexDaOxGtmz+NlFh4jGhfT1bmwOCoo0AZ4jvSa/WPOMm0QElhdgmcBH8sDNhB8rTwrftSydAiFyGK98VbKqcML63ZRxCJzZdzbfrzGTWwRF0CV/huTkRpvnnq18+S1jP4lGEF1S1z0SuUR203V pGPoCegD x2gOfUB/D2AEeiv5yLAv5j5mIKbInNraRAQ4vRszYlNuXVp/R8IqR1f7tVockdTTMRERlUHIv6pv8dRO9LqvTfb7hGT58pmPP1N+g/2fOjLoheeY9prZ0OfjAwwjpmSQXj2NodvyuvktlG+rrYnJIXu7ECO8BMqXSjCyo3LG5p4EEFK8tzSuxlSQlfvXdqrZBsG2ET+Dlw224XASgd25c+sZjksRmHBrsrlDJvVp295g26Gi4gqPQeDdZSzZ+/f12kvv7RpJF7MKlr/b4pOfy3CD8tJL1B7zWnVfL9Vs7h76UmLdQCLcWKeA1viyBxwtilpsxjUE10p1O0p2nS80RCHFGVZTYqbs3GhihPfBw0+rxHdI1jvypvyPTiDINCPCln2iIKSpTunuw5dYfvPtphYNQDHfFGHZnnHRTWMvWPidWJ6I= 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: Move the definition of vma_iter_clear_gfp() from mmap.c to internal.h so it can be used in the nommu code. This will reduce node preallocations in nommu. Signed-off-by: Liam R. Howlett --- mm/internal.h | 12 ++++++++++++ mm/mmap.c | 12 ------------ mm/nommu.c | 12 ++++-------- 3 files changed, 16 insertions(+), 20 deletions(-) diff --git a/mm/internal.h b/mm/internal.h index 2691deca9699..d78fd0fafa3b 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -1057,6 +1057,18 @@ static inline void vma_iter_clear(struct vma_iterator *vmi, mas_store_prealloc(&vmi->mas, NULL); } +static inline int vma_iter_clear_gfp(struct vma_iterator *vmi, + unsigned long start, unsigned long end, gfp_t gfp) +{ + vmi->mas.index = start; + vmi->mas.last = end - 1; + mas_store_gfp(&vmi->mas, NULL, gfp); + if (unlikely(mas_is_err(&vmi->mas))) + return -ENOMEM; + + return 0; +} + static inline struct vm_area_struct *vma_iter_load(struct vma_iterator *vmi) { return mas_walk(&vmi->mas); diff --git a/mm/mmap.c b/mm/mmap.c index 75b2a86e1faa..22c71dff762b 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -154,18 +154,6 @@ static inline struct vm_area_struct *vma_prev_limit(struct vma_iterator *vmi, return mas_prev(&vmi->mas, min); } -static inline int vma_iter_clear_gfp(struct vma_iterator *vmi, - unsigned long start, unsigned long end, gfp_t gfp) -{ - vmi->mas.index = start; - vmi->mas.last = end - 1; - mas_store_gfp(&vmi->mas, NULL, gfp); - if (unlikely(mas_is_err(&vmi->mas))) - return -ENOMEM; - - return 0; -} - /* * check_brk_limits() - Use platform specific check of range & verify mlock * limits. diff --git a/mm/nommu.c b/mm/nommu.c index f670d9979a26..a764b86b132a 100644 --- a/mm/nommu.c +++ b/mm/nommu.c @@ -1383,17 +1383,13 @@ static int vmi_shrink_vma(struct vma_iterator *vmi, /* adjust the VMA's pointers, which may reposition it in the MM's tree * and list */ - if (vma_iter_prealloc(vmi)) { - pr_warn("Allocation of vma tree for process %d failed\n", - current->pid); - return -ENOMEM; - } - if (from > vma->vm_start) { - vma_iter_clear(vmi, from, vma->vm_end); + if (vma_iter_clear_gfp(vmi, from, vma->vm_end, GFP_KERNEL)) + return -ENOMEM; vma->vm_end = from; } else { - vma_iter_clear(vmi, vma->vm_start, to); + if (vma_iter_clear_gfp(vmi, vma->vm_start, to, GFP_KERNEL)) + return -ENOMEM; vma->vm_start = to; } From patchwork Mon Jun 12 20:39:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13277311 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 EFDFCC88CB2 for ; Mon, 12 Jun 2023 20:40:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E0FCF940009; Mon, 12 Jun 2023 16:40:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D7027940008; Mon, 12 Jun 2023 16:40:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B9BE6940009; Mon, 12 Jun 2023 16:40:46 -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 A9052940008 for ; Mon, 12 Jun 2023 16:40:46 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 716AAC0322 for ; Mon, 12 Jun 2023 20:40:46 +0000 (UTC) X-FDA: 80895264492.05.3D70E64 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf24.hostedemail.com (Postfix) with ESMTP id 0162C180004 for ; Mon, 12 Jun 2023 20:40:42 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=Y3b+g8r3; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=CzpAq6EY; spf=pass (imf24.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686602443; 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:in-reply-to:references:references:dkim-signature; bh=R0qsDcG9O4MhzZqrq1oD6FDIspNJvYaqrNhWXitLwfg=; b=TK4pq0Zqk8XKxcAwm2AUALkOJYtWd9rihnB2zc8g9WwxE2qpYqWmatuH+EMa4om+yVFUuW Tdxy+ceSQwu2zqFDRUoe0y2BHYEwYgxBHlMi1yzn3ehU+PSiaC3NScP4pOWklXDkuddtJ/ 8gQNiNrdhWG2sR6RzdtiOYR1K/3BU88= ARC-Authentication-Results: i=2; imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=Y3b+g8r3; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=CzpAq6EY; spf=pass (imf24.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1686602443; a=rsa-sha256; cv=pass; b=fqazRu+k0Hrbg8bq5XlRwxkaGRaqjXBboD7bYSKKO8hsn4WaAQHzxfW2lp/TRQSGcw5Ko4 G7txv3V98xzhjfi1xpDNcwldDvLfvn55h0dKLPq5A4nkZJAnzyGAxcOurf+ofHnSzX/if6 CuE+xFj3PUHj1rT6WXKfH2K2A07lowM= Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 35CKOW3c004153; Mon, 12 Jun 2023 20:40:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=R0qsDcG9O4MhzZqrq1oD6FDIspNJvYaqrNhWXitLwfg=; b=Y3b+g8r3438KMZoG9jk/PrPBc1kQC6lwmgrMntLEla145gmNoVf288KgfIox/enLPgIC HC/lykFg9Fu1krocF+AAVOfSmz4DhimQLFIst+gWNTHztGq6+cM7jyih+iyrU0RU/XrI /Cf6agLAHvVKFINXOXSZe2NjVNoNplsT9Ogwq/dAc19RRz5gK+tLlF4RjY5kIiTvwV6Y VnDkHydtkwhTYy2hkTKW2ygXlj39wCxEgPDR2S5FqPZp4v8n+V1hYpoJMa0xZnk3OkuA VVdr4jW1vFhFhmuqHxXd43BfOOF76bsveJ+3R2Gp1AlGKxLBOYNYxcUQaOx3o4mTOZ1a RA== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3r4fs1uxan-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:31 +0000 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 35CKTaW1021673; Mon, 12 Jun 2023 20:40:31 GMT Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam02lp2048.outbound.protection.outlook.com [104.47.51.48]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3r4fm39bw6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:31 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Zxz0N6LVqdEFFJiaRp9WAFKOx1xBLjerCHfJ49qA68Fmj6Y61fShuTBSb3/7/aa19Iw3mNV2lxR/pi3xkaYL8icR6gyC47Xd6wF6g6ukVBOqmZTge8EPLcHj+atIi+P1LnTf2HUS4brtnaDfCHapXQ/F0ECHreCEJBYbP9S0zMlJ6GKQ0TiUYghL3AptG19bFGL7uDOTCiw4IFDqX5RauiWxeM4KlWfhkAeFodP3QYgsk0SPIga5IwOJ3bNiql5GzuloBdqYDx9A3aFoxk7+WpX1wspkPPu3UKeQ375YYrqlD/Up1dxl17tp2wXUIU8eJhLfYyRWZm2G9mXzmb4+IA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=R0qsDcG9O4MhzZqrq1oD6FDIspNJvYaqrNhWXitLwfg=; b=DAGmSOoMM+Rtk5QVkHbLl5DowlG8igiXQ79g93ILJGZqAcfWdLNKCIxrMz1BoXmoaE9jDIduYCv11mA4gIih4mvbQF3blAZIcrv16bApWEcIC5V9JFYX3MfCnj7l6KfHrCqxZoqJXZ7C1bSc8NDkyzeMlacjpCLOuPdjiv0wfHkhiWymWjwi/4HYvH8YGiHBaWWHy4Bhvy6UEZKaVZ53Bqer6yQHVIJ45o4fsUmsT8dKmjVbuXbq9jrxjoWN8cRYkU3gT3Edt6tFff2Hg6U7/OdcHRIyhP3fZYgFnkqN2bXGMKy3QO9o4tNtDMdwTVL2Z0+8wnblX6ScKaRmndS6Iw== 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=R0qsDcG9O4MhzZqrq1oD6FDIspNJvYaqrNhWXitLwfg=; b=CzpAq6EYG94Td/g4JsxG6pzseIWOu6Rt0z0vvyCbhigNsIDKyFZaGtwiIjK/dLvchoGhstL/wCYXpUhoGpqg67Cgabt7TShJrEZN0qGe0v+tUtf9OnrSx9ENv/3JHujy3JfpCycbi+O5A357V4/P4cY/P+MFfSotuCzUwzjYi04= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SA1PR10MB5868.namprd10.prod.outlook.com (2603:10b6:806:22b::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.44; Mon, 12 Jun 2023 20:40:28 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d%7]) with mapi id 15.20.6455.045; Mon, 12 Jun 2023 20:40:28 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Peng Zhang , "Liam R. Howlett" Subject: [PATCH v2 11/16] mm: Set up vma iterator for vma_iter_prealloc() calls Date: Mon, 12 Jun 2023 16:39:48 -0400 Message-Id: <20230612203953.2093911-12-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230612203953.2093911-1-Liam.Howlett@oracle.com> References: <20230612203953.2093911-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0398.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:108::19) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|SA1PR10MB5868:EE_ X-MS-Office365-Filtering-Correlation-Id: e55d9ba3-17aa-4460-d8a2-08db6b8541da X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: baiAlL7d72i00B1ajKVYNocWxGFowIdsB/lK7kgGCoBgQ8wNX3xAXDGzwaAZo1tmfKaQ2eu4U/UTGpp00zxHTs2qknGFRss423KPY4V8ZdYcIOdsga4J+HjRfFV5BLu4v4j0Q1rLySK3XSSPUNWZY/mj3O2fckbTUUFMCIRQRboAW0IFWXBpnPylCRU6oH0TCtbRFVVTkx4PJpsVgpRF3g5SEdk9pKiUuMqYoqc9nNuCDKYxiTc2q0XD7sHnSRw1uGh2b034G8/+ZDnC41N1BZSL+iMEKqlBIIIDNG1g/1zeflRiDGbeBlJTMYNi7Sbqj7KSRHIwMwNXQSE1DwothH3SnbUXRm1Lf0slyvWXEqFaRq10+6x4QXX5RAxaWDXEQ761i0sI5ZkVV0+1F+lOfpfkJesfzKL/NH3t+Sj/vyQ8HE7Su3WB0rDXjaEkX4rI2y4BukN3jBqJE3JAhiW/QAz+i6iezacCCAs5y4WG657PfF7KVzwxxbBZCN4biKg5RD0hA7viaQVb0Zebnz9kSKpKWqDtzLwx6nRFu3Tp8dc2li99s63sWnW0ies0B7Ag X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(346002)(39860400002)(136003)(396003)(376002)(451199021)(8936002)(8676002)(5660300002)(4326008)(6916009)(66946007)(66476007)(66556008)(316002)(54906003)(2906002)(41300700001)(30864003)(6666004)(478600001)(6486002)(6506007)(26005)(1076003)(107886003)(6512007)(83380400001)(186003)(36756003)(2616005)(86362001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: JLWDf2Z159QOImfXtQ89HkOyaYpafdVRF2E5ZLCnHerdojwzlc4laSINEXOvq/Xkhz+b/0FxZOjYiSNTik09ZQ6CDZHIxN3olFU1YUZSs3xoKP+JBiRYiXA4yiBJgk+Z9YQdF3/23YAaNw2ixBz2QPXEy2y4mTB5PQtMYGyCb71KyJwEJOrE891yWwe4G0EE2c+AktTR50L6PNuqMDHIKze98UjJxreRxGxVR7LK+1zYCv/c5NSWMJeg9eTbYj8nsmweEKXNDnXitee3lyL9m759HIrm9qj7OvuX/84O//50YD0GTjd2Cu886tKnwV4IuM/DnBJ/SwwQdLfeMijM4s+alBQ1Qs0KVohzKq/SLpyXKPGGOm84DZ98tb1jYWYBBfVvCURS35uav7xNmQO6KL+zwci+UnNKa7JR2ZFBmDX84k7rhZGeG9m6YSFa7xESuch4IRHGecLoGjPsxKShpK07YF1JBYYS51OCu0KURqS/iup4WbHCrdLkOqyWE2PbxWobbgfvopAEX6Gc0QOMELYe0CiahlL6wYVtb7QnGzawH/Py9RgtGPtvyu8MkyXnFKQ6qj/bNxgkgu9sNzbzIpwesGrFK+jMKSZ6GOuXaeTMx0LoFq6OwiuwhKeW7koThzumcTMiFltoNcWRrF5a2tm15CA73tmzWi97cvEWcdB9JmxHQKjQhy1CniHdOnsWhB+dE7W7W5RVKBqbE+BFYtP/uaqEZbAs+5jvkaD3eKyfa3LO/t7rMttQAxPfgsIUUOfI0RpDpOwHZpMzR1B/CzC9hv04a+vGudp6JlGO65U0Z7J+PcgFkp/PNiyO3i6NbwuOK9NQ/Hugf3H/LrPZHWxLaPtxFwpMc3qy2uicNCoh+bltZ7zA21zj9VIqgpNTkt8pdKoLdZjLHz96PUot32Y+y2l6eM6kxXJK80xr81hzVbtdM8eb6DunUqZAANbAmIZIsgN4f2OLTFcYzuVZ7AFe9eFyNjQks72tz0fbPWOMqW1yNL0Q3YvAq5hwo9GweVVaaPjAXmU/JlHCDi43iV+M5jiXaO9v4VSuWZNEUQdixvckcaW3XCidthzXj9iC+0R8TyT6QTGLielXJAijSGm07RbVmZR4yhlFdnTmtUYASNHyHp4ESWi5+G6SkIEutaAd5jKQga/dQB286F/C9N/QuyNm9uEKE6kU0Gpiq4yzCrhTsfCzWFpc1wiRmhNPiYFGTgWQ5KLst9bCEJEAfj51ZxoU8QrbubSSgmf6qGyVZeWgAdce+RlTbSvzDTbjBGHlbGEGdNfd5dwN1/iCaUTSjholSRuezoHT5gxVtg2fUX/SBm+MkWw+1jbGEI9ZbiQIS31YABe8pvNrNPTqPp2j/gwyLznHzdG5ULJKo+q4BFuddB/9pVlIBqnHlcrd7bIHfbaoF+1YIHyeaXBmuUvvnO8Hrm3th4RYJdBXlv5n+Gyr9FWWHMwE/pw3XhzgxHkUnx8qmvzl31W0PzApBMOsnwgc6QamJYgcjHCjNMzktVveEg9P/LFBuGy4/q6hU+H1ctbluQdTK0gSYcd5k3D9qcPsq3D3CACKxQUAzDdIWpsA9dF8HdqusN+MjszrPbaw1ZiK/acjUhFsZsETVg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: z9DM7iNkrT/OLzyoklmwwE52k/J2QjoViwMGBkMgxM/s6HKaQYEv/hrFm0yrqGdseZbHbdHBWZEml4a01bR3YZ0dduqnFhX0g/HLPSJuGMYmX3mfZ+bAunuRty7J/RsgwWP/8zJ+xOxuEt368fRf1KD6ND23Caupdm7c7w++PQcikzStRU9J/iji/0Hvkk+zlblBnwcy5OdnhS2hi8gXPyqTcbS57hAwcdczMcskYKoZ6voH2XTjxwESM8BhabOrrowVGq0gecbFnnxYCYkMLfRgZkNR3uLExMRxnXDjftBQN5d3Z3jg4ZHHXg7fqQa+ml74Nk+tIcXi2wsCrsl/xFf494XEUZxkWlA+NMOVZHRxt7Beh9zQZZqTEdn0A3yFrjZppSM1yCuez2kOPxsNZxKuw4p2VFZUtrmW4la02QrsqNTPahwbLNDGdx07dNLJhAXOycMQqjZixNoC2Gd4TEMafHzhadiVK867fm/is3D2nmFp3U0zSqsNKm9WlRaLIZ8OEtIEL6mGNufPWDV3tZya5e6DLw2xjjUrS2B2IZrGZlnAI0lFryf92w6WGAU248TDNwQ+nzOYLAkDb+25nTdVUCecdpNw0T9lTmrLi/aI6fdampOUS8BRBhioc2Bfslxb7ZlZ2lO5SgF8y1HA82+frPdIVCJhgZbWMluYsw4rH9ZQ3OJLnmcLIJvRpWhxuS/Do7NEgDPSwStQ6gQxeSNNVEWuh+nSymdjsMKuFnT04L5rLm2gflY9ETsTqz07VhfF0ObO6HzY386svlFXx9NdXf+SR6VM7gMpsC6Bn/6byMLPP+KZ8FRIVvZKeFoGK11lOH7K8Dh1AmmlvibHtvpBypi7UeRlGre6yXkHK8/Hc/P1x/R9uUFHxBY7jM+pr8GCTnkXsrAa5u/8a5TL/VA1MGCR1tOKunPAz1IpXhX8R7KuH/AwWVwOpFQ11ArI X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e55d9ba3-17aa-4460-d8a2-08db6b8541da X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2023 20:40:28.4000 (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: seXZaU6wB3eyC6jRbU7BjSTF7MTpTrC4rty6Ou6dFd6CB5k1xVgjQop7oSOZP8u8YiDqwrpOOlw3CPC47z+m0w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB5868 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.176.26 definitions=2023-06-12_16,2023-06-12_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxscore=0 phishscore=0 suspectscore=0 mlxlogscore=999 bulkscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306120176 X-Proofpoint-GUID: D5IC79pNnINVD8vvbzvUb9loOXEQAmE3 X-Proofpoint-ORIG-GUID: D5IC79pNnINVD8vvbzvUb9loOXEQAmE3 X-Rspamd-Queue-Id: 0162C180004 X-Rspam-User: X-Stat-Signature: 1f4he71mo3ie75kbhn33ne8bymzhbasu X-Rspamd-Server: rspam01 X-HE-Tag: 1686602442-625481 X-HE-Meta: U2FsdGVkX19DmHBgWsRTlp1evrzW3DH2xKE/HQaCC0YxZqY4uIomAQSu7VotjeT7U44QMW9avQrt1Uk21quySv9Av7HWD3Oh2qkpSF7k++z3gzglRAx+B07xwQmRFJjY9Ws7RgYv98mBxjqXljKSOrmprqZdsegkbJ94t0JYHmSmQjz3r1DVbrxmi4OveVKE8p3PAufQqiyktlMsfwfBIbYj9p6e95Jd+NJmksZy4XwrGSFGvQ/g1sQMiJo3NbEP2k28AP+FrrH/gRUZ0Xn4VbZMSqZdZ7NvlWVnLlAUK0aErbkY844fz/dgFFsJ0yDiC3uwhRf3LZJS80nnY6RERI2OWLSJ8H4wVEGJT+nV6eLf2V457zmDX+izmzOvvKRpqPkocpAlfzR5G6I8MTIflkOXtEXKtbYejzP32Qey4gUvpIJT6zmvklf3qmEV8Is6wYGSBFcatooLtdLq4Tkj3gSLobzkXEL9FrVDBVEc9F+nx04U3zsSWg0OHUO59R+JnV2wMaIsAcQbsj9Xak40Y3JKXsKcM+Nf92HHWQQfvyWEHtDYMbCwByovLEbUHiKa7NTBeM1G4UfQKpXZpmuIszQQsPZzIBmPa1YH+wy//rFzIqP+h0VBkr/HgfnymQFkjsyB79CGjJV+Edf3FxBXMKG4vk0GRNm92k5ervK23r9K3Xsyb9ghkl92bllP5M6G3/WrJAeFYP2GsH2kS4tmV8riGGvyboXlh1Qjcw4onx5Q2Jx2KFBAz5VVjuPJ+xxKGSE1fnKuBUHbLzvlUYVIMgcnYBO0st0z6gIKIixZYxdOLC5lJXBfC4LZcwb1afNtPEnuzxHmzHh4WzKSJSewEaA7xslYVDDEHvm4F5FyBt0rdfMINqcYhdzTBvmJYGG2MBUNMohqOs+piWoIp1ajzAongsO+dKn2zYQ2G88P4yej+D3pIqyRwe3fJXGdh9E5PuLSO+BDHnSToPWcGln gGxF5a4Q Zr8K312W7sSq5hgv3MM7m/3WrEZrFFkfvJHe8xoE9Hm6fWwZzW+BX6Iep0DzqI/wvyBTZiYUrCIIUhnHFYL1HxJEymmyz21CMBUyIIlAqkVBBjMvy8zanDAT/AmbGTK7jjWsFqaGH73oNd7DxdbLRpDmwSPy6pWZ0q7i1/MIiw9rUblQNj5QlJEuiDusroSYh9+RGnHbj/VeuiJERtkdod7nSpYZsN1KXYIJ9alCU2Mk4/b7hDu4v6JVgTsyB2Ajp6Jcwuf2/iEhV9Jzzv2iN3AMnUjNq5EY2Pyv9nctX7aDH3+mCl9D1JNISZOJCNpmW6kqmln1RhSH6waeYvr81uAomcYxSDSsqvZ1D5i7hZ24MVzZnwF4qRkt3QaAs5iAkDTtmPk2St9g/GmzUVlZDfIHnfAz9TNcB5aCrZw9glozLCmI= 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: Set the correct limits for vma_iter_prealloc() calls so that the maple tree can be smarter about how many nodes are needed. Signed-off-by: Liam R. Howlett --- fs/exec.c | 1 + mm/internal.h | 18 +++++------- mm/mmap.c | 81 +++++++++++++++++++++++++++++++-------------------- mm/nommu.c | 33 +++++++++------------ 4 files changed, 72 insertions(+), 61 deletions(-) diff --git a/fs/exec.c b/fs/exec.c index 25c65b64544b..dc0ba74ebb74 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -697,6 +697,7 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) if (vma != vma_next(&vmi)) return -EFAULT; + vma_iter_prev_range(&vmi); /* * cover the whole range: [new_start, old_end) */ diff --git a/mm/internal.h b/mm/internal.h index d78fd0fafa3b..531b2e95146c 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -1045,23 +1045,21 @@ static inline void vma_iter_config(struct vma_iterator *vmi, /* * VMA Iterator functions shared between nommu and mmap */ -static inline int vma_iter_prealloc(struct vma_iterator *vmi) +static inline int vma_iter_prealloc(struct vma_iterator *vmi, + struct vm_area_struct *vma) { - return mas_preallocate(&vmi->mas, NULL, GFP_KERNEL); + return mas_preallocate(&vmi->mas, vma, GFP_KERNEL); } -static inline void vma_iter_clear(struct vma_iterator *vmi, - unsigned long start, unsigned long end) +static inline void vma_iter_clear(struct vma_iterator *vmi) { - mas_set_range(&vmi->mas, start, end - 1); mas_store_prealloc(&vmi->mas, NULL); } static inline int vma_iter_clear_gfp(struct vma_iterator *vmi, unsigned long start, unsigned long end, gfp_t gfp) { - vmi->mas.index = start; - vmi->mas.last = end - 1; + __mas_set_range(&vmi->mas, start, end - 1); mas_store_gfp(&vmi->mas, NULL, gfp); if (unlikely(mas_is_err(&vmi->mas))) return -ENOMEM; @@ -1098,8 +1096,7 @@ static inline void vma_iter_store(struct vma_iterator *vmi, ((vmi->mas.index > vma->vm_start) || (vmi->mas.last < vma->vm_start))) vma_iter_invalidate(vmi); - vmi->mas.index = vma->vm_start; - vmi->mas.last = vma->vm_end - 1; + __mas_set_range(&vmi->mas, vma->vm_start, vma->vm_end - 1); mas_store_prealloc(&vmi->mas, vma); } @@ -1110,8 +1107,7 @@ static inline int vma_iter_store_gfp(struct vma_iterator *vmi, ((vmi->mas.index > vma->vm_start) || (vmi->mas.last < vma->vm_start))) vma_iter_invalidate(vmi); - vmi->mas.index = vma->vm_start; - vmi->mas.last = vma->vm_end - 1; + __mas_set_range(&vmi->mas, vma->vm_start, vma->vm_end - 1); mas_store_gfp(&vmi->mas, vma, gfp); if (unlikely(mas_is_err(&vmi->mas))) return -ENOMEM; diff --git a/mm/mmap.c b/mm/mmap.c index 22c71dff762b..eaebcc8f60d2 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -411,7 +411,8 @@ static int vma_link(struct mm_struct *mm, struct vm_area_struct *vma) VMA_ITERATOR(vmi, mm, 0); struct address_space *mapping = NULL; - if (vma_iter_prealloc(&vmi)) + vma_iter_config(&vmi, vma->vm_start, vma->vm_end); + if (vma_iter_prealloc(&vmi, vma)) return -ENOMEM; if (vma->vm_file) { @@ -664,19 +665,16 @@ int vma_expand(struct vma_iterator *vmi, struct vm_area_struct *vma, /* Only handles expanding */ VM_WARN_ON(vma->vm_start < start || vma->vm_end > end); - if (vma_iter_prealloc(vmi)) + /* Note: vma iterator must be pointing to 'start' */ + vma_iter_config(vmi, start, end); + if (vma_iter_prealloc(vmi, vma)) goto nomem; vma_prepare(&vp); vma_adjust_trans_huge(vma, start, end, 0); - /* VMA iterator points to previous, so set to start if necessary */ - if (vma_iter_addr(vmi) != start) - vma_iter_set(vmi, start); - vma->vm_start = start; vma->vm_end = end; vma->vm_pgoff = pgoff; - /* Note: mas must be pointing to the expanding VMA */ vma_iter_store(vmi, vma); vma_complete(&vp, vmi, vma->vm_mm); @@ -703,19 +701,19 @@ int vma_shrink(struct vma_iterator *vmi, struct vm_area_struct *vma, WARN_ON((vma->vm_start != start) && (vma->vm_end != end)); - if (vma_iter_prealloc(vmi)) + if (vma->vm_start < start) + vma_iter_config(vmi, vma->vm_start, start); + else + vma_iter_config(vmi, end, vma->vm_end); + + if (vma_iter_prealloc(vmi, NULL)) return -ENOMEM; init_vma_prep(&vp, vma); vma_prepare(&vp); vma_adjust_trans_huge(vma, start, end, 0); - if (vma->vm_start < start) - vma_iter_clear(vmi, vma->vm_start, start); - - if (vma->vm_end > end) - vma_iter_clear(vmi, end, vma->vm_end); - + vma_iter_clear(vmi); vma->vm_start = start; vma->vm_end = end; vma->vm_pgoff = pgoff; @@ -991,7 +989,17 @@ struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm, if (err) return NULL; - if (vma_iter_prealloc(vmi)) + if (vma_start < vma->vm_start || vma_end > vma->vm_end) + vma_expanded = true; + + if (vma_expanded) { + vma_iter_config(vmi, vma_start, vma_end); + } else { + vma_iter_config(vmi, adjust->vm_start + adj_start, + adjust->vm_end); + } + + if (vma_iter_prealloc(vmi, vma)) return NULL; init_multi_vma_prep(&vp, vma, adjust, remove, remove2); @@ -1000,8 +1008,6 @@ struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm, vma_prepare(&vp); vma_adjust_trans_huge(vma, vma_start, vma_end, adj_start); - if (vma_start < vma->vm_start || vma_end > vma->vm_end) - vma_expanded = true; vma->vm_start = vma_start; vma->vm_end = vma_end; @@ -1945,7 +1951,7 @@ int expand_upwards(struct vm_area_struct *vma, unsigned long address) struct vm_area_struct *next; unsigned long gap_addr; int error = 0; - MA_STATE(mas, &mm->mm_mt, 0, 0); + MA_STATE(mas, &mm->mm_mt, vma->vm_start, address); if (!(vma->vm_flags & VM_GROWSUP)) return -EFAULT; @@ -1970,6 +1976,10 @@ int expand_upwards(struct vm_area_struct *vma, unsigned long address) /* Check that both stack segments have the same anon_vma? */ } + if (next) + mas_prev_range(&mas, address); + + __mas_set_range(&mas, vma->vm_start, address - 1); if (mas_preallocate(&mas, vma, GFP_KERNEL)) return -ENOMEM; @@ -2013,7 +2023,6 @@ int expand_upwards(struct vm_area_struct *vma, unsigned long address) anon_vma_interval_tree_pre_update_vma(vma); vma->vm_end = address; /* Overwrite old entry in mtree. */ - mas_set_range(&mas, vma->vm_start, address - 1); mas_store_prealloc(&mas, vma); anon_vma_interval_tree_post_update_vma(vma); spin_unlock(&mm->page_table_lock); @@ -2052,6 +2061,10 @@ int expand_downwards(struct vm_area_struct *vma, unsigned long address) return -ENOMEM; } + if (prev) + mas_next_range(&mas, vma->vm_start); + + __mas_set_range(&mas, address, vma->vm_end - 1); if (mas_preallocate(&mas, vma, GFP_KERNEL)) return -ENOMEM; @@ -2096,7 +2109,6 @@ int expand_downwards(struct vm_area_struct *vma, unsigned long address) vma->vm_start = address; vma->vm_pgoff -= grow; /* Overwrite old entry in mtree. */ - mas_set_range(&mas, address, vma->vm_end - 1); mas_store_prealloc(&mas, vma); anon_vma_interval_tree_post_update_vma(vma); spin_unlock(&mm->page_table_lock); @@ -2255,10 +2267,6 @@ int __split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, if (!new) return -ENOMEM; - err = -ENOMEM; - if (vma_iter_prealloc(vmi)) - goto out_free_vma; - if (new_below) { new->vm_end = addr; } else { @@ -2266,6 +2274,11 @@ int __split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, new->vm_pgoff += ((addr - vma->vm_start) >> PAGE_SHIFT); } + err = -ENOMEM; + vma_iter_config(vmi, new->vm_start, new->vm_end); + if (vma_iter_prealloc(vmi, new)) + goto out_free_vma; + err = vma_dup_policy(vma, new); if (err) goto out_free_vmi; @@ -2600,8 +2613,12 @@ unsigned long mmap_region(struct file *file, unsigned long addr, next = vma_next(&vmi); prev = vma_prev(&vmi); - if (vm_flags & VM_SPECIAL) + if (vm_flags & VM_SPECIAL) { + if (prev) + vma_iter_next_range(&vmi); + goto cannot_expand; + } /* Attempt to expand an old mapping */ /* Check next */ @@ -2611,6 +2628,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr, merge_end = next->vm_end; vma = next; vm_pgoff = next->vm_pgoff - pglen; + } /* Check prev */ @@ -2622,9 +2640,10 @@ unsigned long mmap_region(struct file *file, unsigned long addr, merge_start = prev->vm_start; vma = prev; vm_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, vm_pgoff, next)) { @@ -2633,9 +2652,6 @@ unsigned long mmap_region(struct file *file, unsigned long addr, } cannot_expand: - if (prev) - vma_iter_next_range(&vmi); - /* * Determine the object being mapped and call the appropriate * specific mapper. the address has already been validated, but @@ -2721,7 +2737,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr, goto close_and_free_vma; error = -ENOMEM; - if (vma_iter_prealloc(&vmi)) + if (vma_iter_prealloc(&vmi, vma)) goto close_and_free_vma; if (vma->vm_file) @@ -2994,7 +3010,8 @@ static int do_brk_flags(struct vma_iterator *vmi, struct vm_area_struct *vma, if (vma && vma->vm_end == addr && !vma_policy(vma) && can_vma_merge_after(vma, flags, NULL, NULL, addr >> PAGE_SHIFT, NULL_VM_UFFD_CTX, NULL)) { - if (vma_iter_prealloc(vmi)) + vma_iter_config(vmi, vma->vm_start, addr + len); + if (vma_iter_prealloc(vmi, vma)) goto unacct_fail; init_vma_prep(&vp, vma); @@ -3009,6 +3026,8 @@ static int do_brk_flags(struct vma_iterator *vmi, struct vm_area_struct *vma, goto out; } + if (vma) + vma_iter_next_range(vmi); /* create a vma struct for an anonymous mapping */ vma = vm_area_alloc(mm); if (!vma) diff --git a/mm/nommu.c b/mm/nommu.c index a764b86b132a..a96b889cc17e 100644 --- a/mm/nommu.c +++ b/mm/nommu.c @@ -583,7 +583,8 @@ static int delete_vma_from_mm(struct vm_area_struct *vma) { VMA_ITERATOR(vmi, vma->vm_mm, vma->vm_start); - if (vma_iter_prealloc(&vmi)) { + vma_iter_config(&vmi, vma->vm_start, vma->vm_end); + if (vma_iter_prealloc(&vmi, vma)) { pr_warn("Allocation of vma tree for process %d failed\n", current->pid); return -ENOMEM; @@ -591,7 +592,7 @@ static int delete_vma_from_mm(struct vm_area_struct *vma) cleanup_vma_from_mm(vma); /* remove from the MM's tree and list */ - vma_iter_clear(&vmi, vma->vm_start, vma->vm_end); + vma_iter_clear(&vmi); return 0; } /* @@ -1041,9 +1042,6 @@ unsigned long do_mmap(struct file *file, if (!vma) goto error_getting_vma; - if (vma_iter_prealloc(&vmi)) - goto error_vma_iter_prealloc; - region->vm_usage = 1; region->vm_flags = vm_flags; region->vm_pgoff = pgoff; @@ -1185,6 +1183,10 @@ unsigned long do_mmap(struct file *file, share: BUG_ON(!vma->vm_region); + vma_iter_config(&vmi, vma->vm_start, vma->vm_end); + if (vma_iter_prealloc(&vmi, vma)) + goto error_just_free; + setup_vma_to_mm(vma, current->mm); current->mm->map_count++; /* add the VMA to the tree */ @@ -1231,14 +1233,6 @@ unsigned long do_mmap(struct file *file, len, current->pid); show_free_areas(0, NULL); return -ENOMEM; - -error_vma_iter_prealloc: - kmem_cache_free(vm_region_jar, region); - vm_area_free(vma); - pr_warn("Allocation of vma tree for process %d failed\n", current->pid); - show_free_areas(0, NULL); - return -ENOMEM; - } unsigned long ksys_mmap_pgoff(unsigned long addr, unsigned long len, @@ -1323,12 +1317,6 @@ int split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, if (!new) goto err_vma_dup; - if (vma_iter_prealloc(vmi)) { - pr_warn("Allocation of vma tree for process %d failed\n", - current->pid); - goto err_vmi_preallocate; - } - /* most fields are the same, copy all, and then fixup */ *region = *vma->vm_region; new->vm_region = region; @@ -1342,6 +1330,13 @@ int split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, region->vm_pgoff = new->vm_pgoff += npages; } + vma_iter_config(vmi, new->vm_start, new->vm_end); + if (vma_iter_prealloc(vmi, vma)) { + pr_warn("Allocation of vma tree for process %d failed\n", + current->pid); + goto err_vmi_preallocate; + } + if (new->vm_ops && new->vm_ops->open) new->vm_ops->open(new); From patchwork Mon Jun 12 20:39:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13277310 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 510FBC7EE2F for ; Mon, 12 Jun 2023 20:40:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BEC0C900002; Mon, 12 Jun 2023 16:40:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B9B0B940008; Mon, 12 Jun 2023 16:40:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9A1FE900003; Mon, 12 Jun 2023 16:40:45 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 87D00900002 for ; Mon, 12 Jun 2023 16:40:45 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 4ECF01A033C for ; Mon, 12 Jun 2023 20:40:45 +0000 (UTC) X-FDA: 80895264450.11.2DD3B12 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf13.hostedemail.com (Postfix) with ESMTP id D6D0920021 for ; Mon, 12 Jun 2023 20:40:41 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b="l8/TrtRR"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=XDhsDDVm; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf13.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686602442; 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:in-reply-to:references:references:dkim-signature; bh=n9fkLaYuOty+dIbsK0bmceZK6lnVKin+jtS1fPal57o=; b=EW6BqNOcXMCfFlUFzKxtkECZBdO4FELibRT2anz55Pa55NURt2JEpibGKbCUYNEAYSmpRI 9s50BbJrFgaFFno7iSSSoDFGQtd4BEuVXyQj0PCq4GX+4Aj5F5EQfsbhZ2K4w3Q3cuG8xL vc/DiqxISq5bBWb2cGIPejx1NhPU9bY= ARC-Authentication-Results: i=2; imf13.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b="l8/TrtRR"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=XDhsDDVm; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf13.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1686602442; a=rsa-sha256; cv=pass; b=43WZeinsPUjxubJrb93JAZ9xEuSu//u4cXVYlk7EqxPx4mAtnBR5X8BBgAvKyX/MOqQJ4O bpPyfFvNcMMHc3BTVkNINleDVxaO5z11tVA2tKctctr56Dq/t3zWrWjXSn4OlPZElrUGJt zGoWemW/kv7Dtu6ANs1Ft7zVKDKM1tk= Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 35CKOQW1003980; Mon, 12 Jun 2023 20:40:33 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=n9fkLaYuOty+dIbsK0bmceZK6lnVKin+jtS1fPal57o=; b=l8/TrtRRb3BF3qCIj0LPmLOuuYyaks/RGqU3W564+g0JUDYa1W2tO+9laVfW+xG7cTjt 4iI3RUY/VLkhRhzPk1F4QkOtv86X4RZJhKZBWEicAhxiNWINneHGSS+mHe5eyRe+eiGy Lmi8gRRdS4pZEIU1P9IdsOYXpmWZsrY70XXNHjIepSw5HrRrrfpSN7ZXtxLgyHsg3jBL Zma3+xKLLeo3F7IWH6q1lsWs/t5CaPFQqmwH/kxO7dMlQdc+nLM6OTYrpPK2gZleyi/G vGETpqGdGFRYggPs9HsvXDXcNkazd4t2Y4ckTQgeQrjUlTkdVYfQvjK+lBvnDBVXLXCD Ew== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3r4fs1uxaq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:32 +0000 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 35CKTaW2021673; Mon, 12 Jun 2023 20:40:31 GMT Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam02lp2048.outbound.protection.outlook.com [104.47.51.48]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3r4fm39bw6-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:31 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Biva5kqmHDmfulmPhwEhudLNkIA3Sx9T3fNxePUj3H+sCjYdSeVwb+AlRnJf8lYQDkB8wU1l4nOiBfwrVOW6sRp4Qw7mR/erjBBkmDGjl/tq0oywm4zeQo5G2j/iI2AvhTg4Gc5uoOqZTegYeFIxtALopGxcIII03t/Js7hE6DInH2ANk6uuavkz/w+zjtOd9R4OI4HRTPpYfPbmJjKO9mNkEHu6b49A6bzzAKAXzwY+O/W7imMjSmGpuuPy+URwNMIXtZKiYJCSssXDb70nzGfXFJHJeERMFqAFvWF4fkkVnRMP4BQxO0L0dCyVeu6iJ0TQzB5iXOd372rNDasQuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=n9fkLaYuOty+dIbsK0bmceZK6lnVKin+jtS1fPal57o=; b=QDOPuC621uABdOXMTXU6G04prklZ1de6OQmCwucHpCwHtOau+qoLIaWWhrNZuv5G9/v9CBTvCLM82FdzHMCDap8YwqaKVQpy+17oNLvvHOBr+x9FcmUJT1FaTsgZh+mjnbLV0zsrlKFP5tW7gVUIgoXi6aVgprV12lsBFkcogIPSptBWtIzJuqNHwtOPaVGJ+p8bvtpvdCAd2ifzy3G4uJIdkS/5yZV3FXUCkP5lK5nku6hY89flF/+bGeEuNMjAbeqePUvqwNWQ/naT8SJSJKl/bPa5k2obHgE3jeh0Ful0bE2pWXRvN2Mvly9TSSewhhM6JgLrmGr1fsE6XRnQAQ== 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=n9fkLaYuOty+dIbsK0bmceZK6lnVKin+jtS1fPal57o=; b=XDhsDDVmDJiFxmdAFTpaIwhMHFKYTF+e3HR2shbWqoTA6Qa3CrGtvjuai3Zcf+nByl7yjb2TD1HZ4qnM+R8WfITAUxH/4Iy5l523loXbTORBtX0X6yAgxP6txKdrhxbpwqZFzR+WI+afP3G6DKXijTvkj/55w52FQWbgt76xKEA= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SA1PR10MB5868.namprd10.prod.outlook.com (2603:10b6:806:22b::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.44; Mon, 12 Jun 2023 20:40:30 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d%7]) with mapi id 15.20.6455.045; Mon, 12 Jun 2023 20:40:30 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Peng Zhang , "Liam R. Howlett" Subject: [PATCH v2 12/16] maple_tree: Move mas_wr_end_piv() below mas_wr_extend_null() Date: Mon, 12 Jun 2023 16:39:49 -0400 Message-Id: <20230612203953.2093911-13-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230612203953.2093911-1-Liam.Howlett@oracle.com> References: <20230612203953.2093911-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0399.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:108::6) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|SA1PR10MB5868:EE_ X-MS-Office365-Filtering-Correlation-Id: c6bff715-1590-4ef9-c30d-08db6b85432f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: S4Azg8zRXfu/PIrnPS+QbFRj9bC/7sPgv0vOVVSMqc6vpCiI3lJNnhUeAq6+062fM2Uqp2jKr3cMnkk+VzImODJkO7wvMuwPHPPaz+6+lS8uCxAGjA6Iijdzb1ODFUOMIQvbPLb8+WSEc7BMkRTDNTZU2EmuojPY1Ktfh4a6nShW/nc0LgR1oBmO0+YohKs8+2QsHquk1cB5MmOeI2GuN4QXQ333aSZgune08MyFl+gCaJQRTYnIQsy2OJTkL7AVdhEy4xyXA5Sg06zcdLBP6diMe48uLg/qnM90/SA7sxsrf19+oaUiThgov32ZlYclgexXvTNz6VAxDZ5ycWZWvSyLhKeN/YN6wPaCaRhQMmz6sHzxDM+VDf20GiuAvekKBXsOkzPpI1SZplg13UrnVTJb3nZ1BTLXMPi8af9Eko5mEo6T3d9M+e/YqFnnE/h/YoaSbKwvqNW/zahON2hnBS/Tftwlpt7SVUqu1SHfWXsF/Krg74V/PJB6fiMrhHxr0ZuzRjfp25gfQq2v8Dxi2qc5mCrWKVq+WJhF33b8SZAEteeY4UR1wZ4fotWu+IYj X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(346002)(39860400002)(136003)(396003)(376002)(451199021)(8936002)(8676002)(5660300002)(4326008)(6916009)(66946007)(66476007)(66556008)(316002)(54906003)(2906002)(41300700001)(6666004)(478600001)(6486002)(6506007)(26005)(1076003)(107886003)(6512007)(83380400001)(186003)(36756003)(2616005)(86362001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: usWxw2IxcrfU1uvE/MbMXTIqYjHtPFi2xROnhDI83KMes8h5dPHPXIZZtyhRkVuME2lj9nqkW3fdp8abD/qe5qemTk3hpI4Dpm/niHspO45Zfgr7yrITjqlUH/T+LSddQOCaP/pMx1AaTx8lWhTLlRoGfa0cYCsUT54v/aJyuvTWaXywmVuh40LPHc2jY8kLMWcZnr5L1sCiclKOLFW5XNQBhwA2iBYGA7IGDRrJL2Kc97Rd1PT1AU7YDStkoDU1A3PR94q/ts3JFnk1jdcKKytM+VrnIqGSkvNl+Nbc5d2dybQF0N4ex6oNS1xez4cw4pcs6kNBgJkcsVCekLtK3jgs2EkRW57b8kcBftS/PzHoqJkqYMAiO+3CsyB9O6PBmnrDiujzwZEsfDTodrkPeTQNRMlzfCovOirSfVxKgBEzPAPoJs7nu2rWWIxMf0RdR/kArQC9O603mbv+7rD9DZz6ZJWdlt+/4TbDsL3puYRE8fDGNcQsLTiN7wY6xAd1Q0/qBRIwmk47iyxJB7GW0WTDbqftQ+RA5m0ZWIXQANeaAOCXXyz3mDmpHESofiO3AJSZnT7K5UN/QeyA0QTcEUxbRHr3pFn7afTvUipSSvyVYHP8yFq4eVypwmkBGoLK79Ohlov3gGpJudmuUpp+OxNzauLCr3ziBGC1hmV9KR2TMoYV2iEbbIoNsZnhUHPTgOXxd+pWt2AldDrpUqv+bpgz2GxWQirVuTWIYx11lc3CWXDWzcG9uqtvKC0O1sZVDe6O2zIBEyAwx45GfEGKvH/Yb6ym5JJ407gkMliYT3bhFacsDZp7nYvSugXdlr53vKaFnsrBpy1i6mpfjZfEoZ18lZX1REIdaFn8gbHsOqDfAYeIwSt6ayiNEJX7EZ1T2JD8GPVGkZoHAKj4H9jPvOmHbVQTS/tustPS5MEvnroNLODw3PVdAtMZeGuNhtkugCu+r1M4rX8sysDIdK/vHCK6ThNMzIbBoah7+oYrU13Zr89OdQieotSQVDd8JGWRuBKCnzhG4bVcX81Y4/fDa3XRMcuoL+5RMRlKDVBFjzEel6fOF0Ah2078y4caymKpsVLmM2aItCIpoulrweXM5GjugrGfJ+peUgoGnlKsrkxOi0JNCW99FD9xjpBf7id7/VcwVHnhR3kmPX6ldF9nr3mAxQx5Jaogjo6FlaFocnFG6t2lgZgVpc7pCbuBu/Z9BBUiFA2tOOL+wdOiHpNNCv6RbLvx3ksWoEE+NyXzboZIYeMS0a+liRawZeot45lPy2wXvyHcNdfFL/eJneKFCenmCsx2QyjpWqxusokMgnJS8SVkiypFzwdzdf9oXTqDpMXTRCyvK5Kh9hKtTnVioYn9QMfyPfZ1MR5ftQkSvITNFEi7WBeTYpLolK8et4KYFBS8tWdG9Bq+DTwX1GTKwR8zBQ4BdjOPYQllLtbImA0YX8ruEMlHLPHmgMnT+4Je1Ppfpm5BT50Lqs3GeDDB4v9U9NSBqiwEHXhAcg8+nA21OkORdhcj/JxTPvJBJx5CCgirVeThZ2SL08OlQZrwIziXNPx8A71ZjSd6lSG1f/Ox2nnCLMogxWwJYVIBltu+T5pmHfLM/JH8mKyD26h+Dw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: wV3+jlgnum1LrCKv0q7WDVrZgsIwm3lFLGaHUyhZAaT6ajzSvO9jUey5Qauwu/ZlrpNjwKh6q4imbSqyjd5CqnojBrum31cELcN/mmIigiUXWeroOUw1t46LGyJA5nWjv8K0ybUNJ7P6OmCij2kFZ0goQFDoWq+a7VIUyJxKSJv7CgwiYQEI2wR5cyN9ayP5LbOB/hQsZajC1pCaETzQru7Zm7TQMAc8+HC0TYOrgER/wvXBiNZemJhxVLrzXgvrHulB5qf3R+BFQCPA68BKnnVf6zCK5p5LgasyrdDm7R9tLB8u4HfRcT8B4+8hDMNIuS9510RQW0HxTjnSUlKortk38zHQLWP26A2nl6RxKAufNAzHaYBJEMMumacIiej/t4bUsNLlkOnndF60NLkKftVsd9MNc/fnrpLvctfkVhQRVMbXkGc8Fe+r+nf6VoRgwwTASJ1GdKjTVs+XivjgJFzzqYWxa6WLzfeXX8dyct8G+VTI0yvjUBARH8poKdpSdDaxSvkQ7u/8IziPl72neipmUP+vlhUBJLCKR2lQ/Hlfe4bbH+SS4+EgMcUEc9UWI9oHSs0WkGlXMs7aRIFjrLxwsboaQHWoYnP4FXHfIIo/Q2+N8hnKstL0CiRQC4lLj3acHAF73F2HW+Eh9j18oa2WqQMRRHAVYer10jCOPKMgI3xad+NL5Lk57qJvK/n3/lG8fhul2M73Zew0SPpVXnWRAmfW5FTU7TDC76cqdWutAP4AQ1YQvaOxul3aNQlO51TMQRCh6UKOCMq2xPbTLIsi8sQU7DoZVBNypBCgWlgF+rkJR5eEak1HUPOB21PI/yzf04bDis3UPSKVh/vpy8/G00XxcIWJEvNhpOtpdlJCnTIM0IwzJXMnyTYUFE+Z8SudXlSwd/yVzD6Sa5POW51ladf7mHNC6kyQ0B54mBvTdSQnvUwWYCnms8H5tE6T X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: c6bff715-1590-4ef9-c30d-08db6b85432f X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2023 20:40:30.5932 (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: MQFbMsgksgOUf1JYIbjWwi+WRpUwRYR6ST9WO393gcvd78A0wTelpsRH4wsiFOFzhndbAqP6TxZSkvRVasip9Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB5868 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.176.26 definitions=2023-06-12_16,2023-06-12_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxscore=0 phishscore=0 suspectscore=0 mlxlogscore=999 bulkscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306120176 X-Proofpoint-GUID: ijbDhC1EBN1bpxeSwa9t00WFUerEOBbw X-Proofpoint-ORIG-GUID: ijbDhC1EBN1bpxeSwa9t00WFUerEOBbw X-Rspamd-Queue-Id: D6D0920021 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: esfj5oie5e7pxqimk9uq9cchdayj4zf7 X-HE-Tag: 1686602441-154358 X-HE-Meta: U2FsdGVkX1/Ck3TWKmMwXB2Btmw/dPxOrEGAvdXya3YBr9ieAU2sm7YWx2PvZhOARkNZ5e63uSyixzZ3LMRwryLeLutVeIaJBuNBJKgVLiKKhMxsulw5Wbt/i5Rtnd7Qy9KwOh9WJdPkG7Cr09XuIQ1+RG7AlXARFG+istQDI5GIjH/RmauHJ1Ysgky0mC3gWGf6dw4RFNyZEYUOmjcMWE7A7S78+DNlWftkzeW1+rR68z4Q9Gp4TsAbE/4I4+vP7sTdNviMt2uYmtL7k20zH7umpPYHXW6jv7lYgj6ZUdZYBbIFRw6OetCc2MdbyUV1NV4MUUXxngqaAk4IOZwBxnmKGAZMWS44C0L1dvKDsT7hjShVBOPRqqyglE0mTpBjHjgIX52T0v6kSH+VnjXr4MZjhqrTO2KahT8c7VNDa/Lly4RetPj1o9U5RS/jRV6/EDdtktwCyW74GQROsM5DsXZERJFH2KuwaTAal/wwxAAnoCX0L/q1QSvu1c9lsInxKX8fx1sL9gxTeBSQ1ugO8sFdX201czQOz7jHaCrlwZ+0XCxH53aLQ5neSSZwhb9deIML1QtLlKPmfjz+IfHwffDG2KqrNlWVjRnwPcudl0TRWitH5wjKctBUZ7Ov+cTtKLQzJ3Wb182FPYLeEM4sBVuk+S9UDk+yVooIygVoMthpZo5JFdypZCjzyA6B2l1Z7Rbshk6UxaMgVpub0LQo7+xhbmDfAsE1ovmzUFc04POkmTjJzgroC2QFDFd8BnyArfO28isvnhx5oAEdPvmUGU2R6vpz1Z8I8Eq1f9ZHEeC+M8660hWMHiea3G7PLwdxHdPuJwgZFTkIVeJBICBr+uP1vLKkHRv1NIAFqi0hz4LutG39huFZtsOPZh5KCNyqmS0ve0HYynd6SOEDziq/99KAcD/gnsJO8ksHsxbGl+3Q6V9lGqim6HhlDNhshucqulGbCS3l0XrYDOSCmFc mvUUXDOp IWt9tIE2oSXpTIorGpSDll9WQPKVXRYTLdKygeSwvpRNPh8fmaq4ykFA/h9a++WTUYlzme1LftsKLzrIDA/Yn0VvFv5Vg6AtR+SL0nJiwNHL90BrRFpHf7tK+GTHDNwk/I8UUHXVZuxTrIYV7E+CIFAgLMF8r95n5Iob1jYGxDt+kEuXVedInsBp/JSzq94Ub2qq4Zs8Y7O5/UOJwan9EJd6cTfo8UgyKodcZA2/hm2Zucoz4e/kNKMB3Y4fzIe9rb+RVl7aTLmgOr+lNmCHk9EktZBqEGc8RmPWZP9i+bPeuhj6ht8bW6EtI6qwEow2B9fgy7FFKtfnTWytfUXlow6mJol+sVq2bOyB6leXmkL94p71ZirVq6CRqUkPRVxJB/gGqvB7rMb2SrAh59psHxfvmemDWgBtoiwu12hpGDrPXIqo= 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: Relocate it and call mas_wr_extend_null() from within mas_wr_end_piv(). Extending the NULL may affect the end pivot value so call mas_wr_endtend_null() from within mas_wr_end_piv() to keep it all together. Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index fa51abaab09b..048d6413a114 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -4197,18 +4197,6 @@ static inline bool mas_wr_slot_store(struct ma_wr_state *wr_mas) return true; } -static inline void mas_wr_end_piv(struct ma_wr_state *wr_mas) -{ - while ((wr_mas->offset_end < wr_mas->node_end) && - (wr_mas->mas->last > wr_mas->pivots[wr_mas->offset_end])) - wr_mas->offset_end++; - - if (wr_mas->offset_end < wr_mas->node_end) - wr_mas->end_piv = wr_mas->pivots[wr_mas->offset_end]; - else - wr_mas->end_piv = wr_mas->mas->max; -} - static inline void mas_wr_extend_null(struct ma_wr_state *wr_mas) { struct ma_state *mas = wr_mas->mas; @@ -4245,6 +4233,21 @@ static inline void mas_wr_extend_null(struct ma_wr_state *wr_mas) } } +static inline void mas_wr_end_piv(struct ma_wr_state *wr_mas) +{ + while ((wr_mas->offset_end < wr_mas->node_end) && + (wr_mas->mas->last > wr_mas->pivots[wr_mas->offset_end])) + wr_mas->offset_end++; + + if (wr_mas->offset_end < wr_mas->node_end) + wr_mas->end_piv = wr_mas->pivots[wr_mas->offset_end]; + else + wr_mas->end_piv = wr_mas->mas->max; + + if (!wr_mas->entry) + mas_wr_extend_null(wr_mas); +} + static inline unsigned char mas_wr_new_end(struct ma_wr_state *wr_mas) { struct ma_state *mas = wr_mas->mas; @@ -4377,10 +4380,6 @@ static inline void *mas_wr_store_entry(struct ma_wr_state *wr_mas) /* At this point, we are at the leaf node that needs to be altered. */ mas_wr_end_piv(wr_mas); - - if (!wr_mas->entry) - mas_wr_extend_null(wr_mas); - /* New root for a single pointer */ if (unlikely(!mas->index && mas->last == ULONG_MAX)) { mas_new_root(mas, wr_mas->entry); From patchwork Mon Jun 12 20:39:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13277313 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 4B024C7EE2F for ; Mon, 12 Jun 2023 20:40:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 66DD894000C; Mon, 12 Jun 2023 16:40:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5F578940008; Mon, 12 Jun 2023 16:40:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4233594000C; Mon, 12 Jun 2023 16:40:50 -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 201F494000B for ; Mon, 12 Jun 2023 16:40:50 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id EE3A5A01FF for ; Mon, 12 Jun 2023 20:40:49 +0000 (UTC) X-FDA: 80895264618.07.C51DD09 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf10.hostedemail.com (Postfix) with ESMTP id 78AB2C0018 for ; Mon, 12 Jun 2023 20:40:46 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=IcNf5Sri; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=epbrl1Zx; spf=pass (imf10.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1686602446; a=rsa-sha256; cv=pass; b=7W26mjIe6FLC7UTEFYZJb/z9nr4A/gaix4xQ/I6xNRkEzXKEPNwIAjdycvROHf6kYtVR09 Mk498ay4yKnlNW5xhhfhMUvPG3rTuHKX66I9xY8FuayhDUh4nfnLx0Jjqb9p0nzoL6pya0 V1QHks6+hCbV916j6Volcxi8Q1TxEZk= ARC-Authentication-Results: i=2; imf10.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=IcNf5Sri; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=epbrl1Zx; spf=pass (imf10.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686602446; 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:in-reply-to:references:references:dkim-signature; bh=MRxZ2xtmGClbLJvupzZ1eM+6XTaXbG4AfbEc1W++zXY=; b=PbtU88g3Q2NyjJwdDUwDPhllB1PhaKJ6M1oifd6oSWcLiTDhK6CSmyAfgMbrLGSvsUHr6i eiDb24aNeHI4w5R8KCVOYLniK6ntfCVHvkEQh5HTzdFRqTmu3pImyXjIvUUQC1KyOWbsHg 3IEp5uTXMwxhz6b2k6dpcZ99dEZ7OTc= Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 35CKO0Kn029029; Mon, 12 Jun 2023 20:40:37 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=MRxZ2xtmGClbLJvupzZ1eM+6XTaXbG4AfbEc1W++zXY=; b=IcNf5Sri9Af1Pp52MpQ8lLNnONoBu6JG9O2rPdKKX2uX0qP9/2H3tnUpMi/dkSNaa4yP ykSYJN+aK8bTps2pWNpuvP5eflrw1gBASflbW3J9oS9Z3hiQDkdfekOZixh1Sh+JY1Xe 9YXLSnIQxMU4khmSdNyg8QOAPjWgNlGwtKtpEGFlu1ar0J7wwknxJ2Gwvk3xg5+85Lq4 IpXuPiFzkh81TEuo108/HyDdNrPb3D7KaQ5b/oYQ4tt78RJscDx3vhHdiXxAdZvuCqV5 mV/Gk5JUg25ENrdpsA2qBMk3o73aRV64T5Tg6rfX0xczqGfk+QAiRwEolH+WLYorrIfK kg== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3r4g3bkxay-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:36 +0000 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 35CKHDrC021578; Mon, 12 Jun 2023 20:40:36 GMT Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam02lp2047.outbound.protection.outlook.com [104.47.51.47]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3r4fm39c0g-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:35 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YcimoHmlH+Eu47TlTCKaKe7YwbDPRoy8/apVgmpA0luVYEWmBjW3Ak+EDFPLCpRWZ8hkR8ofDk1T4d9gB+Kxd8/4fPVNKr6NqUggd5MK1Mb1y8wO6tzIjgP54yVPm9BCjNVDtuqgRcwVBzHHU9WjghYB/NhCJs2HLSDAQeZ88eu7Hbov4RLTfBAmqrN6vTQO1XzGjzpCYc2FZYSKX+NXT8uubn/W2S5y5vvzo+sFPL1phbz2DEuFhZpa5UEr/RfSY0ztiT15EtBKiZg41D+WjTaD6Ll1hy1v4pVHlyftaN/SijanjhJc3EWc5RuGi2ZgDdtHm40l5nqlQI8WUIC7kQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=MRxZ2xtmGClbLJvupzZ1eM+6XTaXbG4AfbEc1W++zXY=; b=aj8DzMftMhWM2TnwRhlowl8FyKT/MIcT3BMnbiI6fsSAsFSvZzmCJKmHN6iWWnCLPNeIctOs7gyhgxvWpiElg2OGN47lh1+uQ6/+gXo5bdwYexDfk9FgWOq7+8LTXzoVTZWjRq6buMUpwjJA4v03JYyo6PJi9r7wqLKs9WCUGlxvL8QbVSZ2STiIQzm4Xw+6gYicPXhQTRwMhfnpx5PcBVOKLIliB2VvJv4uXN9pomhCVrKNwrNaa1F8mVBF+1tADxXBblO/gseSDKBKw3tVh1X1la1P/vyK1R84XfnDbR5gFQn0mkDEBQ3yXflgpVK5/Sfa59kQqvN+mwU1nE2JNw== 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=MRxZ2xtmGClbLJvupzZ1eM+6XTaXbG4AfbEc1W++zXY=; b=epbrl1ZxPBDqkw9C7c9lwRwMxCHZ/b4IPFxhPGmTRwoFH4WgNc8PjAkdl000dnpui0ucFaN/WZFrIUFPaK4dQ8r3iKdhUFfTr18l/PvCIBOzU/+OF4xjwJDOYPiY7XmSYjDeN/vuBiubUk2HxxM7JspgGZ5y/yuYbazFFbZxz6M= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SA1PR10MB5868.namprd10.prod.outlook.com (2603:10b6:806:22b::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.44; Mon, 12 Jun 2023 20:40:33 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d%7]) with mapi id 15.20.6455.045; Mon, 12 Jun 2023 20:40:33 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Peng Zhang , "Liam R. Howlett" Subject: [PATCH v2 13/16] maple_tree: Update mas_preallocate() testing Date: Mon, 12 Jun 2023 16:39:50 -0400 Message-Id: <20230612203953.2093911-14-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230612203953.2093911-1-Liam.Howlett@oracle.com> References: <20230612203953.2093911-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0459.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:d6::18) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|SA1PR10MB5868:EE_ X-MS-Office365-Filtering-Correlation-Id: 9c5a48c0-6f83-46c0-09cd-08db6b8544e4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fTnRWMa10E//Wi8VKbRnnGkbaj0JZuu0gAyfz0ZqCIAc+YZUSf98zEumXAnTygNMOY0Uljs9wUyNHHu7tQbNl7xY03PpHdaA3xugZVW6e/e8M61DGb4x2ipj8Zjn6LXUqqbheqKAlxvLIthIz6WY+vVugBn3RUyCxdl5szTBO9UYTfqn7wjzgLa0sSP9xW+pQvNAnwcXGtum7U5X2B19EEqXw2t7ITTvSBAk0cQorM4CSEs9o8DWkpGXweDZO7gIgdsXDyJoPym3e5F0WGD1m7L8LTlP+rkJbiNTGBpOlCSmvHJOPKSxKQs1uLIqzDgBcxmnTWVH3EiTIrla8d1lloLJK6rafclhnAykKAy43hu/1x4KG/3lxsZlQPHWfIWxk3i4OygjbLDaKX5XuYJiF4xYY5lzrHaDxoY6UEI+H3w2gy93ygojBDD6UY0IuOOcWxsN1Qbrcjlq6mQNgEFw2hbv9dPGXGdKum65Q81Bk3aLnKaAxsbqFlgi6xexnJjRUWHsOrO6zPuqBXnOrcC+CjdLnnp326ARoNwYk4UXOmGz+nmrRQdh5F5IYs7LzApl X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(346002)(39860400002)(136003)(396003)(376002)(451199021)(8936002)(8676002)(5660300002)(4326008)(6916009)(66946007)(66476007)(66556008)(316002)(54906003)(2906002)(41300700001)(6666004)(478600001)(6486002)(6506007)(26005)(1076003)(107886003)(6512007)(83380400001)(186003)(36756003)(2616005)(86362001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: JVvSnXGbvrE98OH3ILkMsiMjD/w36J5v5DU/iMTJ3Fj/orOsVBagVvnqRND+D1lw+r6aLwkXVQsxclzr2adlQ9AhPvU+LxO8i2giOzC6JuHTRObwQB6eZOSkM0XxN4iUVW2vksig93BZWzODMLqQp2xMe5876MTTmlEGpSKC50BPn6OrT2NN81yN/2Q7zcOLA9tCOmbilsHmHX6/En/NiFnPvoOOHoTrCuPvXEJ4CzmGle4TfybSrihr1r7Z6lDzYQMrC6mVK7W3Tjfesci2r/JYmc7rhIzKXldfm+nlA24R85fb/0UJ1XyOPwZIzDIKRvHgF0VYLCUwOaspMvKaU5DwEef3uYPeuIzlvGt4lO1Q6R1eMWDDDqdZ7AKnkIbgOzhDWvctsZBnHnDCd8AP2LrLdED7MMbiiw87/37rx1sEOU0SNsrAcuLboHUcuf+QYTFGxoQDmGzWRucx2826Hm7nDqWK+SWmI/WlIIno/hNpkSZTEDk2mHgaZlgJWb5pfXHJp2W2DU9jGladLOEVix0qlNb4wsl5VHQY2PiDU9+MFhfKWHjeNx88DbS+viHKVbsGv4mwqu3teSqTFwZvAVCfL3n+JT6eM3fmAfhN6Cb8t1cVXSbVvrX6dEFpZtxtU+zr+7OdQtbEs9biS2bkAFj0dhbIZsaJGpLUEVPJr596klTyF74wtUpFCeu3pVs1e6T0pp6niOflgeXjfj+FqzmXM+IjqNv/a0swNvb4LQGgULhoV/flMTDtcuWHhjmP/qqQ2gwder9YNhGSSBNTgjexzLfunisTYazflsBy26r5ErG/RdWARrt962Dt3frxvycKA59IeBZDiwSlV3HA2erqmbjn2nj3p8ydEmQgsEZvAEWPZ4KJmOx/19T0IcY+7mIfBg3pEyNA9XjCyVa0DZncv4b3gI8UrfpjngKnbQBNbQpqvhEQ2XSE4atazq6VkK+k0rT/y0zwKZn2SUol7C+QwRjEXIR5XCcT9/BZsUek8U8D/h4AisRnJ/STLd+x98JLmNSYv9Oxg2i7cZ4kyCejZv09nCSddoBvfT86hPSUz5m1ONVIsjkvSMzc33H4t5P/2krJ97iqMxnPAOrBkyBwZxleczVoiSBwKcnVEBK2ey/awx4YxeINOKM5/i7i/g8F0dcCBgoMljJbboXy13wPPtE57VsRdwO348qorz6Kp4ZlSmRpfkQnH8kKjDQzj9YWjzkO5Db77vdz8FVQdj9rZhWlw8IerV8urVTHLcYkGYV2VzGgpmX5HimS+ISp0zU3q3tC7q/eXYWDVJidLTuIsPG5dM4EuxTZu8YkLYWcP55LgkJwG9xgr5BhyoPdeOlsKTZbVCMVQ7ZNxJJaBryaSfxfJ/LDaC9U251nrJfNhVhMXKvwZvc7lXOl3RVREn4ElfFghC9ivvqxJHBtzrdnwj7AThXX994mGi0WGFVCNE73Yebz4Lz+xTZ+zxZ70wAAVn66bqBBBTzooPQbEGWYfxSBvLVi05aRETD4+RxSOcRL5jcyIdy99ZsEmOUbodbp0W8dmFWjQqoxmDFahtJKsOug6GjvDu+AAjsUFeVZLOrt39Mpmk5Ih7NCVlIVmTs0vP3hSD1bF25mypfYVA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: HvCrmC4BmhNSk3U3ZQz4VSirFvSqp4b4SmQm+NUz0R1YDmF0qZSVPmTFeBn5Dibz4PiW2VgqREqaF88FraIeY2pRqbHCCVGNXIxa+O+T9F/HBOgwPvaxvrtO17Jf32C/24l+7qKQB3vD9CGbmosLD+WVfRUfCsjLcuYXGl3GrOhJbpOTy9t3RXlFei6Jq/qV+Tr9t9dvBPHvWLFk6Uqmkmltdnjmlg8xEvHQwlrXEFQZ9dZmHkffCkuOjix0A+po7mEeNBxvRXikgqxnHsoiO+nrrKYzqsvzoNdAKKQ8aaMbd3FH+glvB7xKVF8IPuESyyOtt223xHnipcpxhAACo5q37OZcQVRl+5DCoZIVPfokF5ZjZZDtFzr2Q43Oa23i0+1mN38HBXqLbkIByP3rvQQvDBFvy5P5IPOMd/46rw3lDwQQo9DB4WUI1401FAWWdWtiV1eHu6VsD92V/ojdV4KgKpqhTbWyCSFtyT+eLt66XLhRPGvX4ZjyeiwGBV5NAet6/mbit2tQuLGJUd7OooAq33RAFz4fsQwz2rbLAjax965BVwPOWgxWfnzRMlUmt+p0jclEKXXThDgO6MrJba36lKlJA03I7jsp3Rqnbl9DmFiEVgUHSOfyHx4gNxAeu09IoEkCRo3HUO2PnBT17sgO5k6IpmKmiNXTlTmyLPLPR3C3ud4Vaarl4jOeLpMjNYvJVZsSm1TLBYoMbrpZaCzdYS7h0EW1QExg1BSCJl3KegtiPduxuTvGuz441K8BosWM/bPk1oS+GDH2WXj5U+hj9A0+Sb5Vag2nLvXVq4ECF2gjVzceq+bGoWbvzRysPb94AiVu3tsEGqBXP7oN0rriBhaKQeyI0PNmQcEewHE1+Oc9+LOqwkk3/GMqIDoNjnELcFbvTTm5wKqlPBNpke3i/zkXXNJ43bZcvj/0N/n6Ydn7JwLrQIrb2shU+euL X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9c5a48c0-6f83-46c0-09cd-08db6b8544e4 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2023 20:40:33.4360 (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: vbRcOS0++mY6wySA/HWvJf11Z9U7xpmOHVk4S0xFYiFp3iCr1EiqGf7NJOc5qLyB+RiHjV/TxanwxqLHz40U0g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB5868 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.176.26 definitions=2023-06-12_16,2023-06-12_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxscore=0 phishscore=0 suspectscore=0 mlxlogscore=999 bulkscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306120176 X-Proofpoint-ORIG-GUID: x4PoJTAPY4JeOCEGCA8KeiuUAXZZJjOf X-Proofpoint-GUID: x4PoJTAPY4JeOCEGCA8KeiuUAXZZJjOf X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 78AB2C0018 X-Stat-Signature: jth57k7ywm7q6jy7etjzqpkj8956zs9p X-Rspam-User: X-HE-Tag: 1686602446-11074 X-HE-Meta: U2FsdGVkX1+ctsqmXFAAD44l5m+BujF5tXlJ9SYvotPWLARFcLz8EmTXmFC/FjvAm3iWZAwwCoXcpKx5VP0rkP6GmNqdZsGmRbCtLeqNzqwjLPkpGxoPRZ2PqUojKD9ASb/X0hxTisRm+ZJwRRq4C3Fne7HPVvrw7zmV4s6cRi3EJDVMwk36r01IksYSzfIqQ9WfPYzx5eBcz0YBqEQrVZA06WYya4cZBO/W8/566Nv0ri4E1lWC90Pe5g+c9/gND5FDWuCI6mfsUAjn6UDs5VGWZtc8qecXqdyzf/SpaqRb/RGPf26kpAeEx0OPjyr+uolAxSpNt7+Axc3+5LFF8tumCCcLvQIVxuTIM9AMnBGwt/FZKDWNJsSFOJEoLebUAEcv/9IxyMtFlG6JHxYqeZDuf0ybW4SbyDvQeIHO0jiD5h+/8dfXILqX2WrjpE1B8zQtrcs32BY9DrWXbWaM+gw9IxxIQl67DmwgV4wpq3RGp/m3/aa8Den+32hfZlFo1lPzsgZlrVXZ0i+YpeRLVwqfx+pZCU/d1ytJ0vr/0w92LyjdZ6nbSSra/och8CH9MRB2BWxgS+npvsbcgViEkD2XsLiVXiaCg3PgqWEMQiyPt2Pkg/DwyDSwBOYxLpNHpoLElIC9SBR2/8kyW2xiFmXc3Mlbq4dgeJvXQdsKxW8TGTNF/l0zfl17DmavcsY9K3efRfkxxspwlBiI4t6mOuDIiWUjkL4mypjsjY7UQa0EhVhPR6AWS9xONo7VttFUu5du3upBTjdffvLU8n9eo70s30w4etsV2/OU3NPQrkpBzvcF5NISIBIfSUbEe20MMLaqJMUXkT/lNwLhj0eUUaFSYqW7KiE39rTD1QFyD0OumX0vx5nM9rxUqEZXl766Air8nQZGjN+iEdYm/OEwRq8K61cwyi8hTv8Z2mN2Eb0BQiJtqTLMQVb2W20cBowshc/F/zssf8/zdvx5rAW TlWkJzQQ zbcJbh2vzbW4AeU9bJxER4L75HFqg99RMr0iiYPxs+g4wckMvBR59EZfoJ2KaQI3EBCnx1H50oHrtyBFUOpnp8QZfifAfSxoJVTbK4cYx1255J3c54vwxxz+/61h45kwtorgQ4VqxeZ4WrgxSe4P9TiJ1MkOE+dgyQ0PAfWw9JDILPYyNl7kAUXoqvDdH4HQph7ITRDfY++dMqvB36fmt7ZqM/PnBpOgDaBqbF1V27KkeyRRlAQM6i+SamGk5YmKAzfuPDBulwCn+JMX3fVsWe04BwvD0+otw/M2Dx/8E4ZTpqhQ2lXSgIW1IQwQhZMa8xGzbUI2KZfl2XnTd1y56Nr4s6jxK29CgNXyrEdH0JkrkGK25321Y8EmbjIpcc9ilKm15WIQsj3ocn6B8LRZ/Tztv7FVVOgT6hclj80yU/7VRzvw= 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: Signed-off-by: Liam R. Howlett --- tools/testing/radix-tree/maple.c | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/tools/testing/radix-tree/maple.c b/tools/testing/radix-tree/maple.c index cfadc4b75d51..c42033172276 100644 --- a/tools/testing/radix-tree/maple.c +++ b/tools/testing/radix-tree/maple.c @@ -35383,6 +35383,8 @@ static noinline void __init check_prealloc(struct maple_tree *mt) for (i = 0; i <= max; i++) mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); + /* Spanning store */ + mas_set_range(&mas, 470, 500); MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); allocated = mas_allocated(&mas); height = mas_mt_height(&mas); @@ -35406,7 +35408,6 @@ static noinline void __init check_prealloc(struct maple_tree *mt) MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); allocated = mas_allocated(&mas); height = mas_mt_height(&mas); - MT_BUG_ON(mt, allocated == 0); MT_BUG_ON(mt, allocated != 1 + height * 3); mn = mas_pop_node(&mas); MT_BUG_ON(mt, mas_allocated(&mas) != allocated - 1); @@ -35420,7 +35421,6 @@ static noinline void __init check_prealloc(struct maple_tree *mt) MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); allocated = mas_allocated(&mas); height = mas_mt_height(&mas); - MT_BUG_ON(mt, allocated == 0); MT_BUG_ON(mt, allocated != 1 + height * 3); mn = mas_pop_node(&mas); MT_BUG_ON(mt, mas_allocated(&mas) != allocated - 1); @@ -35434,7 +35434,6 @@ static noinline void __init check_prealloc(struct maple_tree *mt) MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); allocated = mas_allocated(&mas); height = mas_mt_height(&mas); - MT_BUG_ON(mt, allocated == 0); MT_BUG_ON(mt, allocated != 1 + height * 3); mn = mas_pop_node(&mas); MT_BUG_ON(mt, mas_allocated(&mas) != allocated - 1); @@ -35448,33 +35447,37 @@ static noinline void __init check_prealloc(struct maple_tree *mt) MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); allocated = mas_allocated(&mas); height = mas_mt_height(&mas); - MT_BUG_ON(mt, allocated == 0); MT_BUG_ON(mt, allocated != 1 + height * 3); mas_store_prealloc(&mas, ptr); MT_BUG_ON(mt, mas_allocated(&mas) != 0); + /* Slot store does not need allocations */ + mas_set_range(&mas, 6, 9); MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); allocated = mas_allocated(&mas); - height = mas_mt_height(&mas); - MT_BUG_ON(mt, allocated == 0); - MT_BUG_ON(mt, allocated != 1 + height * 3); + MT_BUG_ON(mt, allocated != 0); mas_store_prealloc(&mas, ptr); MT_BUG_ON(mt, mas_allocated(&mas) != 0); + + mas_set_range(&mas, 6, 10); MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); allocated = mas_allocated(&mas); height = mas_mt_height(&mas); - MT_BUG_ON(mt, allocated == 0); - MT_BUG_ON(mt, allocated != 1 + height * 3); + MT_BUG_ON(mt, allocated != 0); mas_store_prealloc(&mas, ptr); + MT_BUG_ON(mt, mas_allocated(&mas) != 0); + /* Split */ + mas_set_range(&mas, 54, 54); MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); allocated = mas_allocated(&mas); height = mas_mt_height(&mas); - MT_BUG_ON(mt, allocated == 0); - MT_BUG_ON(mt, allocated != 1 + height * 3); + MT_BUG_ON(mt, allocated != 1 + height * 2); mas_store_prealloc(&mas, ptr); MT_BUG_ON(mt, mas_allocated(&mas) != 0); mt_set_non_kernel(1); + /* Spanning store */ + mas_set_range(&mas, 1, 100); MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL & GFP_NOWAIT) == 0); allocated = mas_allocated(&mas); height = mas_mt_height(&mas); @@ -35482,6 +35485,7 @@ static noinline void __init check_prealloc(struct maple_tree *mt) mas_destroy(&mas); + /* Spanning store */ MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); allocated = mas_allocated(&mas); height = mas_mt_height(&mas); @@ -35489,6 +35493,7 @@ static noinline void __init check_prealloc(struct maple_tree *mt) MT_BUG_ON(mt, allocated != 1 + height * 3); mas_store_prealloc(&mas, ptr); MT_BUG_ON(mt, mas_allocated(&mas) != 0); + mas_set_range(&mas, 0, 200); mt_set_non_kernel(1); MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL & GFP_NOWAIT) == 0); allocated = mas_allocated(&mas); From patchwork Mon Jun 12 20:39:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13277312 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 B52E7C88CB5 for ; Mon, 12 Jun 2023 20:40:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F20EB94000A; Mon, 12 Jun 2023 16:40:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id ED4E4940008; Mon, 12 Jun 2023 16:40:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CD45F94000A; Mon, 12 Jun 2023 16:40:49 -0400 (EDT) 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 BDD33940008 for ; Mon, 12 Jun 2023 16:40:49 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 9780A1C7C30 for ; Mon, 12 Jun 2023 20:40:49 +0000 (UTC) X-FDA: 80895264618.10.4681150 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf13.hostedemail.com (Postfix) with ESMTP id 363BA2001D for ; Mon, 12 Jun 2023 20:40:45 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=BFacnYjJ; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="SMnlvZ/z"; spf=pass (imf13.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1686602446; a=rsa-sha256; cv=pass; b=VMoTqe0exGK6oZRfc7P9WaAcn1jPhPYIexuoVMBFxhplrHn9qZNX7fewtUBqWP1te4/Er1 lCNmOS796yKD7VceA83Ty4T/9tjE/zJOawKzgO6g0rIMNQo6XklZ5Rzf4quvxkQSenFE/M wclh3UZLxYbQP5v+oTIS9OfZ1d7HgZY= ARC-Authentication-Results: i=2; imf13.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=BFacnYjJ; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="SMnlvZ/z"; spf=pass (imf13.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686602446; 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:in-reply-to:references:references:dkim-signature; bh=Q022I5yTvzYmJXxqO7/WBlIwy5GdU306+IeJGS1jis4=; b=r/Yjf1xtJpIwoRpCvIxBkRas0OJP2dvqQbp+NIq9URmB8kSvm4qu66XKnjc4OSGxtir6F8 mKb9uLv2bYoI62mqZGrE3OWSUpCkqpd4gK7ODxNh20eF3/E/viEY8lhsVGBl4lker159wt tSkW2ixyHEytbvTnAuFRT57gQirVt9E= Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 35CKNk8H016718; Mon, 12 Jun 2023 20:40:38 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=Q022I5yTvzYmJXxqO7/WBlIwy5GdU306+IeJGS1jis4=; b=BFacnYjJeSgPODs2GxVJSgn137lZuOULhnO7nCoWxAL5FipMaep70jLuaCBf9TR5brhP rPUwrMuevppb8gFcqkxMlrRFbQFZWcB2hAbu0ozapNhGRc7jDrhLcDTKZUDRiz6eVA32 ZHYWAl33SNocGRfn4UwABsoink+r4GIm7OrREZAPJGGqqtd+g8VHJDgwewviHwAn43Kf a7HH6D7vLdgVqHJ6dCxir/sk0gEf5dOSS4YUYfd3z80Y1kzthOx+oEefvp/yTlonAXGV c6wtpk7bpfJkx2oI8tojx44ZTtrSIPrf2blS7YkkZY/b13kRRMYQu5J/S66LoOsQz5ul fQ== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3r4fy3busg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:38 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 35CKWdkG016285; Mon, 12 Jun 2023 20:40:37 GMT Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam02lp2045.outbound.protection.outlook.com [104.47.51.45]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3r4fm39act-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VJkmYnM97KjX6tf5szi/uJ3Tveld42Y1TEvr2bqXVQIoobih+kkBmQql05wV2FlyYfOE39JSAkbUEzoa2dPzCJ1yHTDvZAkuawwyuYC94RfBrO6lzvKbmKF7f0OZISzrYOi6my7lz+HUuTqCZbtk+sm3DNCV7ahX9QzTg7+vVTqI/EkBcuUwNlfScOIjQ4j7kreKHPBjojXVxuIvh08cgzB3rYDeSHwcgVsJ5E3gXLv5BsSsunabYuzXmIiCEtAuyUfY5S6O9yGjJkXK6xlnRuu8b0s+93DALF6ykZH9hKQhVzc0S9ghOdS5IldqjgI9tuAPBiGCO+e0oVV+4hFFrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=Q022I5yTvzYmJXxqO7/WBlIwy5GdU306+IeJGS1jis4=; b=BpFc9F0G7527iHl+wFlusB9KMlTUIKyWA4vBWOK753xhxq4mO439SOxmoWtd0EOYs7jLGSB3dWoH7r+KpSCW8x5g46axg1rzLedhqytd4HmHQ9JBc3dKu8tEQTmM3WYEQYxcACQBE+ykZyisnO7gWeDHqMShxpcsm2R+EslYbPjTKSnzHJMBo0K/6tHXegcH9r78FvC0Jpb8dq0XvGkQPbV8lsnZagVIR76c0z9F8sZgh/v/yDMClqrdIvVoSBi0BXbHYkJTBmXl7i41CqFwrnKEk+RM0/xinKq4YfU4X+Riffq+tDVYNSylGSmduLk2RbnKKoXVwKYfE4jdS9IUQA== 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=Q022I5yTvzYmJXxqO7/WBlIwy5GdU306+IeJGS1jis4=; b=SMnlvZ/zKV5Gz1gDJXyw4pbGXOtaNTjfzWnSHuoorYF31PbwlKX59kMre6bHIZ6gsmtSSI/WD2Y82taJ7FEaIgFTiv6GKQhxPdwPKC9tF40W5KB284yX8iQyj9EYjp5Lj8gomi4EoM9OltuWAQlTochfniPlTZbB/wsspE/0QE0= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SA1PR10MB5868.namprd10.prod.outlook.com (2603:10b6:806:22b::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.44; Mon, 12 Jun 2023 20:40:35 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d%7]) with mapi id 15.20.6455.045; Mon, 12 Jun 2023 20:40:35 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Peng Zhang , "Liam R. Howlett" Subject: [PATCH v2 14/16] maple_tree: Refine mas_preallocate() node calculations Date: Mon, 12 Jun 2023 16:39:51 -0400 Message-Id: <20230612203953.2093911-15-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230612203953.2093911-1-Liam.Howlett@oracle.com> References: <20230612203953.2093911-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0079.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:ff::11) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|SA1PR10MB5868:EE_ X-MS-Office365-Filtering-Correlation-Id: a45bbe5f-5396-4af5-f256-08db6b854657 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6O66l1Ng+2YWPcjS+/NR1IKzjQjWNRbB1MgIN0Pt/8ZLDPLHtrVdoJxF9ulyW/RGnZcnnZhBysz273AFIoRQnOlwqZp1kV5WhDWNmf2LIDUuwwb5kPbffOEdg/Qn9mmBqu+/qZ3DA48TjgPBC9IbYq5zzYm/k8a/d6NW5sfoJuaIkB4P95D22ZCiCxg8S+iJ9pT0MBqifRr6vBAHudG/Le9K6IiCJEUbx6ruIFjoqIirScNymdoKtVfcmHakwRxfQALxccVlxmwM/7Xk87WPeaCMt2bzr92YZgwpf3Tekmey0NObIpgJhnm9Xy2pEGC0VTCeZmNEDd/t9USjD3mdb8Gv/hEMqEGuUsdMTyE2eUxP71mJJmIrqWkb2HXX9R1jaG/XgJE2TmKL0n4izCqn2L6YUyGlTt1DghAZ8J8p2oHYH2zHUXhzPZ4sWcCCgb15+2Tk9aUNsEgA2RwvSCf1Jb5af94Tb1gU68Y7AHRl4p/OzOp+aope67/vgYg+oCmuNvW8ElksCoGSRl1X8R1xHmGzAE1nQo6NzLV4qdD3pKrEKeJA8WXdH5zSuq8w7t71 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(346002)(39860400002)(136003)(396003)(376002)(451199021)(8936002)(8676002)(5660300002)(4326008)(6916009)(66946007)(66476007)(66556008)(316002)(54906003)(2906002)(41300700001)(6666004)(478600001)(6486002)(6506007)(26005)(1076003)(107886003)(6512007)(83380400001)(186003)(36756003)(2616005)(86362001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: sAqqN/m5Dfl434q16z9a9qsPtpgv5uCd5xAs7Asq2bMrJ82zP44iiQezbYmDToC0FS0U9a5Bax35JfYPWd1V/fm6rsKxUCrgKeD4m7jDbbLvdTKX+cL74zENAiKjHXau5G3CPFJnWT/DlKAV73lnxvU12YBR3822vio8lmp5pDmOk6mdxGqJo235POl9SZbY4eIaKrezN4lOTymAi2qtLhWF2WvDJMy86jkhLHoHrbLUeQ3Cj/upUXQ9kptY3MhtZtCVRIlSA9ttGGN5nS0dpQlU1nmqeoHzs5Po3JzXhgW3bZOJqPktx5CUwSeFvO1kFMCDpP15HJwPTE0QTXf54NfKQaL2ItoIpmL5ndvfBWsk5ZI8kaK70huotjrDcxWNmtfgjATghxxb1+/xok6ujgRQKDDwDZF/L9dsL+Zcec/uLNkZ0VXFyPzlVzvXSFA7Dp4/vvra95+ktr88ZLetyJYNvdle4smamZqfxz9f5ofICsaCpBn34h+nI2qGH1f+AB3vRFHHB3N//xJWJWAtGZYBP3ilJt6T6fWaaDqs05dnb/YfJcJ/s2TcdIUrzTrcERiylqwNy4n9TeoS6hcg7suAgQAj+H/P6rmoJaT1SrfJSpzF9UyeLtjvCYxJibgd9LME5LUzpkXlUSi2kZYYM86kEv7j8cGizecH4BueqoAQNYNOln5HrE45lTE+M+Vk6tsBrGF/H8Pr/LJ5sZJDrhEeGLMiyhI4E/XP9ihcviJ0g72xpdmyUmVgj3KM2qrZOoasAMa6ng8ILuvtdXv/uBgE1mJ7MO6V08dNTk4MWKlu802Q7cSu9zppju75ZVoy8dp/n8ktNJzPRZrWMfnhfhLBZ21yeYAlXhIqZA/2s/aoIJ/L/BV9ISSq6pX0pyr6evSuT6ZzRztza9LWgNqBSJKE2LMF1RK3wEsOMTilAOf8HI5XmvAl6m/egYT/kEv49dnwvI0+2YVDl4X2G4ILu7k8WrVGXPBCfPgFPhvxhoUgxIhGES6SgUIiIyAtJCrEZI2qWt/JXP9d6H6M7rupXijS182WsmaPruD/z/Ut9CDbOVHtGlpRQmK1zBOduso3Bje9GfCEeKK2t4KQj998kjCU37QB8gkTOgfrLcc+bZaKvuAgZpnObH4DP6f81+Oz/oksYjBKF7jT3JgvjbJeRrH9nVhfJgMikKst6//yu0QwshI3af9oSDCSnKGnbZ9GZ896/4l2F5yxOIDZ5G11n96+UOt/CB91oRsNdu0AXO24mnTt6Fiwh9U9d/LZTpMlOFC7xdG8yg4xVna554LdTxZeRHnuHXO5rT4+V8L8Savbedwqh6gewACUY3ijjONiOqyb9+IdVolspChnEyQrg3/3RhKHs6y+k9GhgHMy3pFfkORotr+40nyTIopwnz7Ui48mnx0ZiqWw2hqcuGAugtGmam1wl5AKwAekPNZuIPBv0YdiBZtJXRTzsT3fuglDzpx/w6LBDt9yuzJduEwI9xsTqOkQpFNldGKcw0qMXGiM8eNAM8rOmRkT9YpcWa6/I4dqDNH8hTxl5I9Mz8KyvQPe+6tLq7rzTSSKlAPYTsg/+r3NQAFqcK4nv8uuHZ0mR8Bcqq80lmGDQMvVY93upg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 5vbifZgLHqZezB10eFNCmOqma7kQtDu6wuaEkzLEc0vE/EQX3etV+UhwTg3y7onr8DJqj+chrPgFKhUskS6fwBtu9hFd4d4poXJYs2V0/uO/GkgDf3BrUDa4fU2IVph9Tr7dNaCrdnhKtHC5lVKg2jUXxHYU0c8E5ADF6chmlTSW+yIDZoWhZgE4MztMzQxj4v88xMAFrRmPMM84BIv8i/WzWZujRGrZA6JACaXEJd0XrviAIIQPIvo4GpK2exI2aD/Se3oNFvrZY3ZmwgzICF2v9C0tzBmcwJ3GYMe80Cz+JZ6TyRWbGiwYtdP/2dzXnhdJQGKFR2BOnT+22LYKxi2TGY+biuCTJGWNMoaoQ7upGaFza4N+BRbhvuWOloZjL66LpTUIXxK3KkhHFjOt2ncbA0DJSFLVODAuTKQhqut8VgXJ3m7l7C3fky6G+h0moRkI5J3OXJEaSLJu3slwcBPs2SswZmSp+uKrxXkY5uj4eE3wYzfDrzMvfDiZmoTWgJd1SCbVSn7hWQV8lpFA0J/uPqpxICSuEk3Tp3XHQ6Q14Bio75irY/40wdkIEJ5oQZOb/n/X52puecX29AJcm6UjEqznue3Qf0i6agia+AmPOV0iqV5ta0GN6Me3gw7PgEJteCntBntphaX4qJmvAy7UoEWOJB+5fN2gOrh28YOYCb5Istw6M6xwn6AX3TB/eIOD7ys/3ZoB82yxOCt3E86Hdp0oP6HF15VoEZCcdQk/SdFtReNbq1fGzbisvAYJbmnYOtMe/rjkviXka+rOtXoGyqKDoHJgu8RClswfWxU/SCsFSSfDNtIA+ooCR1PeGC2CpjiRrDCu3SyXpeQvzUmtE9a0F2Q4ryih3r/Dua8D9stWQH2XITmRyGULL68MQmmtbbBeDOfLbEubJxLUDmniBTDSwIUkr02bA8TmJ51Ve96RsiXYAY1KMFuRiFHf X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a45bbe5f-5396-4af5-f256-08db6b854657 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2023 20:40:35.9074 (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: swcic7+my1i/H/AP7kot2vF0i3RNC5eN7gRDobxHWcETL/xsmLvVHykX3vmDECqwHGmcxQ15qseGtrd5VagD6w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB5868 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.176.26 definitions=2023-06-12_16,2023-06-12_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 bulkscore=0 mlxscore=0 spamscore=0 malwarescore=0 adultscore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306120176 X-Proofpoint-GUID: T7FUYL7xApYuMbVNCww0nSA1vPmRLPyb X-Proofpoint-ORIG-GUID: T7FUYL7xApYuMbVNCww0nSA1vPmRLPyb X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 363BA2001D X-Stat-Signature: ob8aoej4mrzkujt3w8qwi1y45htsrxzy X-Rspam-User: X-HE-Tag: 1686602445-293449 X-HE-Meta: U2FsdGVkX1+FmnXZRrxtfJJVCTjqehtsuGliJA1pIqzsSlOgvqQeIogt7PAUq5kPVUP5ba9eOo+CyWD5m47vKAPeb0oWhWhE+B+NIetD6g6dI3RGS+qLR5gfRRGjpoJRIIBD9C8O/4llXLsWKXfRX1qA1j/1s6QlaGWqVPvvwpL/dKjWeARZ3/PlTjLeH+ALCQiY0/S3XEtYC5e1V+dX985uWupufgulx1HCXECnKo0TPQA62KQDaY5gaaTT7KkCZ0oA18o3W6Uwjy9AEdOuYuOauY1dsRoWIIxWf/3mIf/EHnZDnW5jlyROixG7IWw5ltM9jw3XS5pM1kvzX9iCFmuGhkZX1GvWiqzpa5+8vBfMZxryMG5kWUBjls7fzyiU32pFgjAQ5TJdrcUoxDh/VXCjvbHjMVQLntnkcDAHkCldcMjASkTySx2Q2NlxL14CZF+D9QAMkdSlvMWiobST6cIbKdTVJ7fUC7OhautV2o4wvGprcdPPUNhvH/M5SF+wBejyCz9J0QT1pBWsIVfLiKr5zbRT1ovw9vFn2DdQlElYSxEtknY/aMVD04vcxG45yzyMEEtTQxLEODMrYvLojY1UJ8uCEhM6IupSBpIzVK3ZvlHq+Csxp20DhB6NzYEwnLdv3t5dupCxFqt2tPeyZoWcVa5x+yWjLXFj4JGiz+aSiTPyuacctY3B6uInYX8HqtNi/TzQH3Kp8EadMlFb/zOynApLapGme+QAv2wRmlc2ifYmnivZGue14vYm8A8lGt8ah8DvNHyraqomI7KhOiCrTrLcoFMHB/S/oX6Me+gmVDsTSv5JRF8Q/jm1iBC27bKTRubf+9kZnSrPDJud9P1mS+F2OOrukT92yuMfaGyhX6OxNU66y29uQgBFkf1R0iSN9twX80G7cn3rruHL6t/w8dc1AaBZ7/ot8w2UtD0FvnkKvgXnOPorPKMuFhXyuZj52GlCpP6dWu4IPow g4LQzP56 bBYMhM8ksoHAjaL/3MvhCL4rzU7NZ7sdCWg+8Fgp/gTV8SULwukWF+iXEVwCfikzviINE+mzZEl7ULXiAvBe9GOTLtOpqfrrUu6AfRkNfsi1cC+WtgCcEsYjWW0z8FUkrNNhKn0+wZkGLP6k5WdC+IbjIUubWXOZfIX+/r9vR5Fu84d8vuMgc+GctYNOeTHBlAR3pvf5B/4oa0paoac9KlsUg8xYbTFa5MWCz3d0nC9CiYGT7TNthaiwhUAsfaNQDvYIKg0RVUybLExwH8oDnfseikR04aIO6i8cdVQQoVkm6x1c6rLbHvgdxVtjdpSF9j6cC5bbiGiVOLrKmmgoxJ+4U6akQnoq+I1o4V2w6v5bwXRN+iWXBRwUfKv8x9ZoMOboEPMrnCNfTpAXmn5E046BNTfo5SqVQAsxdWYfpI0fW7yvRYKn4mGGplLtBJ8SHL6cUZlukU8TG0s4= 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: Calculate the number of nodes based on the pending write action instead of assuming the worst case. This addresses a performance regression introduced in platforms that have longer allocation timing. Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 048d6413a114..7ac5b5457603 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -5541,9 +5541,55 @@ EXPORT_SYMBOL_GPL(mas_store_prealloc); */ int mas_preallocate(struct ma_state *mas, void *entry, gfp_t gfp) { + MA_WR_STATE(wr_mas, mas, entry); + unsigned char node_size; + int request = 1; int ret; - mas_node_count_gfp(mas, 1 + mas_mt_height(mas) * 3, gfp); + + if (unlikely(!mas->index && mas->last == ULONG_MAX)) + goto ask_now; + + mas_wr_store_setup(&wr_mas); + wr_mas.content = mas_start(mas); + /* Root expand */ + if (unlikely(mas_is_none(mas) || mas_is_ptr(mas))) + goto ask_now; + + if (unlikely(!mas_wr_walk(&wr_mas))) { + /* Spanning store, use worst case for now */ + request = 1 + mas_mt_height(mas) * 3; + goto ask_now; + } + + /* At this point, we are at the leaf node that needs to be altered. */ + /* Exact fit, no nodes needed. */ + if (wr_mas.r_min == mas->index && wr_mas.r_max == mas->last) + return 0; + + mas_wr_end_piv(&wr_mas); + node_size = mas_wr_new_end(&wr_mas); + /* Slot store can avoid using any nodes */ + if (node_size == wr_mas.node_end && wr_mas.offset_end - mas->offset == 1) + return 0; + + if (node_size >= mt_slots[wr_mas.type]) { + /* Split, worst case for now. */ + request = 1 + mas_mt_height(mas) * 2; + goto ask_now; + } + + /* Appending does not need any nodes */ + if (node_size == wr_mas.node_end + 1 && mas->offset == wr_mas.node_end) + return 0; + + /* Potential spanning rebalance collapsing a node, use worst-case */ + if (node_size - 1 <= mt_min_slots[wr_mas.type]) + request = mas_mt_height(mas) * 2 - 1; + + /* node store needs one node */ +ask_now: + mas_node_count_gfp(mas, request, gfp); mas->mas_flags |= MA_STATE_PREALLOC; if (likely(!mas_is_err(mas))) return 0; From patchwork Mon Jun 12 20:39:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13277325 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 0CAA9C88CB2 for ; Mon, 12 Jun 2023 20:41:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9C99594000E; Mon, 12 Jun 2023 16:41:07 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9799894000B; Mon, 12 Jun 2023 16:41:07 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7A3F194000E; Mon, 12 Jun 2023 16:41:07 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 680FC94000B for ; Mon, 12 Jun 2023 16:41:07 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 495CC40334 for ; Mon, 12 Jun 2023 20:41:07 +0000 (UTC) X-FDA: 80895265374.29.7E63D0E Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf13.hostedemail.com (Postfix) with ESMTP id E29C52000A for ; Mon, 12 Jun 2023 20:41:03 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=c71P8umq; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=vl7za7F0; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf13.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686602464; 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:in-reply-to:references:references:dkim-signature; bh=snKjq27RM8dqWHzAhSVOgtEZhiI/iMNdvGiktQzMQd8=; b=UmmWMgjmPbcf8Yi3pxnKyJVbsAdG3hJWESjLpZQSRQPANbpIy7Qtd+TEQNKccdXeYmP0rP X9ZDHPRXVgNixTwbjBx8mUaW6wbksT5Sldpf4h6EkP2wU84BNshwShtmP1bAEACHGgOfV9 T8ahYOGFFJSosXZYQd/KPcB5/dST4nY= ARC-Authentication-Results: i=2; imf13.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=c71P8umq; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=vl7za7F0; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf13.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1686602464; a=rsa-sha256; cv=pass; b=l1juEhCW2FulmorQPTPpcPrXYPGyrG14zMnlXHBJl5Ik6w36Tc7Y5E5hLTsP6nY1EHtB8V TomLWaZsM2/vCwEn4v1f90kF9UryI0NLB9353morK8Fy8UYhtZdM3SLUgwmkvVLW/t1S10 1GSKHlp/KKPW+GnYm5Vwg8oUpjT3eNQ= Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 35CKNjIO016697; Mon, 12 Jun 2023 20:40:53 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=snKjq27RM8dqWHzAhSVOgtEZhiI/iMNdvGiktQzMQd8=; b=c71P8umqopReDsc+/LEvNtY8JWN5T+GWMseD3F7YAXegccXzUepoOxyKdJmkbAbHwOUv JaiLtffm2A+6um27Yx51EC4PiZUln5suyCuNp9nsHYyhgp3BihYXXocLX+qBu8DQDTjT jYVANBc7y4TP6gslQJ9dUKUu+ipr3AH0+bNb2f6+oYsuEIykNHfc0cfIK95bjf3vyj5/ tCExRgBgjONzYTp6M1POQg1Dw2Qxo/cpxBYxwytku8FHpYg6zLQ5Cn3uBzlM1AuR0C9X Pxmpz5ZeIb+0ZVtzxeyZVky87YMKn326wTN1MID96qpSoDN+nPX2YC3MDwO3AWZElUWA Kg== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3r4fy3busw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:52 +0000 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 35CKR0p3021624; Mon, 12 Jun 2023 20:40:51 GMT Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam02lp2044.outbound.protection.outlook.com [104.47.51.44]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3r4fm39c65-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:51 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GDUtXVlCUPla+VLTvWnNyHKoshBlPR0SeRFsVUrcCrK7GAyze+91oZamQ444sbG5E3DG1UYePw3W8zypiaVEpR0LTS6YgYbVaPACEIDKwXBDupuexI4uUpaK7JcHquqQsgj7Qzb+9kUW6AiIVX1D7YgVLqaZBgNaTRwYrex6QFusfpDLLmF8HjB7WjmurBQtbLCcbJrpnAgVQJo0IpYTSNfYPEldb7Syb7DT2ZDb4EN2oh9cIECPlCy53+Y94MvKwc/quDjDuUz21+i6HcTtHdhNembqRkfoOqMxtvegDusTv8MZXb35AEa9rRKat6VjAQHJrppZvC4sVDsijhNS8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=snKjq27RM8dqWHzAhSVOgtEZhiI/iMNdvGiktQzMQd8=; b=bjkl8TO76Cu0NT1ZbbAOMJHVmt05QwTcVwMlRri2WqUS9nl3OMJC2g7MtqD4QdOaTZOQjF9n5/sGtvd5b5Svn2WMpron5x0+Q6Gl4D/++N4vtxFQG8Sf+usGPCXwuZvhDyKjcLKpLublT2cgMzaYkHk1iKS20gboM/0RQUDUndTnPl4g5TKhPp9JMB1F8ZlyO4FEhaEgdJsdAFA9ZvR4YqAPgZR74YZ52PSdgz5PYW3gdzwfFDL9+o7sTcVtAXHpQMjbZDygtwOnhbGKcIQ73YpuWoEnPKPn0phQUAmDTtauEbPKz3UWjQmYobXlDMGoY4nmLNooC+w2IRkHqVvs6Q== 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=snKjq27RM8dqWHzAhSVOgtEZhiI/iMNdvGiktQzMQd8=; b=vl7za7F04flOtzxN1/+Wr+dhkdOqPTKj7xlCwVguCEDbPrMMX3o/ONajnSbfx4l4n4k9eltVDTujjMuf7vMc54wDi/E3GtQmAwR1taOCUAr5uJGl6/3TURHKZIkrZor1udPDQ8vpuGmSCEYTUyruzpeVKqyI1a+hwTLOsvAs020= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by MW4PR10MB5812.namprd10.prod.outlook.com (2603:10b6:303:18e::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.44; Mon, 12 Jun 2023 20:40:39 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d%7]) with mapi id 15.20.6455.045; Mon, 12 Jun 2023 20:40:38 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Peng Zhang , "Liam R. Howlett" Subject: [PATCH v2 15/16] maple_tree: Reduce resets during store setup Date: Mon, 12 Jun 2023 16:39:52 -0400 Message-Id: <20230612203953.2093911-16-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230612203953.2093911-1-Liam.Howlett@oracle.com> References: <20230612203953.2093911-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4P288CA0032.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:d3::7) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|MW4PR10MB5812:EE_ X-MS-Office365-Filtering-Correlation-Id: d2216350-4a94-41a1-61ee-08db6b8547f4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: POvHcYbU4hxCYhlAUFaALZiOqaQvJZR1pugXSnNbvBlsGu2Ku+zuYG0X9T5g03j2icymXN6u+oiXF5nM8Vxu50rlmYZS3YfM0TdUl7UAPvz53TdbOwcZYYudqSHiqbZDhFI6Ds4vIr3p0u/rsR9cBDIi1tg8bZqa0G71s3wm0AFkPV94rVNqA7G6zZ71HxRiJD2xZKmS+YCu5Kz7Iry8eI/otQw44zm0m1+oMWc+YagapBKhu6mOXfW9nEIFTPc07SiX/5I8fux6ViPhyMn6MYjVNbcprX641jwhmhOPmMG2a8PuSwQlFnOKmqBK3mUNCX/O0TDLmmsLjx1MLS2gBg2+CmV/HUdV+5pPssyFsNN7hYa+n5WuAdDSVrrlzNJtc2MS0ij8QR6FI9ay8Knna/oaRCX5qtEa80y8XficYEl2d6QCd3rG/w00P8vL+85sZ+YiqkPxVbKQahox9m+g/JeKUylO1JFk3mQwgCeg3Y4k7M9s8jQljXCiawySYFDrEfIihh4FWWUXvobfz5oodLC7Gjw+/zYP4hcwJMXxlWBuQgUFz0YIXlYCo730aQ1J X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(39860400002)(396003)(376002)(346002)(366004)(451199021)(36756003)(2906002)(86362001)(107886003)(6666004)(186003)(6486002)(83380400001)(6506007)(1076003)(6512007)(5660300002)(26005)(478600001)(54906003)(66946007)(316002)(66556008)(2616005)(4326008)(6916009)(66476007)(41300700001)(38100700002)(8936002)(8676002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: o2mQ/oh7isaiFOkgw3Kxpz6BZ0zr9Eg0i53xGI5JUGoXbewbkxfTp+8W1J2vj26a8vxClopaI5CkdhQHIao/Mz9DOAQa5buWYJ2JJUtvG6SYhiTrHkRY44EUsE/ditpq1reIK5+Wz47FymFAbPd3SnNItVNHcx39f4Hzgfr0Qtu/AJNCkNXdf/mJSyxCFb8mh5xCkBJDdBDs+gbY38M1L0+nvRnnySHqamWnt3SQIAsPBgnwrw7hRMbdnrWlqGsLIlGMqKK9Cxjnnb2c3g2u8F8b/nR5jLLrsmwGC1mzYScvDx6jNyrVKFGGTsIy+V/kUnAM1//+/Unh77j4S/bJEy5V66ifHBrH21Hh6XaFgfpgqPhye0wr1A3mdv25+sJ1VNfzDMTuyMYGHiJzhFruzgcbhFvh0VWvNNNKqpse3lOqbCLGHovx98+qju4T55vnXcAT0QCNRLx+sHJ7fvNDboHC2AdxvZXP48lC8c7Ht1FTfbsRYnC7DeqhxkrihSbOqOEIWiMf8RWe7fgTSnuD3iSKSb+T8YeDqraDLnQyH5si+WD8Ux0fmCtk9gCcV0I0K5UzfNeD3ArRVkqkATI6xrue5mTwJcdZ5tIASnPCk72/dKfxbtm52ko0jy7Kb/tPG2PpNYWbG+fmiJeo/j3st7+f8lnbTUbx5/Y0+Brlz0vq7KvyFjurKpflhS4ZDVJVm11paBX4KmAjZR6BhATzOJC7dMhZwsppwDc6ikjkCBQldxBPSCy1dTuOrPUvXSMsRrVpzo0drH0+YuG/QAlY704hAnyzC2VEPh3KMrClPGKPGYyjhrmoenb3ed37kyPpr6FDSPnJOAJi9G1z6PdUQAwVyYbGMJvwhoLa/9y+IMoQOFHXHRj9rENIx/qWFhnV+EBR+VrBrtvSIbdC+S9+xHpzN1aZDZW3yrfPVR4QY4H6VVjoZJpkbs5Fg3zQ6gKVAoFCI2niSoGtKM0iIXndfbP1gH3PlYcD99iTMTE1+DkIAQtpfsjgt9Erk9UsNleSJrXjPB75sg0n1maBSqq9kgHMXwRtNDnxdipiFHUFnYmGHYEw663e5MHLBPpzuCERbUWmPPjONTt+Sm0I2YDnN5G36Xx88kQYLHfqva2SC78zSu/UFydDCB4ftAv/0ZnNuKg0K7GwkgP36UgrcSQxaJuJUKN5kEFPtTUfP73bXHmy2h/tAfqTffReMSBigsEWkj3OpJIsuRnKk4+v3ziODDswihwbggVn/zgkYNhKxUvFRMY82TbqDbTk+7Tqn8PBKfa1GUssIU1RjH28+enBK5A1Iaqb4WRzYjExYDyxwWZluL38QsMeFm+N3GJt9ysVtbKFtJw8hOF1rVvynspdqI4syC234vWqaKabnYpVYN9HCWXpCyHCzBEUv5IsbKraSnIXR9AfyKD0WbkL1+d0bPnMJ+uy/ra+i/IfAcvR5n8Yekxl1OnhLHlM8f56XD9rCIle0dd8pj7YKHleag5f45/nQxT3LDnCsXljfmpZf00Zi4vHm36ZLQQhmjG/F5WYfWsG2VBqDnB8jLZYaRkaxyc+3TLMip+TDawYfckldZySFx03Q3K42zbeqBClglGLJAUDwRnpHqH3TUB1u7pZjQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: dj7kFN4Qj8duFvRIjhC39/cGSlh2QFtnsFdJ3SXYVggtKnrgEE2X/4wmxjg6oPj8a964qMz4pWS9A9O/RmWQz2nLyd1q2185OD6Jk7X4jDXMF78aUItQdV2P8b9J2UAw7PNR+JNoIXuIEbb2EJOAFklmcJdiaX9u8Fi27BSMr+z5PLt+yCCSTUpzb6+snEBpsBX7PNPvLXzVTjRMpvucnu7H4xidW2dYEZ+3Ap2MrfsRAxFQrNZ5fOzf3h7p9L8J0qWiqwO1hhHVdDKuqG84yzvb09AQztFA6m41SCh3tPp+fCc4hcxsP/UAQL5/Dx3QRXuaMlO4i2ONti7HeXICojlglE111+bqxtb/YtVU7nmprIvYjC34eDUCkdDdDmXJkl6c8ycsfE/tRrAJa4K6Ouxx8Xa+rJtOt+o40INLL2vqCNTgawVzpfhXKhTVy5a6bW7ELZ4+h35+lDQcUTRoB2fpF+gzW6e33wsRDk17SlqHTFPfPnGGQIn6tFxcswAOPWlXhHg3H+6n3twbU1yUBn1G+T4tnZvW4mYBCZ63eBOpYgJRHNesGslsO/lik1sSYA+AHiq+KGUCW7v+v4CcRXK1WBtOfU/VTEWAl4TgwlQxrFxG7wVAaosKYXw34ykhEa/rWYU8ApXPvZGMzt5GqlhPophvM7RaFegRGKn8DLUCQ+pwyGKwQYqY1gNGULgf6EIuhjgBV4vNGvRfjQ0rH00nwRDR8GijiSvCL/6J9QXXu1F4rFa/QIvOMoJ1f26/lpo7B0XhGKVzHYyBUCtC9bOn1JX0165uqdw/yFh5Y/bIeEbjUgS7fLAhHJUJFVpPbFvbVRPMSUywJtdDItBJDRbaV7g9UG/At7AKgcVvG/Pdex28brZ2wZJtMotuCLAhY7I8RclVAfPi8oaeppUXh4doDXjycKrcG+69fHbtlCR2kx0zGVApzvISF+Au1iXk X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: d2216350-4a94-41a1-61ee-08db6b8547f4 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2023 20:40:38.6060 (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: Jjrt8d5YXars3mbw77kUXC2EJ6g48eyns5ChcXQ+/6ryTKWZJp8y1s16xM4EV9RYghqMmJhQ/7z2UILCfblsDw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR10MB5812 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.176.26 definitions=2023-06-12_16,2023-06-12_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxscore=0 phishscore=0 suspectscore=0 mlxlogscore=999 bulkscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306120176 X-Proofpoint-GUID: 3zdPR061FxqAdGPxSzgaCSBSWE3Q8Lhn X-Proofpoint-ORIG-GUID: 3zdPR061FxqAdGPxSzgaCSBSWE3Q8Lhn X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: E29C52000A X-Stat-Signature: rpizhsn8ftrezisu9wroj1o4czxpz7m3 X-Rspam-User: X-HE-Tag: 1686602463-749915 X-HE-Meta: U2FsdGVkX18jF13XloFPdcz8mdNMYi2N1IaRPiXKO+dFAsM2vvKZaS60vJy/+DinRPjHJFYTB38gFwl/MxGek3XLLsqr4gpxrEGNGuYPE5ikaSDcwicApjhdLu+Hj0HCF7GdPW9r5LmCVBy203g/Yv7qJZ39z5TynIHciLbUF6EQIEY/GEAvibqNnxCuO/4DQN49dWlG7UNAwnF1tKBrnBCBHXQqeeyLx9LaE6xZVp7jUfzroDIzKlcZCdhSAtc+RYt7hVzdvw/8Z+tK9qg6i25FZsL1pdispSi6dH26E9eWtEEkPxMsJ6nNR+P/P/QyaqKWIhpU5Cixr8Dkv6lgzecKCsn/7dV4oXGAIb2KFtb5tSNVa6a65cQUt7pTqxDqAxE+iPiY8wBQdjHRT0nyOE+3u1c7tT29TflKov+Wi0DG0nRccVx5B6A3NYcAfOjQg5hzyDG+7DUc2pI852fpHHLKqWbO+cRG7fEynR9PdI1RvCRE7J6xSdNu3EEsP/J8FjbYLsNPKlFcGJ6BLBHyQ0h9YmCa5pzTPHDg/p8AK8B3LJc2t0BrtRKjuHWjhmrNRbtBCHGjuVGC60pIWvhxK5zx1gcpaxrmt21pffnlRMOfye4Dsh6X18hyXH6D3h1H170dB8YY9CuuJbOrPS7HFHcPJGmGIxMB5nlw/d+e9wfOtpAC4gdu5bP6H8AdgjTcUNv3j1bOEOddpMPvmNk1L5RSqdv0GmWF2gSGi3qXOod0x2bttsX+h9Yh0y72XtzbbAgOyjbghPi+tmUMkfM3KbyOIzN898Ekd1wnxkTJVI80XNd2AqrdSOzxSZKuLXIUCeSqtMgchs87r38/Mre7nYx8FzGdv2eqg/PTVuPpWXeF3HlM6PPwGVhJDT3mGzEt08k+hI/F76TFGGSDnV/SSHlrMQCAhamk0JTw/6D3ZR7KN699HPINTizvN7Sob5DI4mSDto3EjymhZl6Nbq/ BUbhlrtM cqsWw06d8RhARHHliIfnFCKqhK0RpBEbK2NVwiLBPUA2ryCzhv9sYYxXy+MG+3jVq++h6qsQCsFD0Ho//RilaVKQ+FNO8oiGeAcDxsy9eAh6gMgCR50Tx7qJbEDAClOOPzCtOPX7UKXoykugBUOyGTfr1TXI5Bie1stLkBx2hbQPj1ZSPFc4LJBIBPq7qnsaQfOGz8ljvG4AYYIW8+UvpyR8KEfHsubYq4kpVPQthUPiSUx5w+xb5F2B8fAIc3i3XCAIphISG54N81JXtuZ2UernSIEldr+5sIcsHmPc5r3J/bSjS3M6g4UulKlBQ7Ksx86Zrd1V+CGsSp0fabfu3oTguDp2IWccXgUAwyGAoX/cQBXEIrSi/riviInbXhY++pe6T1NJ/D3A+6LHc9mSpPDhjed+c0ltWe7+N5TPUNze26rc= 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: mas_prealloc() may walk partially down the tree before finding that a split or spanning store is needed. When the write occurs, relax the logic on resetting the walk so that partial walks will not restart, but walks that have gone too far (a store that affects beyond the current node) should be restarted. Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 37 ++++++++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 7ac5b5457603..279b871f21a6 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -5430,19 +5430,34 @@ static inline void mte_destroy_walk(struct maple_enode *enode, static void mas_wr_store_setup(struct ma_wr_state *wr_mas) { + if (mas_is_start(wr_mas->mas)) + return; + if (unlikely(mas_is_paused(wr_mas->mas))) - mas_reset(wr_mas->mas); + goto reset; - if (!mas_is_start(wr_mas->mas)) { - if (mas_is_none(wr_mas->mas)) { - mas_reset(wr_mas->mas); - } else { - wr_mas->r_max = wr_mas->mas->max; - wr_mas->type = mte_node_type(wr_mas->mas->node); - if (mas_is_span_wr(wr_mas)) - mas_reset(wr_mas->mas); - } - } + if (unlikely(mas_is_none(wr_mas->mas))) + goto reset; + + /* + * A less strict version of mas_is_span_wr() where we allow spanning + * writes within this node. This is to stop partial walks in + * mas_prealloc() from being reset. + */ + if (wr_mas->mas->last > wr_mas->mas->max) + goto reset; + + if (wr_mas->entry) + return; + + if (mte_is_leaf(wr_mas->mas->node) && + wr_mas->mas->last == wr_mas->mas->max) + goto reset; + + return; + +reset: + mas_reset(wr_mas->mas); } /* Interface */ From patchwork Mon Jun 12 20:39:53 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13277324 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 99179C7EE43 for ; Mon, 12 Jun 2023 20:41:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 311BB94000D; Mon, 12 Jun 2023 16:41:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2C17F94000B; Mon, 12 Jun 2023 16:41:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1159294000D; Mon, 12 Jun 2023 16:41:05 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id EE99894000B for ; Mon, 12 Jun 2023 16:41:04 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id BFA931A032D for ; Mon, 12 Jun 2023 20:41:04 +0000 (UTC) X-FDA: 80895265248.15.70FADAF Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf08.hostedemail.com (Postfix) with ESMTP id 70FB9160011 for ; Mon, 12 Jun 2023 20:41:01 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=qu22SbUY; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=X7U0VqMy; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf08.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686602461; 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:in-reply-to:references:references:dkim-signature; bh=812rbvUohctb//QCwvvGnF0ZAjJWMAJsWaUHeAI/wzk=; b=KjVy6VzNKe2W6WaG96ZB+m/ngcBOND01zAJBPypbtavS9O7FFkWp1iAjubTbAc6F8YRDP9 lZKM7I/V8k5XQTcsODmk3lCiLUD744+gXe2Zvoq3J8zYR2OxtRNiNKPPjFk4l/uFyyOY4i AdWn6WVvi84FtsGW2s5xP//1As9trF8= ARC-Authentication-Results: i=2; imf08.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=qu22SbUY; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=X7U0VqMy; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf08.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1686602461; a=rsa-sha256; cv=pass; b=37suzA2XdcLMTtLQdPGfnEXAI1tjMHLMn+Vwv9G9zfqgf3UbcvpjmqKlvaYLErSP5YVgE4 nFPUTTi4BEucMV98j55t5Cp9H0z//FTnfCMY4y2LCKJR/KMPDo+XzwHMw6+ASp4zCdhoRH JQ2qvU9BSLct6CD/d9QjZZulSfFqBJU= Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 35CKNsrk003017; Mon, 12 Jun 2023 20:40:53 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=812rbvUohctb//QCwvvGnF0ZAjJWMAJsWaUHeAI/wzk=; b=qu22SbUYuWQbJHvbECpb/95O76fEQC/uEly3dhXBDuAjtSVxWTBGEBh2jd200k0Opplp KMbp1Z8ZI79H0LhrzmBP63ioxwSD/p9iH3p4JrF9ViTMJqihV6lEgV5l3mFLShKqOqDY czHkNh3ZQqSCHtDOE38u03g+mQlGHiueOQL8YpNpD04PVvv+jp4I1KVCV5ydZFmqwqau LNhHdJpaA2vJ9XkSeAcvyfF4WqlgdDY6QUPcUs1hUR18ZtL4XBSyJD1Gg4MVgVaswS0P 2TMkH1LwCnfqJYp48PWy+973+Q0tdigHSJmZyrP73cuuSnADy+Tr0QvorZHXN5QTtJKi /Q== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3r4fkdktpr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:53 +0000 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 35CKR0p4021624; Mon, 12 Jun 2023 20:40:52 GMT Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam02lp2044.outbound.protection.outlook.com [104.47.51.44]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3r4fm39c65-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Jun 2023 20:40:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YKF6wY6ILXkMeTmyyaIeRFt4uwDmOpChldnHhNPODbbasXE9NAtNvHOCEPyLKn9ESteBLSwiLP7YhoKa1+nO6eBWyM76Y1A8sWxEkELRrBnl61T8dEhuQaPyd7cggxE8vzoLCdWjw/ld8zuoeaO0+g4zT1jmTwtCPsIxVqVMD2FT1RT6Wsb66uB1v7ndQ2bDDLFyweILPbnVdB4RGomiQ33USiatuLMMnv9E+fLvQKrUmxkF0xZfojyVqlmaUh3e8fGfvbgMUSiYy65Wmm1aQly9wHlY+QU4AJ/rTpIvJYL1JQa5umWD0H57wifE2MR91P9AMV9R12Tts/i8gPkzAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=812rbvUohctb//QCwvvGnF0ZAjJWMAJsWaUHeAI/wzk=; b=VgjtiyCqSc8DIXK0EldBzPHYt4q29NvT4XQ3rtQmijusqOi4rYXBR/9vtKB4RGLREUnrSkxOUttrqkfnXxhz/7nyMN9iF1aqGTGTEPAGjzcbJo3F3r/f8Wkl5IlQPc0ONmlqwk539uEg/ldr/YXn1JrI8wlppxY22brnhnl1Dv5mO8iLdtT7tTZdtyuPnzOZWcqcTNOE+9DREy0sJXvtT3kYxN1fp2ywlGM42QhJIUJckJEpjczQUIpgfveiumJxVUpZwL70YtC/M6i06k+nvyJfCmw/MTgEkY2bTfHvtZ0AznSKDZd4YweohfOhtvwr9mNmmTUBe+T8aV+597pg5g== 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=812rbvUohctb//QCwvvGnF0ZAjJWMAJsWaUHeAI/wzk=; b=X7U0VqMyocJ6a+bcXxXYOdz0qx63aLqJiu9Yleeqtzj8sSDdF+spwVh6zhOlO+G/XhmeyNzoETK1+XrN56PIR8bIa3T1GgwQbzHXNVFC7Hji4gccKuxnWc9mGBLmymk/hW0sFgbUgBFaVSOwGYQ9FHrnJYdv6XXsIY8uuSL3Ibs= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by MW4PR10MB5812.namprd10.prod.outlook.com (2603:10b6:303:18e::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.44; Mon, 12 Jun 2023 20:40:42 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::998f:d221:5fb6:c67d%7]) with mapi id 15.20.6455.045; Mon, 12 Jun 2023 20:40:42 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Peng Zhang , "Liam R. Howlett" Subject: [PATCH v2 16/16] mm/mmap: Change vma iteration order in do_vmi_align_munmap() Date: Mon, 12 Jun 2023 16:39:53 -0400 Message-Id: <20230612203953.2093911-17-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230612203953.2093911-1-Liam.Howlett@oracle.com> References: <20230612203953.2093911-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4P288CA0028.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:d3::14) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|MW4PR10MB5812:EE_ X-MS-Office365-Filtering-Correlation-Id: a22e2463-e62f-4ef2-f88b-08db6b854997 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ajrkXY7ufebPtkPAEKfKk2q7fe+eKjeiMiBluaMJkqRwFg2/jHyFQEudgZnpiEsohX+a/RLjr6gZqBFdLds8o2a49GIMM/e7t2Pgot6yEBCHw4En0+Jf8i0IB+x67sc19CWwIOoOte0r6Bm+AXNnxPxcjpqZSpzXklm2qUY9vEziln9hFtQwch2BbcrquWa5wvvFYiPB0Uvd2OfDn2x9gc+B3UAeY8wiN6NutWKcF7R6VtUFoxjFD31w5kUVOJOkcdO7E5LjAW8qVFLQFY1gauY7i0fQhLb6ePRSfwOZ1gCqd9CUZy2NsoYEda8rqRYznHnr1lnVhxuy2cx330c69pCTtpagN8ahPComkPQQ6m3EVXgYKy1ukPhp2h6oGJWOe+Fh485H+1JNFhc7rK6La1PXhiHsAmFenWV/A+53zidCNGnpnL2EPWWSVhtCMxQtOe6hQ+6sdTGhJsaC6rkkzDom25bzHrKr6fm6jLVGzU0iLLJMOH2n326pF+rN78QGQ5rjUGM/V+4K6PgGYwn9ce4KQgsicTqyGnqLcm853R6dSmP0o9w8F/BVpzj3z08k X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(39860400002)(396003)(376002)(346002)(366004)(451199021)(36756003)(2906002)(86362001)(107886003)(6666004)(186003)(6486002)(83380400001)(6506007)(1076003)(6512007)(5660300002)(26005)(478600001)(54906003)(66946007)(316002)(66556008)(2616005)(4326008)(6916009)(66476007)(41300700001)(38100700002)(8936002)(8676002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: D5/K+elI/uoJuvGgIF53tKD+twjxB0jgcyIk/rnSLFBmEnLbkSWLHvB4FDLeun5RaDFBejE338mudjVx6P9k0SheMktfOZkAzQTA8xBglQrA7VlPCF3VBhiib3Q3gc6DqLt+pOiKEaXD4/5g3RA16vMrivSFUs8TfhMjMJ7ckTSLW1rqB1uJx9HN0tQThMyDJKy0i2vYleFxhEtu1G5o1fUM5qGu8NFx+5jAzPggfcPfXHo5dPsDPSzRvRRU1NGv7SFHMO71N/7DzHm/oWkpepBBDnnrDf88t/PEpbG4A67YWa9GdBNQnxZh/uAIZWGmQQLMyM4AP3jBIG5XR5Hes5phbiJTgohT0bWfR9CWQjysPnS4SMmtjGvYqGVWqZYVK8wzjJZGs2W+iDx9Nmd0s0KsmAab2ZABxzHpMXXK+Js6wIEVvf50xFb8v0zUS955UaV3NwHK7xBbGCqyuNg+sP09R4Sl/7QnaPJYxF/3MpDNuzDsrcG38hPfUBb6iIiBsItyfMG7DLAI1BXkTCNZSpZAzfXZWspBo1yndeCFA0R+6UPYsPse0YVZWM5P7PaPPzzgQscL4yOOFiT0StwMm2oOUv5Hrw5AQk6pmIk8bHFPSbiVl8ncJjgjsG4JMN5M5my3bd9gO6KwlW6Hsm6DxK9yIUUl7ZjvDMDbDO+o8jz0wuflinqtVqP+USe18VkjL55m7cwbEgs0m3tOkGtm9zQ8Y3WT3lNien/xU9dOq7E8NPGFwKAPSW6nwJ+k7hTGS/nssc0wUT6RrGBnuTkLH5BT+kip/O+YAouB7MxspzA63fQPy/mg4yyLplEuYbdmun6zJaXE4JK3QZ642fki7ot78dmeINOuazSMGbnEDaqGUeqRw0I5TfCZwe48LRxXqNUb/qvyovNg9FChC++cWB0tmKJXSkLhp5YrX9dVLWcBfzpmSblFoNQZEBtKP8VCSnj3vfXYYK4SgXyxPkacRVxRVpRAJm9JYBeIrv2Up+YmMuihKXyNtzpJ3XqnVMbBcBeTwNVAmXInm8NdMMSb3rwfEGbMKQAiz4h48bqlNq2Y+csAvI1WclwMYUKJMiANW1Q5S8+CEOhwu5kdtsz+vk1l2TvGdFVdhmfQqJkKJE+/fkjZBzOHHmibQF2wrwRD/Z5TNtfbELjMlvt5IgEAxg8UWo8p4vpsTqeq0RYmd7gwUBIzACRbYhD7lValJgpVlxpHc6x2jolpjgJzD1Hu8b6jlSGJVPKdDDFDK6ZxKECTkscFqpFxBK+J3bG4x8Uu4qSyPBug3+xQFSiYmZscCBoPjiVYKOfES70ewy0mGoYZQTCJFiMiporaNbpP64EV0q/JAF8HYGWlTn9KdVvTZcRmOuKrR4Orx+bKiSVAT47xJn7mXCtmCICQ8BKXlvNzPlIQ+XA7xlI7XbJKKwvdXE6X2UA5u+0KFxf93AeWqc+TPj0dd27OtH8l4cRB+Xh50mWWb9+LnI01c1pmwCxNKkriDi6phOpo3E4nPGmiKqG7tVSZTeYvGQkIOtmALX43YhzWsL9VU1VP/AFwIZigJzbb1tZqmMzBrclwwT/RC/MqePq1Q1FD1/ds34+cdjarVMqtThbAHZA+hDQcMUA5/w== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: vK84EYEmglryW+1HqIjEEolSN579k6foMT7nd9jCjqgJB9GPb0/CdwutGlc4eJeUZPsMqIHXlgtzRiUPhv29p0ulsn7L7HMMwb6yumVKTV9xqvGjbgkz08EB18Wg1M7CGWKQKFt0TPMt19h/eg++wZXVimuhQai+zd4tJqR0rvwyUuPDPiSEFjlVSlZps+mLfa3aXweMVo/iY6yPRBS43Mma8yehcXFK1QGikw8uZp33wMJzClvFJmGuShomPQ+vorNqqQZVRr3tCOHCn/+XnHnNetU2eCJcri8WgA6iCvVI8VBWfjTYqAQdcaR6KRGIHGZmeomHv4Xg8TbIWazaKxz6Qw+cgmu3NlDcdysxsIVnK6bpYPGAPKacEK7kPQZ+PlsGXL1Ek9M1/XYlmrm0mIHyzZ9oEldzOZNMXaix5vV0LnyqrGYIU1vZekqMOy/lL0YSv8/XSwXcwFfYtSWtARbxOoRF31iCYRMK2MXUU3CbD5io+FFhXBcZvj74C+vqCdwoBFUVwD/FWYXDTHSRB5+l7uJlJyHPVN/U83z24m1ffh2L8scm46WG1jxLZKZo0emwKXcK2ZIdQ15zH8JtJMN8g2JuDqi0Wp7Bmd+JIgaiq4GeIpnIg5gxpN9mQMPKHfOimVRCMNANRMGqYwTJdw0xob2ViLCi3vj3H0F0lWnf8mgoDGchBL0rZTwA1mwdMKbBJQ7ZGd+ETKkWr16nFi/JWiQfmu+aJNhFdiYwNSNTin/TBseWTEIg7DQZWy3bGZVA7PDpeNbxOVt8xjCnpBD4v/DxAygWDej2c/bLTZtb3VCOSqZoxa9/uSGPFo/jheSSEvnJ+KGjDevJzOl0CttmumGayJnGuVvbSD+Bf/ZnJZ26WskLHwowWcZBULlRWKBz5wZ3VfgE6SZAwLQKTRyqHTMqXoKfOuGXelDHVzZjOvoStaJHmqeAyig+Phac X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a22e2463-e62f-4ef2-f88b-08db6b854997 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2023 20:40:41.3261 (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: CLoFxd6rh+kklvruj3Dt3NVUMOV2tWLsgGfQSl0iA1Pan1LZlt5k5QO3UjD45KwODgwWiEp9hxC/RCP8w+4ZXg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR10MB5812 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.176.26 definitions=2023-06-12_16,2023-06-12_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxscore=0 phishscore=0 suspectscore=0 mlxlogscore=999 bulkscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306120176 X-Proofpoint-ORIG-GUID: -gCFoqguXGeI4YRTcMvAT156oovPWVtg X-Proofpoint-GUID: -gCFoqguXGeI4YRTcMvAT156oovPWVtg X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 70FB9160011 X-Stat-Signature: 9dhdfsi7sbwyid14fbnxcrmmyk77ug1c X-Rspam-User: X-HE-Tag: 1686602461-496483 X-HE-Meta: U2FsdGVkX1+Z5MIFSxNcqUQ3lZLw9YGx8BBmWMXKB0l46wO65Bl5Gx6h6RoPPMkS3fY1UmMmfzvikavu8M/F+f5waeSK791bXZVPtMIUYWjtOIr9Xsk+XuQhix74cNJVwOi3XBFdkcP59gCcW4LmSewI7YEFQv1jVFXmYjhZvj4HcdajC9WlOb6IoMlcR1ZxP/DB2QBBrBKeICXjzThgdP+cj6GkwFHMxeSfJ5Ovsxus7aIISz5KPClSps/TCoQKUmfNgzwy2EaTH8vttQryhu7DkNiQBnvf0/ob001+AootvKMhDWyJ78CCQ3sWGNZOpXvHIwER1tLm52zmoQdCCPpufToSPuDiqOPwfw+tNLAjGOiKq8H6gD24gQqtXhtsHykrBik0sGzrUHxX3bcRh6x3H7H++3WVVe1KNXGK99SgH1+Y7YYeSgqyoQpH7kZyIWMqzZxKMs9bZM3nqo29CHg0pRkPFsx4etoOXljJWnCQml0CphIqkCSECET2k8oY5CjOcz4XU4FfP9VpARu/VtAJye28PxT2PajFYwiC+fw8lWCASuCdgbTJwtj0pdRRL8Vjff6l/FC85oFgts/QFmnFkaI/m6WbzSll4i+0KCuOdTOLfRcYIzw+rCLMh58xpYnPfKPwbWodxuAUgS956xk8Z56cXP9nECxB/ngZ/GlibhIePD1Nn0ZZGY6B6mO/uRuPDcPffsEhnhx4Zn7XfjMP1AEaJw2fmXbM1F4ENebVniNVuc4xE8gLWnqKuz9YKWYSFbA7yH1brjal35bzvfhkytA+UHONnLT0Iusvx7StZHjeY+Y54MkG0gq+N/KDoguL+U1ReWzT4OcMo1Ymb1AKPY+yjBC0xikv/MGOthLzlTrvFn/bYUFqPnDRnICQ+zM4FQZylnR4fkJbvlHs/2bTJjVxTVENcS/3x4L9+599i4J4wHnT05d7sswBIITYjsSNnAam04c1yCYcHgO 5k2ulYAV JaY/12Zx21GN1evV4iDi15ZU9/zOx/+M1ZI2swVb/NxJWifs0+cYFYZ1+MQDMus4MTA8rUX2yZBEz0XYbfhudZ5Y0tJkS464A9R43qLso6use4Q3STw8z1wHM6eYxejCZr3SdloFdQRbtlKoXGAFV6cRpCJ9te2zB7LXvJj72hdcdygEKxNx25c5RiSNGRfd6bIHXUQTSXWt8SxgSPpNcWHiQZJsqtnKTC46Cd/qF4yuttAJ87+93PqJV6tTZXldo9CPcTHCDLRpyQAKG8Bc8OVQJqxfmG62zcGgo4BhAj/xhjBpH2NpX88xjZTErxyZLe7Mg7RZXIOis6RNWS6nsi7QEpRfXgi3Gav/sKwSDUjPm5rftepQB4YTfUgnqH992rhy86G+AV2v5SujsDzIlnZbXerWD3m5UNzSNBdGpOCYQByU= 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: By delaying the setting of prev/next VMA until after the write of NULL, the probability of the prev/next VMA already being in the CPU cache is significantly increased, especially for larger munmap operations. It also means that prev/next will be loaded closer to when they are used. This has the consequence of needing to change the for_each() to a do {} for_each() when writing to the side tree. Since prev will be set later in the function, it is better to reverse the splitting direction of the start VMA (modify the new_below argument to __split_vma). Using the vma_iter_prev_range() to walk back to the correct location in the tree will, on the most part, mean walking within the CPU cache. Usually, this is two steps vs a node reset and a tree re-walk. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index eaebcc8f60d2..429e314bd134 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2395,20 +2395,17 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, if (end < vma->vm_end && mm->map_count >= sysctl_max_map_count) goto map_count_exceeded; - error = __split_vma(vmi, vma, start, 0); + error = __split_vma(vmi, vma, start, 1); if (error) goto start_split_failed; - - vma = vma_iter_load(vmi); } - prev = vma_prev(vmi); - /* * Detach a range of VMAs from the mm. Using next as a temp variable as * it is always overwritten. */ - for_each_vma_range(*vmi, next, end) { + next = vma; + do { /* Does it split the end? */ if (next->vm_end > end) { error = __split_vma(vmi, next, end, 0); @@ -2440,13 +2437,7 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, BUG_ON(next->vm_start < start); BUG_ON(next->vm_start > end); #endif - } - - if (vma_iter_end(vmi) > end) - next = vma_iter_load(vmi); - - if (!next) - next = vma_next(vmi); + } for_each_vma_range(*vmi, next, end); #if defined(CONFIG_DEBUG_VM_MAPLE_TREE) /* Make sure no VMAs are about to be lost. */ @@ -2467,12 +2458,18 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, BUG_ON(count != test_count); } #endif - /* Point of no return */ - vma_iter_set(vmi, start); + while (vma_iter_addr(vmi) > start) + vma_iter_prev_range(vmi); + if (vma_iter_clear_gfp(vmi, start, end, GFP_KERNEL)) return -ENOMEM; mm->map_count -= count; + prev = vma_iter_prev_range(vmi); + next = vma_next(vmi); + if (next) + vma_iter_prev_range(vmi); + /* * Do not downgrade mmap_lock if we are next to VM_GROWSDOWN or * VM_GROWSUP VMA. Such VMAs can change their size under