From patchwork Mon Jul 24 18:31: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: 13325230 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 8354EEB64DD for ; Mon, 24 Jul 2023 18:32:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9E081900002; Mon, 24 Jul 2023 14:32:29 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 98E896B0074; Mon, 24 Jul 2023 14:32:29 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7E1C2900002; Mon, 24 Jul 2023 14:32:29 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 7147F6B0071 for ; Mon, 24 Jul 2023 14:32:29 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 4A67A1209BB for ; Mon, 24 Jul 2023 18:32:29 +0000 (UTC) X-FDA: 81047350818.16.A8CAEB3 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf11.hostedemail.com (Postfix) with ESMTP id B8ACE40019 for ; Mon, 24 Jul 2023 18:32:25 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=M4POthLu; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=cao6Gg8m; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf11.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=1690223545; 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=8zb46HmNu+Kr156lOYkl9NY9ZHNJ1ATbVnkVV/ckLRo=; b=H7nNerbgUdo5CDonWBaewKyAVub30KDbP0E+rRqdOqPyJ6sVsvYdxqU1cWpRBerHyZ6Wts 8EuRzQa8KhmSN+Qib6uM6PRBCGq5rvz9ib/D6HEXTYQpQYQUheWYCDx5K2HLTcaFnAag7U 15E3jEqne0zRWG4ynou7mhGqTQgQ+Ts= ARC-Authentication-Results: i=2; imf11.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=M4POthLu; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=cao6Gg8m; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf11.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=1690223545; a=rsa-sha256; cv=pass; b=or6xIQzyyGPDkwpujhfcYdK2PVmeeC55WERAjjt0Cg20Se5fagdwPJuTQfX3iGC7rej4Zc 3O7xU/v8RofJxqb6N/+hNcXIZnuyQJHrVAH/iVGQu3ZvGMGljhxZx20Gjx9PAFxSrlHcvX MN0lWKjdyN629+Jqa8Vwt87ZRKjNSMU= 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 36OFOh1r022600; Mon, 24 Jul 2023 18:32:23 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=8zb46HmNu+Kr156lOYkl9NY9ZHNJ1ATbVnkVV/ckLRo=; b=M4POthLuPlvnqAqDliPkY13tme79K7noNJwYQX3E1tpWgmBZcTokXCu+0rUpZef/U07N 3zU7VieAlOFs01Il06bb7mHvW/2kXG/EhN4sayFp78fCMX4BnMYAJy3aSF1IPuSsaKg7 v1J3QEYGug7n/OGb7iPGF8ILXY18qB9juBgN/7UXxEP+9Gkhn4CxoqgUnhGwAQDIpt/5 2bCltKe8vijQOohGbkUJInmC61ZhwY2XM+5AWurBcgQ8oLqyFmA5/dasasHr5lEEDL3B pOB9OhNwo5BEQAIqx8Ffdf7JBox6SaH9YAmgseNb1OBIozIQ9Xe2eAA1mMBW64QTOnGr qg== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3s070audkg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:22 +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 36OGttYa035600; Mon, 24 Jul 2023 18:32:22 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2105.outbound.protection.outlook.com [104.47.58.105]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3s05j3t3ax-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:22 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SghLx5wlEfmV1bTLV1350BPy2QEe7ysk2iMYZbyRtjheoFQFH5xy6aJf1oC5c2vfqi+A3Po7bP05C4AtWmTdqKi5nxaykRsZXBFQu7Zf6bKsXZlSu1RLMRLmT0zI/0e4wI03Rw2QHHOmTWp/cgbKw41pSVCAFT5XFfrK0p/PlIxIrmYkU7T4IfKt5Y8p9X5TB3ugy0ENziTcpAKIJggD+HFmWQpdYa91l2MlpfG2GXLKUP/CFbkmPR3wW2KZNhrOXmAyD9D/fBObADQVJoWSZWTQ0rGnqwM7sVjzwHmzGBMeIoekDE46kW7KSZWz90Hb3S4x24WXeBmXW1O6ZNgMbQ== 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=8zb46HmNu+Kr156lOYkl9NY9ZHNJ1ATbVnkVV/ckLRo=; b=cGSTMFmW7N5pPJN10xbXRMLTQynR3NvTKofDUqmNueScyOb5L7PkaWc6te5COsgB+agip84ItibZcXFbg6j2ep/zB0jkMocn9B8giCC/HKcG1wIxNcRd6e+ewIUpBMK1QtXpOaa0QDmWTXP3qHkGSElckmGt7IBezbihxgSZJyXnIaX6N2W6OA2v5WszBGcJOUMkuRGa0GrE+/eMbV20jOPKSDrXsI8riE4HOwSqHXOzjzGTw9XC/WjvX1pE4/EfGw3Q8Z7nhoHJjYqK8CwTOMpwXKHiW2KLY2WdXjjSZYkIwTsklAR1yBS/o3s3FKL5khxyKuVAuVHn4Tcxng7FBw== 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=8zb46HmNu+Kr156lOYkl9NY9ZHNJ1ATbVnkVV/ckLRo=; b=cao6Gg8mwJEiErsw4RN8bmWLRLiZCLoAq39thpoSKdyt6P+5ayjha/uJS5PYpV0SbsCsxwri8bGxSpqKQTQlMo1n/DYtQAZ7SZsVgyRb9hZi0QxOs/DvLig0q/n/LfySetwZrcUNAY/ndtUHsHemdArF+U2TaIF3pr4FOPe8Zus= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS7PR10MB5376.namprd10.prod.outlook.com (2603:10b6:5:3a9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.32; Mon, 24 Jul 2023 18:32:20 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35%3]) with mapi id 15.20.6609.031; Mon, 24 Jul 2023 18:32:20 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Suren Baghdasaryan , "Liam R. Howlett" Subject: [PATCH v3 01/15] maple_tree: Add benchmarking for mas_for_each Date: Mon, 24 Jul 2023 14:31:43 -0400 Message-Id: <20230724183157.3939892-2-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230724183157.3939892-1-Liam.Howlett@oracle.com> References: <20230724183157.3939892-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0002.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:d1::15) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|DS7PR10MB5376:EE_ X-MS-Office365-Filtering-Correlation-Id: 6132c62d-6b1e-49ed-3544-08db8c74509d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: L64tpCqgkoP2Jks6dVcgqRecoCMI1QovbuZk0Hjqf7Snu/02nOBa8mBWfxo995/5pQS6DU4ol/cJ7gMPolEDnG4WvUPkmH6Upb8pwY8hzu1DZDk+D0d83JTS0eOyGmsjd8uNyPica1JtP5P1V6hyyMTmii3DeEFA2nqvQ7qzR4UygvvMR8L9RaHkHExBU+JHnCN/Y9e1T+/EMazlH+egJYRCCQfsTdA5vZsymCF3cE155fKMUDofvGepMMcST6LbdUD8b64dVc40S3/224S5RGMyjUu8vOzX2UDsaLriIz+jCdeujE2p9yShWUiLH9TrCbJh9MCUPVH0oBAwYdOzcuI0vy04SkIg6JprKUX0NlfCStOUKYdvr6z3tr305nnjPX3fqSxRToIxOUq07qinUXO+tidztJv7V/lBw6qLTlZ76fPe3IHbGVSKxfRt4ooZ/TviCiETtM2U8UVF73ZTycfGOJ38MXDz8bSD00DWarImcTgr8mhVAZTXwYvPEHwK8HzpjGRAlVvN/CABCdcW1eub+ZduckP85qlGkx3fssBZo3XMUJ/icO4VsEIi24gL 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)(39860400002)(136003)(376002)(366004)(396003)(451199021)(6506007)(26005)(1076003)(186003)(36756003)(5660300002)(8936002)(8676002)(2906002)(38100700002)(107886003)(86362001)(6666004)(6486002)(66476007)(66556008)(6512007)(66946007)(83380400001)(54906003)(478600001)(41300700001)(2616005)(4326008)(6916009)(316002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: AKvq2kHhNCOgBvbliJw0noYh1mEjao2stMXUeEVDSZ1ceAXbiUc5hNCIBM7DZr+mehVQukMlOuQaw6n+UeKmdgjg92i9WXBb9SwKSQunPnELS+29CrH+ff2Dn53T1j+a5bCnUweDLJ3U1agsAVFUsyS8mP5zfkBicokXtJyeuo56Pm+Uyi47srMAFHD0x9RsZOSUKeEorrar6f3Zu9NrZvBIxTMEW0VRjtEBrqny8KsZ0JR4yPqTgVu//C/aPkH5uWGLN31l7zchLCX87faHvH1FBy6nkC1dZIs2ziJq1xQGaiEbmFHs1Up9ANTbrk1jH53oss/h7du6cmIm6FujRpKlk9GHwlWKCTQM3onfujr3xDmonTqVSF3BS76+X5078/VSdPVofJeeJnZ16WhclaUK/MxBasQFkwvjt6e/EFDEElxxowz9KTp8soEd/NbKGznb9kZh2h9LhTjj/2h2ZbitwNHMhK/2xOsOFFgLrV9+6LuRRbf0ZE7K5UkxphPH4W8/oRPsv3ON29AeuxY8ymhhXTbRbLLIGnn2z667zzu65TSNX4ykhmXWuEpoi0RsLqDhXT5CD/XxwW782GzvO0z84E1OXF66MpD2PZKs1PButb7c9+e+G+f3SaKgFBGHdWcqn1L+gcXJccyACMfGpqxs8v3IqgKQWhUdxxtWnZHk5zQn6K08gSB34m6hMiXd2p/lcrETGtdV8gQquNUaVmPziTqzaSqSK4GlfF7AuX6/hhzkzttTQIbeOGY1rJHfbShLpZq5m+GCw6ogwdaOSIx2q8/ZK7eVFxCun9Qmupb8WLI0DFQCG2oaKfhi8FuTApGIjM/fVLyODs3Jn7jaGm9feVT2hJ1K12EJ0b4WhZOnw4m0orv2R5fZpec+bvTBuqxy615qTOQd5vnPHDPNjXqZnds8Azq4pDBI2eiBTkW5NjQuRmXWDPaZ7Kc1iNJ3LcRUGVq7a3CA8GVt4+Bv3+7cbNu7F14Blmuudu4SkjtFxWzhhf46f1ekt91YHpqBLNSMaMZv314dvVIiiINg4RoFkK6tKyTCG3nCCB1b45EzdDlH6/XQ6NzpL8auSRz+cUpXA41ql2XFvimKIV4woAtmTewtFQOZ2Y21QjevUyMFfKmQ76MIfBPzM3fR/Z2B5XSCLuFYd9YudHTsKigj23p78Oqky3NibNwtKi7JK8ddKDzUm6gARcYUSK7KJ7RuJJoKfHxwlE+J5eTmesGrBWQg02U+ZGhNBFq/00Ivp3X+hlYfrPinrlVh+JPLlcdoqUKJyPuPavqQXH/SI5lzzRIJAz3rnvMhqSj4PDJNGqxycSU1mVqLQ6vNbCaLBXA6diC/gijlMZNt5Pu2/SdqyuxEWNjyrLHSIIRt8sZF87pDs+RT/W+fECQQLrQz3e4CIg5D/O/fT/sDpb7HWfF61OJCbW4FPa58HpTHKx4RH8zHQVDMUas4fBstwp+fmjZ78mQcLsaRUoVf7fLD8bTgLhtcaY1LWQmY3DQQQF1dBDFfWV9rngFU1d3x5ipVicIydOWSNkYjBJArpsD8ltAGZclrswINmh2YfOkZ3pbZg+xdo1U/Mu4Hq9QUwFxQ9Ka/YlEtvIlwPRJ41eMmWM6M2Q== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Ae+41SInphsyyXbUNy1Pi4KxnvZ75fL3BnKYpK6Y4wqDQMLNlvvIHy39U2IWZMmqiqOD6YCce3tKTgQeUBBVNjYmqLoT0hunSt9FvSnTCEAxLM+3mTVaDEhfKHnBXYg0OKkp2Psi2NXomMmfJjVwhtubFRhTOVuiRNhdlDSL4crhcaKWVluxIENuafOEmgpIllZ67nGUrtnHE9Vnt0UUiTxx8IfV5DvVpYnxZZSfIw8jJOYaiGOuEQ5UvpnN+e5lG/rlbFj4eSjOaMHUAgCZeRKPOzU4dSW/PlXFnHhmmC7ku1tQ24MYGY1RVv6ZLCILQpbdEBwVwCrzZPLnUBd6Q7Okx7teqIk1oai4fXYqpW2VcE2NQydtvKty97yc/mJDVCB8IQkvTgAmhPI+dHxRPUHbslhj3cAgCbx7Qoo5o7edsr8T8kiJiB9ElmQgWZ6kwtDHXx7INck3lWQDBVpyFowlqwGadxEUtvFbxdkxau+W+JXOhx7d/iCKpiVOI/dSkiHmoe11AH+Mc4Nm5G/YmpSLFPb3guDOucjORcpjiK9jnuzyVxPW7HxUn77pQ3rX8iyIVq+zWRW4rOENnn68qIm8oWOha9Iy447TLp4ltjp43Amlp+1uit3MmERVM/Bg0afEd/E7pj4obYaFzauo6CoyNBziv7qNIXnpvI+D9V+lTNFW5CB/h2e9ETaFppdTU5VTF/+Cg9yJGqBFH0b/9saa7We2nvMbzwkbDd3j8wAgol4CN1iMW6BVZpLtaTGGdcNTw0xHG1hsrrn0GAqs61Ac9QMxRuJGy8k2ERW5GqkEAPUdLxIYIoXoySKh7kN1UggCDf0q7oGW7lLB2VsxgTdDjKWjxJIiRp4J6v43H7/vPFm9TJ06shkTd516Brg55xez8Kc//XJWPG7eqOCsMnX2wlLIeW2lhUkrxfi5agE= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6132c62d-6b1e-49ed-3544-08db8c74509d X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2023 18:32:20.1005 (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: hhC8IByMKawYLfnnYVQLy6CUcWgAuqmUe1SFQ+rDkKcjL1PvVUZPBefJBqz81IPWtqkW0m48KnqZB2S2Sy7ZzQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5376 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-24_14,2023-07-24_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 spamscore=0 adultscore=0 phishscore=0 mlxlogscore=999 malwarescore=0 mlxscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307240164 X-Proofpoint-GUID: kkMJntR40tT7YVovkE37iUu0Q4JvqGr6 X-Proofpoint-ORIG-GUID: kkMJntR40tT7YVovkE37iUu0Q4JvqGr6 X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: B8ACE40019 X-Stat-Signature: muxg8ztf9suj8qogwntrji7duexhdywy X-Rspam-User: X-HE-Tag: 1690223545-594749 X-HE-Meta: U2FsdGVkX19iSUUdKs8NkV9XY79XTwdFIlb5fwr28MVyOvulBd84OAdHzAcxSqLIY/H2tIkaaIQGflb6RbwbFFFcLsV2996qFCaRTXqP4phJ4LhHlRb9/qP5yCWYna+NeOGPtEYymTfHwmpH8L5AQxcxQBF8AzY/X3jVA5BVZOfg0RddbtpYmBaSwvf/+5kbi/LxYrEOrbhsfM6y1sayK+TRg8jMlQbAJPK96RNOGu2AGM/jRCxDAWz9iM2IWgYdumvBRr2QVhzq8SBVdeO5IN6vCvtlYQ1LbE3e/556SMegYezeXpiEhntuh3RjrQf/6TLBm01WwVSk7XDG37dynG5jNYOkBHK3PvutturWMLiyUox+36yGF0OlYCWhNUNPuagXmwNih9VYu2m65tU4MFenkAd6H4QbP6hgbID+1g9Rd1B94pYJKGF877N9DoBnmcwI1h4413G+Fql/0KKp7piUfxSurd7E8NUuzz62sljvk74cFaSr4kJAq8Al97NTtASTySqGhHzneUNROr1fUkWo8moBr9ZsHfaS8WWnVuTw+7VY7dpLvZj19PUFQvETt/lG+nZO/0U11lUAsIdMIUVukbhR8jByNMK0eoZg3dnZbyMVbf54aB9m5HSQVbaIFh+E/L2QNgDYCxTpCDc3J6vT4ZkfKMFZh9HWx60iGBCmGOK6zbrG0kQ4VOOiwKlmop3ZKY4KUHjdj2jrJGXcMW62cYe6xYCAbiCB3ZlhmTyFJQ7teujS06T/7TFt7m/o8usXiPtItt0i31Xajxk1OTaGHhCtcpIPjvGN1H35b7Tt8X3vCewi0yDyxDFwOESIHj0aRHpa6U2kH2KKFEkdce2Por4Sz+BKnq32ZBvrOwKaS1L0G6crMjlY++vAm/gG0Dns+3Bogz+3WLbu/WbH2KoUATf3Y3x7OfvKcru4/Rsf5vFvCIZ4J3iDjqNUSKp5l9KiHVGJSqfAa7hqGhT eR37nVeQ tF4Wp5pT/AEKH+ABke3PKCoH6ZfKdaR7qbyqLjOvI/vitNwJXpq4YhrzNiPsvWmosExjwPJPxO3Jz3SxryB9Y+buC4U5QL2PZncSiZ3VjcRFOPpNxsxEpNn/MQrXFceD2F+q0A/tfQwxc70FTZOW8rUIRSOmKf2lBkOPx+c8w03KGn49iAhqUJ1sOGkXavT7FYejqZAxurWMt30bvI3I/0RKhboeJji+TCvKpRPklfdkk5q1Z26wwr8iyHAF364gxdAnjH8mHu/Iu3PcTYIUQFcdn7KopjXQBHFSootnImuUn5yjKfGw3kaOpH8gUBlCsOAnYkFAMMZkW6hEqDf4rLrcixhMGhWtSNIvgiRBn2em14rvxmELZvhIMbnvvgOgzJoFvJE/d5BcogRagKPrFQ/dbDsBEt7VI63yJqxoAPK3SpQM= 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 | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/lib/test_maple_tree.c b/lib/test_maple_tree.c index 3207c2107918..9c4cf5fb2b7f 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) @@ -1770,6 +1771,37 @@ 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) { @@ -3498,6 +3530,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 Jul 24 18:31: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: 13325231 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 8987CEB64DD for ; Mon, 24 Jul 2023 18:32:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E50756B0071; Mon, 24 Jul 2023 14:32:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DFD45900003; Mon, 24 Jul 2023 14:32:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BD9C36B0075; Mon, 24 Jul 2023 14:32: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 B082A6B0071 for ; Mon, 24 Jul 2023 14:32:32 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 7E18AA0B7D for ; Mon, 24 Jul 2023 18:32:32 +0000 (UTC) X-FDA: 81047350944.18.4A61CE7 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf19.hostedemail.com (Postfix) with ESMTP id E662A1A0014 for ; Mon, 24 Jul 2023 18:32:28 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=UYY4p8g3; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=fEOaeYKl; 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=1690223549; 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=xzwL7C9F/ikW9y2u2TaUUhmNSNdpMJ6Rr6ICz4tQ5m4=; b=l6K0BBhHIx0Hw5UO5HMtw1WPSUmM5SEmaMeSGbhw1Q/YxDw0GqI3MyC1KGe5ud+tkwMRJ5 KSsN9rOGqQpHGMlKzuK5qEbFXmbf7ogwEVWDp1j2EC60N9nZ0Zc8p9MBVnGl+clTMi4txe 2ybMUbxSDBzergkDtBy+ScKL8dqbDmM= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1690223549; a=rsa-sha256; cv=pass; b=kIh9GEmA2uJLw5aBvdYL15iCdc9rI+fZc4zn5MtuWfnVbNQRjytW+vgHDs12F6k3pUTlCj cPA5/s0bdSzRmZ82a/1WKlSiT0z200NGKLp2KYB+ZwBBYIFka8ECCRgdUtwpMP/s8haB1g KGSN9fPDtOaf+RjMS4UpoyQHdNlIU2Q= ARC-Authentication-Results: i=2; imf19.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=UYY4p8g3; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=fEOaeYKl; 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 (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36OFOIWQ005721; Mon, 24 Jul 2023 18:32: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=xzwL7C9F/ikW9y2u2TaUUhmNSNdpMJ6Rr6ICz4tQ5m4=; b=UYY4p8g3LWElABz6/IfntA0pm8TFPx7vhT7xUl+1gCBMRsLI+XliRIGh7ZxqYW61wSs2 DIkWc1ZqQqUpvlc62h2d2G3SlaA12cvw5gP+RptOe6fT1YuzssJdL3GTtcY8HoKaguEP nT85+hQA0IfEeDjkoeGoOjU8NLjowYSQQfKJfrztjEiwmDtHmlMkl1O20l+YL5AtGRwA H2rbcif5kFylGkiJNdMv6ojSytp0B5FcVv9qk58Ft/nZTIidec0EZ4YUs/3jp4kRM3Rr Qg/hezO+r7CEFnAbW2UlKkuw6hYi/bHypywzlSXqOO1eCOUTEGDN5ySOskKk8+yz1yX5 Mw== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3s061c3ftp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:26 +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 36OH08Gg027537; Mon, 24 Jul 2023 18:32:24 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2169.outbound.protection.outlook.com [104.47.55.169]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3s05ja2554-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:24 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cuvW4ADrPyvzrMSvgRgbtrZw9bt66g7fDoWQsT+ch44sU2V6pHs4plmyoISIid3HM+4Hn6t4asBtAMSv/cCqUP5d1YhS4huEQbFnkuHPruPMqVyns4Rj6/zvYdfb+wOBaBbWxHMt40YsnIDFBV/4BbOfaohkRs3YjYFaWhjb1xcsIN8bMp6W0dmhD9jZPyakgOyNUvSjivXNnf5yNlnoJr8cKqGb+Ds8YCtylF4YGd3sS7yihihm061aH+f/afep4r/TtfNXXAVoTfpt0lZ2f5NFeV0hW26f/htjxAphDN92WjTgTG1Sf8EbQ2fi4VOmgqnLXeooO4UTOKKni3KnMg== 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=xzwL7C9F/ikW9y2u2TaUUhmNSNdpMJ6Rr6ICz4tQ5m4=; b=k03njCdZe6CR616e0E/308E0KbMt8UJ7312qwP6TlD6vsSg8plkGZQg6Cjzooq4W+s0jTit82dW5wyYmzAyW1jxxHgExaWCOtHXk9fcKurs6+EtdnHPdEl4XFQUVHxkK9E+GVbOIB8K1nvqFlkRqpsYaHVc8+1tBTB5p216sqCZAr4mRDVLBK5HICx5enUlxulu/AZH39j+7n2Eu+GkqUiy6RVmWdf+UNElpcl0JQJ4JAmF5XpTvuH/frLn3u/XPomzaM4x941biROwRzQvnf/RPpV1xiAcad1VMbzy5J31gjQZPmmb8tz+F723pVfsis9iyPhV6+tj7xPaO/w1DKA== 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=xzwL7C9F/ikW9y2u2TaUUhmNSNdpMJ6Rr6ICz4tQ5m4=; b=fEOaeYKl+2l9IPp95aPDe/8/GJ3AUBDQ48zCZuCAh4FLOtjclukT7HDxE4KUcmYQ0U9J7+0X+FXE8+BHX2cNLZh+jhy3PrMU8vAXswIfzvmn9pSNq50GT9phKOPsfRsg62yZfIvRoDlXCQxKS7BvKaZa2b/Qebgxm2PnboJxfS0= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by MW4PR10MB6654.namprd10.prod.outlook.com (2603:10b6:303:22f::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.30; Mon, 24 Jul 2023 18:32:22 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35%3]) with mapi id 15.20.6609.031; Mon, 24 Jul 2023 18:32:22 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Suren Baghdasaryan , "Liam R. Howlett" Subject: [PATCH v3 02/15] maple_tree: Add benchmarking for mas_prev() Date: Mon, 24 Jul 2023 14:31:44 -0400 Message-Id: <20230724183157.3939892-3-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230724183157.3939892-1-Liam.Howlett@oracle.com> References: <20230724183157.3939892-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT1PR01CA0096.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:2d::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_|MW4PR10MB6654:EE_ X-MS-Office365-Filtering-Correlation-Id: ad896ce2-2379-4646-a6fa-08db8c74521a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 10eV4IvLZAJlesy3wSrFk9CNIymU1jddPLGRhKnHtBCSSWq93Ug1wmCDz3fpRCMYtmAIlDeJRY2ferINMU2ocSzaTkaFNeTYGzGqxHxWryKTCmfcO4T4cVBT+ctz6qGcDoYP1tQ6NoZFe1pVQeT9ZiDzdoIFYXWocJt6Q2czJUCxWv0DnqJk+voiQipCrAXfqqfrcQou1jLlnhfX9TvkQTwoC4Dk+wmsdHQJWdXEWjBkkaUoa7GYG6jSIrLX2CpJeuwp/E5p5Iz0Y13K7Cdn1ImjxgpUSB2JqV1IAFFCQ2BGlG3tXcXd9cai4kh3sIf0u+wNU1AmIB/cFRygQbcWxP6HURjpaCuf7cyw5vO+qfsHdRkZGHBZdbkyyyyCW8n5J/CLkqpozwZJUpgRD0DYKQqGVh9fJQesTrlcf9mZX3Xfu/3tfFI+ld95SECUk45vh18u4DmYYSd8hj7BKpYS01ugcLjY9cCBQLwO5xdZFgrHfLGYeZNJCmKbz7mkvXJo8f6cRTHELNs2NIxhsYnKBQKgep4oer4dM9ona4X0OE4wrDL1FI3jN2lNFPHhyzBt 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)(396003)(39860400002)(376002)(136003)(366004)(451199021)(2906002)(66946007)(66476007)(66556008)(6916009)(6666004)(478600001)(6486002)(6512007)(86362001)(54906003)(83380400001)(36756003)(186003)(2616005)(1076003)(107886003)(6506007)(38100700002)(26005)(4326008)(41300700001)(8936002)(8676002)(5660300002)(316002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: +7ks3pHfIlho1JdQvgx1aQQ2T/dg1bepDUR3PPUGMACTRSpckYGdvj0075fzg/OY0XCIQqP/dnEHWe7HxfA5zXKtLBGjMSOUOmcZ2WtHH1oKJ5FQSNy7DyIiiiQdTZuQeJdem0QPDvxzaF7u/YC/lD8BtcOXhavyubQgRcWtKo1PiIapuczq2XCqQ7MCL4z2c290IuWNdgJPc/B3dzr6nRvdYIBg2rvxJG1lE8VmXUbix7Cru88v0E4ndc/YF65XAeXJelR+5y+ePllvt1Le9kBqsZF6TM2x6SGYQEmDb49d5n/q1hPc02pPn0kTXHP/7DJOjAWxttk1iz5LXN/UcYYcmMlW6CZ1XLGv6HeclK+B++9CexzpfAJkf3hwm6Wlt53rzBIBbNbU33dFuKySaOM4FHzX3SgsmOIEyMseAJqHeswiHD35nim3o3XKxNrOLWQD0xh36+q62vXaZW6qaTbgoAGRepIHxQk5g2LaAavKdAXiK4kQIf/PonOjJax34rV/LfsEaU4/X2rCb8IF6dsPbz261qN3HC445sDPW4C0RBeWQJ7yg4J3m1WaKal2dMIruKbfR/0v7tPaWXNOP2M85dtuZkxOzlFoOIF/MjXdz8omItUiLydQFTYLrEHimGqVVD48lNiomNB2Tc1ooF2r86iONpRd2AzinI6yRMKaPuHN2fbmC76A53Jsv+ArbTJPeLIJvHaF9cXuaDyXslSzvZGlx/f1LnD00sZpSmgb1EUhjAOdLAb7HuYZaa0dQZgerfFCa+RPkaHb+zqnNQwKzf4khFmfag7p4VYiYXaCSCpOl8LhXGZ7v4sk9vlJBDg3DA1pKKjck8ZSStNH6VrzzJupx9n+h4jLdSkpZ6cmoaXZeQVyLv+x2oUb0lmQZAe7Jmvo2kP7uXI3HhpHMwWQPIA8KUwpOHMeH+9lPtjb5sVs/pWsOR4jpeuVd8rWFA4K+JOfBs8J08aRuJcVwWTkrZqKA/O8A7Xns8OVNIQwGMHgyciY42mC8wm9XZ9wnKx8ONBwxfhf5nHlKJHgiqzaWtPao4caXz5QtB4L7DlyvKL7yO5hhHygVXtpnBxmUow4WPAFggskcR4rxtyrnnklekQUfTF+quw08Sii2hKnushi535lOcfpVx5UYLBHzTOnhyu2M5y/8ccy/612N7/Tv5neW661RMrSgD+whY8I/hydTu5USPbDYLm4FTC3SLii2wA3DqxdCTUpXqkTZwwpO86IGX3ZAbvN9y5Ixc7lQq9ScEzZbgCL08R6n+VUc9M/Z4Axn8W80gyYZsKLNcNDyZoFMkn/pUUQWFbNrx3bp/VQM79tnasR4IvbbETMvAoWJkfC95gTSNoiVzvtBDLAF0/0oQQntQ2jsEthuApyySVelHtI8BSGsfR74o3TKoYkAgc+POgNPfKLay71+7q69/rmv0gofWLikIfiJTbOehAzA3UfpUrJNOHZWgbdogxrpTV8RSj94fkIrsiJBARzCT4T0S/sJGVlRR1VkWYGf4y8MGjUDMEI3Yj7uf8usj7awPb1j2vnQ3tFtzGzxz+RA2MW25DD1/5d3sKoaUaR4pKBbGmy11IgClfmJEqWA612qwlXIN3wDj+h8EYIYw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: hKTAKEhyg6wOaY03De4J59hb46rOZcSa5ldH1cJ6i3x+utEWtXs9iwYko3Imu6rPDw2J3QHpc9vkJeD1jMU8J+SSinSM8DB/apysgWKizrMSyyS+U5rwupw9/dFVpoz8c7Fb0MuOHN0r488mqJ/dF2ueMc+7O5aVE+98b6ciDDDjvcfC+DzG3rLrmXvo6pQ4EHIJBkDxWCwl8b4hxW5xB2T666XIAUk79nRq6U5HeZvnhHAh3LYRYoocQUmbVGYj++UsHtOCXZutiJf2Wzc5n6faXdC351I4R86XosLkJMTOko2kF5zq1ybRuvYz4K64aUuVse6a66wGhxdSwdeMktBVgRCYLiR2NlHLkt8kRaZM6IiOGaKDDsGcK88RhwO/rgkgFqzLjzCyQPSRWhkdU7kqbCt4ztI77VKncC2NC/UfQUSNai027XKEtworXP2fjgcl9mjhEyhBs63vUn6DfVoJzuj5o7vJvLu12bMsJfu8pduHadh53bQNUENevkIC0t9Zw4QI8suDhDnme8NQnUV9zGCfeM5rgt84b+kSpeBE4B7vf0boviX4qpmn5MLbNzZedLEIgIBNWpVhS/94yCAdmXqMcTzLn52oCPVP0/jQi776K4kgotbhm1PBpqNpCG5QULTKvOp1fIPRCk5ciaIvGofNONUOfAtCXt3xz14l69JOex+ZhBeoacnsHclpiidXneHUfBBBdqq7JHGPPt/AMXzKuTcs6Tt/XaW0o2m61cW4OXy1G6kGXYVQ0ZNx2Rp0w2LxIHAIYEw/SyyvTq6jk+EajoAMqJouJ3isJZ8snoWeOR/K4vI3+Toeew74eubTsMGRtpLxMRKwNHF6/abwzlgAnfNAxGw9UPvtTGgiwPbnB3UDW18B8543GTuPzOcgQn2awAccITCHREGaCCEKJPkTvTGfS+xV9Vy+CAQ= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ad896ce2-2379-4646-a6fa-08db8c74521a X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2023 18:32:22.5838 (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: skygMwmPJNDgDy4mCCaD/QzzvpI2evEH+nSW1dIKBxENj6HXNe93nt417ZttmKNuj7W6HgJvysrpZofmItc9Vg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR10MB6654 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-24_14,2023-07-24_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 bulkscore=0 mlxlogscore=999 suspectscore=0 phishscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307240164 X-Proofpoint-ORIG-GUID: jlev4soIQByIryVWud4_ys-YzQe5ESZo X-Proofpoint-GUID: jlev4soIQByIryVWud4_ys-YzQe5ESZo X-Rspamd-Queue-Id: E662A1A0014 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: 4we831arfw8ys6cktj7sba3y3ea39onn X-HE-Tag: 1690223548-851595 X-HE-Meta: U2FsdGVkX18Vw5X6ubVFr88ypS9l7+6vbWIPgM/z/WlrY9D5XMde5+vej0DzXxl9N4S6397dbQbhx7Gobpg270IOD1GnJEYvSL+qXmg8ho7SiZPbvgK8GqEFSHSjf9RUB2qykG6DBHMWqdSs4v96D1izwbkXiVWT+zQXrf76Ud7BGo8rYfE3iWvV/IUGZqioUDQIioZBkEYGlTstlZd1gjvEn5r1fdqQdRVyp+gbjxBZNkrNkdRReEFxGuSx8Vec/zCjpgv7x+oBxl2qH4fb24HTLmeqm0RUwpGB9tP/gjWmYMh3LTaNtzs9LDzegTjF7I8bv9JXoAZ3saRTXjvad1SdufQwWGjC65V+AlZYaqJAjdrOlNOfBFPCzsvpgl1xT8L6fxDhKgx3cQXRvXynHYo2YQTnATKk9jHQqoRyPuqStCQlcl4grBX/QiWCjda0swKGuYhTm1BdGmWOhhluVowft+epTzRFTRvZbTdbnCJxN0mBW9CXfustSuSNSe3fZwfoRwJ2fASlDG8IMNPs8WnpwYy8MNmjh2HWuZoeAYw+LPREJylBuMqIzMM86j3fbgVIWVS7/SCqYi1xnylvd1vUAChd42dYOfzPGm4osh4PW5PDhmPs91K7ELl/NDpHn8DvrRPGD+Dn4wS+mPoHXdGVsNdZHHMrPed3WMLz/UUPToodQ9L21ZZtWXIqNfsELX7vqZbqoIhxTwTIrgnFWxeT1csO7W0SEAJiojw4/SbnzKdvouXXkvdSJwVa9thFRdUr4jJCCF7UjlwhNGcmoD9FJChlYmFj40yk1YnKf7/kgphnk1VpbqZTA1ETRvfYBpJ7AaRGX8KT4eHgHWFBJiy4F4Y2A/+DLBzWTS9gjhSjGghZE5QSuPjBGRzIQyU9L6H/0XtC8F/ihofG6MTemGA2Ecf2bfZQM95aQ2hxBHUGUzL8Z1yigxI8zuMLm5Zdg8dPV1WwxRqpAcyB7bg M6fdZy0d 1ET93VSRoOgLzH9FpD8sj0HcHfy1d7nUHSUG5LfgyiFCyf++Ic58nO9C9YGNeILIfgYVTF0ub6DAlydYsdOtDu1NxJOWVqS8l/zbyexxpiW7aO+qwcEHh2u/OT1aiAc+VCIK5jCqZYRIZ7wXJ4oC55mIuyRdGILLzikyUGdWrNpPdd9WWaNY4PrheWkjlOAwMfNgXUzd7hRZ5/znGmnZMcGJw0YIcZTLY4Fp93IH0eyDRru/xhBuITU+CafG8fYV0xE2HW/g7qQ5o+BPxpTXsFUJHM2hRJhKk9h9+irwnas10Ib/h1kUax3vaORqdXcQAiFXBQ8mfk4oc4RzgMaUzQowrUN+npDfRnMcLG9Q/0sE4kNquEz9pb4atNLQ2TfCCF9/FIaQROQ3a61ag62SmqqxbB29XkpLnw8G+KjMCPetogkI= 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 some benchmarking functions in testing for mas_prev(). This is useful to ensure there are no regressions added during modifications. Signed-off-by: Liam R. Howlett --- lib/test_maple_tree.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/lib/test_maple_tree.c b/lib/test_maple_tree.c index 9c4cf5fb2b7f..0674aebd4423 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) @@ -1801,7 +1802,36 @@ 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) { @@ -3537,6 +3567,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 Jul 24 18:31: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: 13325232 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 432D6EB64DD for ; Mon, 24 Jul 2023 18:32:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D3AB3900004; Mon, 24 Jul 2023 14:32:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CC54B900003; Mon, 24 Jul 2023 14:32:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AA461900004; Mon, 24 Jul 2023 14:32:36 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 9686D900003 for ; Mon, 24 Jul 2023 14:32:36 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 68350140635 for ; Mon, 24 Jul 2023 18:32:36 +0000 (UTC) X-FDA: 81047351112.04.998BC08 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf28.hostedemail.com (Postfix) with ESMTP id C2A2AC0008 for ; Mon, 24 Jul 2023 18:32:32 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=DzfjMj7f; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=agVLfm+m; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf28.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=1690223553; 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=vKI4jF0FtObHem0Hi41uzc+Zn3+lkEYthQhCGxO7fCk=; b=r0mOoPDuTBd/T/X71O6rfLmVzq1cewAb97MbxWZ5kfeMDWfyz2RP/qL9TTfFAvcBVKplYI ogHAM7LOp/R0W6og8bF14AmTzuwD7h0XDMKRS0arQ02Wdvwo1pkhq9Eu+VAmgO5CRIaVwm MxhtPrpfTWyCFFOIk+V5VRIb2/qHx5c= ARC-Authentication-Results: i=2; imf28.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=DzfjMj7f; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=agVLfm+m; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf28.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=1690223553; a=rsa-sha256; cv=pass; b=sp7b9UYuVncO3iD1wYIXN1A0krzWBb8ZgC8xizBtJL3rSDT/jpzV/Bylk4qwJuRtHaqDCo x+m/G9ftNy3XVVpWnslgbVeUH0XyqbguEykc3P/HkOWB0KHVAbCwem2J3kS70KwLlr3Pm1 RDx+G4bJlGIfcaKI2jqV9WUZaaVMcjA= 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 36OFOICk005703; Mon, 24 Jul 2023 18:32:30 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=vKI4jF0FtObHem0Hi41uzc+Zn3+lkEYthQhCGxO7fCk=; b=DzfjMj7fY/XYAVOhm+/B4UzPo0tPGUw+JF79lXe9NyZkR1B4aJUHxrqQk3wvBT9xaiHB juE8uOtpXA+1sWoXvo1GpBaCuwyrVmGtprNVtp3XTCcKkEhYBDgfjCtxVCHbBeaaa9va niW7SSs754FGl1TyoKVR4niVN9aXbfnBx5PaU7F2+FnJ1/DidMrGUQcRV1OoyGUrEI3y AwMEpOVtPT1CuCsIbeTArZmRT/V8LoLtrhbOnYcDAb6xUktbX7HLb3bN2wR7ZbZnmHOk hBK4WZKeIQxRubOZijOzjjVWiE4sdu6bWHXCDHVovIBeQS6sdpDihZTx0T+0JM/q3T0U YQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3s061c3fu1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:29 +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 36OI3jBo035471; Mon, 24 Jul 2023 18:32:29 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2177.outbound.protection.outlook.com [104.47.55.177]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3s05j3t3f2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SBpCB8fq6750d9bUG7igLzKqi1E7tfQDPsWGaRN9F/W7D3PG/++qAlzv1pMEA0IvdpQS3TTX9pcbJyymm7jm3V2IGMiv3jiBgBSZ77MZp68mAWCgRQ1tS1swQAugN9cLdxOsF96zhqCUougm+MyOvPoskw6aDKH9WxGf2ImXPxJI01zBbbKw/tWZf8SwTD5gMTOMyGwJGg0ypJZD0sw25f54kCA/JbOkMV/vHqbQEco61xp3V2uIc5imMxkT0GXp87wgJq7BsHwUA9VN3C7WgQw/AP7FCqURj0t5BESCL/Ic+XGPIG2xeexT8TYWo4PJJJZa+aop8c5X0B6ARqZZ/w== 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=vKI4jF0FtObHem0Hi41uzc+Zn3+lkEYthQhCGxO7fCk=; b=V6G0dl1kIOG0nmtpbZVqhSqBb+YNvbb18kpWt8SmIG81SQMEfevmfpZeadLGElotqFA986BYeRFB7nTN/V5xjEschlM8FNyGcca5u5x+QdarzqJBzVbljK5wrjKz8xlvsm51KfVW3HsduQI+ltTvhSdkwomk/CiXdxu2NAvcaRx87QIrHH0Nfjxz95QSW78Ilpbxtuo5mloTJ/AwsbLSM0kW60sJt9BeiqAQOkz6LogpofoLh6stz5X3K0VsnRL3e9QKrMxW2182M6iuNKDjtiFalr7f7lfpNlKCVLcYqlLHM9cFDVeOO1z0lECcfoEDQ9Lvf1IaXevpaaKkrczGkQ== 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=vKI4jF0FtObHem0Hi41uzc+Zn3+lkEYthQhCGxO7fCk=; b=agVLfm+mnqEb7Zu6Po2JmR/+ol1Vb2g72UlXw6sFNTEwb93nWQO1J0bAxmqDQHt9YF0sU0Kpi5Ub+oqUbeL1AFociDvwIpLB29SpPMn8CL6AYlWGKGWCWaM6YjmV7niwszezDx2AI+AcVm8IP8VVtN3bwxErn0fkgCo8BeUz+68= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by MW4PR10MB6654.namprd10.prod.outlook.com (2603:10b6:303:22f::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.30; Mon, 24 Jul 2023 18:32:25 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35%3]) with mapi id 15.20.6609.031; Mon, 24 Jul 2023 18:32:25 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Suren Baghdasaryan , "Liam R. Howlett" Subject: [PATCH v3 03/15] mm: Change do_vmi_align_munmap() tracking of VMAs to remove Date: Mon, 24 Jul 2023 14:31:45 -0400 Message-Id: <20230724183157.3939892-4-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230724183157.3939892-1-Liam.Howlett@oracle.com> References: <20230724183157.3939892-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0121.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:83::27) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|MW4PR10MB6654:EE_ X-MS-Office365-Filtering-Correlation-Id: f7443e4e-fbc4-4831-4c16-08db8c74540f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: sQ2980l/nUBrfLtHFz5rSvkbOnehsaLI0eH18XK3rPyWAlwM9WOLevZdhF1jcqBUa2RCPSOMfJyec/BtF3hw701DUiO3ZVCW34777tP5mbka8Egdnzf3C0R0APbdgCsCBeXXQdESeFuGwFXue37/OsgmD5cPF5W8mNuu0mAzL7Ktrdn/+FJRl/KfsQqRBnW9nIBNwTFtR8fRPN1TKIlW0RpxGnj5BCloK7qKPsWLfVnQHoGTlABEjMaVMJgSS6WuawhBOJOIXJx+f3/GuGQM2tJV30I6WpNkuZLJ/ZQvuCkkqePLNveN31YROPzW6g4tW+QN1Qehb6K//zP+Y7aDz7FqTokTBhnOYbqIgLO8W7iV8nR/VxOg2At27tFSOcmXAGfBFV6bm3bchMKcuki3ElA59MlDLP5IzL++N/79tHDyB+NgfgaVTaihDAUGoufkQaZEPPyzu3E12JnN4v76VcDg/vHZKqF5TL5ZIjDqu865IzVJq9H8xaqdGNDMW0hkRU7t6vOYRVIWeRqxjQdkPoTaSCCyiGayTmoc7/fC47d1OKqpisdaYmqzXDnYbPdq 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)(396003)(39860400002)(376002)(136003)(366004)(451199021)(2906002)(66946007)(66476007)(66556008)(6916009)(6666004)(478600001)(6486002)(6512007)(86362001)(54906003)(83380400001)(36756003)(186003)(2616005)(1076003)(107886003)(6506007)(38100700002)(26005)(4326008)(41300700001)(8936002)(8676002)(5660300002)(316002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ByI23vQNSfATDok913S1WYNMKIsxwZLt1ul143F0FxzT0T//MyEUWpWnsSqo1fz0NijL5U4Vs+oqTGqK0LwYzi4K6D2LDS5jW8P98XGNwxF6jtWnkNGlLha2kD8ZZxJmWEsbbXPpdPoHicYWkdsqvaJdFu9WDcln49Qd4V0Hd3b4YGJAxtF4eIqsgAC+2hpr48BeR+rcsqlKm6YgdM8CypjMVAih9Xk3W3Jdp4YVzaoVuYmZhUegAioJI755Fk93H1n6eJOvn2eusQwbpe6y6gX8QXmn6CHmpmQ3FGZu/PfqnKEqurhKt8FFjfsHs+pAyLwh+NNjjcGWxJEGu+awIFPjLVVrIYjJh/MsagexH/QuYPzJBdsWjFHiYQmgxmxipZa0TvH3w9me+49O7hCsnFM9NwCzkRe5J09U5Go67X3USKVjy4LhxG7OUVwCudH2BzKzuKz772wtTHpTd+DDZQIhWrcz8npcjV+clUxJDP44KdEze+1oi+SyIIjZdFBIRgSkNxhqS05MY4Qu22DriArG71LjolanIJXI3r+igB1EcVc3g5SGc4jXv0cFB8bkEESnUGWrb4ui9w8VZsTTQmNERVKWa0TOcfJqoa2uZvJC9/BZByz0bq1bLPMIvDfD/YwsKGxAARFeiB+kV0K4SNKC/E2Zs/JvqszM6dsq2401XitqpmJ3pb9i+vjaLZgpXmCIBYRFMYIxUM1r6i7sDzBQWTZrlHjx8HjdeKG5Wp4w/pyQePfRJdV1CtNMcwKrSwWY+Sl6zX/q9/m91jUhz62I7RmxF3COLnt5eIZF5Ysfx1gYeGf9oS5ohjOJpTm6zAn1gbP2jKDnXyzgqMqmOArtBd+CaNpWv+Dhbv5IBsz0c23a8FQysqFJR2Q4GSgiwdU1AajQFvzRIk1A6iZvo154OLf0uRU1Hy4trRZMIAtKKij2tg0/coy5gX+8nkXSMZA6W32E+KpvwsU6+d7REMBGxaLZi3RQwFkOtDDd0nYKHqp8Vhbjq/5YkQQPaO+6H4XGngW35a0L3syJ7JJKTuwoyjJdmp4uS1t/vTJc7VSlyYGgt71QgieRjTFYfccFgsUYBIa4JB1TQKYOiEJ0BLzgeiZM9bkacugXkd/JyhuLYK0NB9pzt21bYbbgrcOAhN0FZ4sCZ2k1o0Gd7QLDqUnAe1QR7fiwIoMlbuFX9qIwNFACOFNRAM0esNH0D2gzVq6XuA0ZsVGDHW+vpWb2jbYMRTe/l+ZuYipgctrlkoM7BUQN0c1jtB6AnkP8/874+NEPQT8biQizR0r6yCNcPl3pdd7r5zMlB8h0qhH862Cl1dVZgcHHlVQx6OVwcGv0ZbIbyje3h7pmRmxJmiyltQC2w0xBg/OzeVhZ5AO606oZquRnTJRtLtHjzURba/ndYxC+r5Dmi25tEaNFghW2NK45L5Q6UIMjWEdCD6usSyMLy60bYqzhbMdNocxUgCBJK3ToQMJC+A3sqo+m25CRTehdvrmO2jZE6VjoKjZHIqgz3pbCK6ZJvuzbb70tsYayAk4ysRhmk23y5vEL5fpbvZRHGEWFALe96+/cRdEsRMN2jKBUryKm5H36z6YU8s0scRPjOTgQ6yiVekrUUYuaFA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: FbwWKRY6aKJzIAOo46ggoToQSNKctdqMrx6y6701Gb5Rnd6LfiSx9MMUekPqnCA7oJAd4xknvcRfXkhVGssgM8LvaZfGnhy8hoTH9P+25cIehwzr84ruI7DfjxU0w3fCTqbAOYgjfTrXs1U5auJoiX+whwoxk6tabSJoRHR6TwyQHA2T8qgeSCenvOiVeGuSbeM+wydYObjZDF7vnph+Q7Sa9NfwKSqE9CiPYQfnfR/KytzExj7hOOgysDbzxBg4R0nY9qffeB7741PfaPCNT0GoJipfuCUOFyL+kjp5wGL9sglYFWIa1pzam9pyHiedik9bXoQthTQnA2HxhVGbozR7EpYjKCAYU7p69lwUZSyY5dWeXOwRu2/9WInFBE5zT2OlaNfOoT/q4qb9pkp023TP+cDyUhGdwfZ+1r90/mVpi3djGUkGYspqUPQ2QzQTuVb9nXgZNnTXZaqPvN4nKY39amAjdn7wJ6O0i7ZQeBQkhdRqng2UBPiU+l5jHeyjb3rBidiY6bvlOqbGC9goygzKPfPQyz7OJZRSk7S8jt1Uth9Bh9CQnQj5aTsE9vSTDIUWHj8QqRbT8II3l1aEOK8EuiVShW/yckZRzEIzlhlRpYgOgE47GzUdQv15UWZ+M7S5WKm/HEnYGmmscBWAgeN2JXv2xgtUGHwe1pgT0dqs5cuwMBkfDWKEebgUfuplLDY5VBOIqpy8tGFO+Goc69oHmwGbuLjm3MocEDkFNSPZTZ8N5cffBpn/Q+sGuB7xEF0zy1kc4KHqVNTcouquNLmOwLsvQQkY3s/XBjgIhMpC1cUuHZ/w1Rar3PCa8a+rngdgreYWVfIrmLbYqjbwW61lzih2G+Npqh+NeeZeppKTNSA7Vg2N5Xkzy23KZnmjKUXsJIkdfVaKPzDqpLMrjcU/doniZzd+Y1X55CYVl2s= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: f7443e4e-fbc4-4831-4c16-08db8c74540f X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2023 18:32:25.8689 (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: ACJnt/G9kr4Wt8S6jg7wLXqj8XJF3yPsV9iafoK8w1Cx0YmHBW5YG460uJl3eiRwkcBChYBwIkWhKnQg9K5Vfw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR10MB6654 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-24_14,2023-07-24_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 spamscore=0 adultscore=0 phishscore=0 mlxlogscore=999 malwarescore=0 mlxscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307240164 X-Proofpoint-ORIG-GUID: YSsSbsConz-RKE0TL3_UbDWCRBfe-KHw X-Proofpoint-GUID: YSsSbsConz-RKE0TL3_UbDWCRBfe-KHw X-Rspamd-Queue-Id: C2A2AC0008 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: oq67nmfb3sxmbtsf4xy5uijkmcm94dah X-HE-Tag: 1690223552-643429 X-HE-Meta: U2FsdGVkX18EbNCH9LEEShkuPZh/5PNyW/lrhgc4GzVsvwgCskNYlgbMCcJJYOtRHEMn84XkQC9YXKn46cTL0BTE0aGNnXzEf1BKgQJN0dTgOoblDPM04mkeXSjje7Gqv83MnO0siR+B/668nm2l8LMghGxf2j+SOK17mVFN8N37TNfL77VhHl28VIesAEMUbnVXdttSbY8uFwVNjWDtD9rUXl4amEB3PLz7165UccjztjMdOem8TTmxqXXtI9aYJ4AdTRpkGjh4gGxxDGm5s3iUJR9VSPuU4h2kvvMnseax2X80ARrOLdaB/H+VzdyynvZhCJaKK0xvqMSydjQfuQqiplST/7JCnpseQ4CyPYR01gGwE1KnxzqQgR4+KkMm+Y0lrOvCS9dhi74mB6H9EhbxYbeuDS+Xs5EFqcfyEv2iwj+ATxLoNEUvaf/HHvBfU7hJKDWA6YA/8pQzVpzu5ojo/N8i0+UOwnHJX5VTLiQp5ftieHFNRAPEEIhcwPdEYO7R1ipA7eQtvi7PAF/IC/m+AzhMw9a90NW3x/7uy7eSg8SC5iMKjF23DviA435NO/MGxTtpRryIOzOJESgTYzmGumbxFQhoyxyYuLDosfB8sJUPLY1Fq+0qvM9xgTgXwjjaZNNtkP2Rl2jhApksxiawr861AUIIgezsysPgoAgksgnjqX/qhwP81UgFWaPQW2UnEUWb306v33g151BkHBpRxwpUJy1Cndej37Qc2y/mUwBAerVLbGBDhd0m5XKHn57t8I83v5RcVUpYCPekQ5d8wcnIY9iHWXypD9PBMbdXL24gWcCsskOmnL5E6bShIDwV+edZQ3g7DWWzR9DR7w0jx5/rFwdDMsr/9kTsbT6Bm5h8KKzZ5o+FuGi7NEPnPMrgKHs9oaw63ZGDl7JJYtjf9bjqgQ1atak3JM6lfEtjYps1j9wVXss6Wx4CpQI9MADOYdySPDvMX4yXApH Ue9vytaB N0OK0Bo5WwoicRVbaj175VA2bykXmxg91ekrp4htRWFlBut/stoyrjb3wANPfAPHMIUVAA3UP0WnVdi3IC2XmfaCRSHBRDxT0taihsrHA0sMJRaqC4HqntXtQVgL492lTOnHdeYa7oTXRD6Z2X1qWa2iiDHfMiIxjErVmd9WntnEQYPhIJOG/UWIW1DR+mZdsqUa4rtBwogyt1Q8atY4fhHxFBvhzcyQAAyxNwbNZWYlREEb55Ksl7jtk0s3DhvPF+8VZdqiRjBxsUQD3Ig/KHBd1Dk5VlozQt8MWsE9/wo2PdGU1blSdEIxfZPuiiyAc3sPieBdUFDYsf/G6qft7gXHFrOBeqResxnRwcdwLvaJ9cIeQKPg2QGrTo6qnQgi6GK9Te2pZJ4z5QMSIXAEvWeWAqSA5mJ0JWeCSq805hh4QAuM= 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 vm range is within 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 --- include/linux/mm.h | 4 ++-- mm/internal.h | 2 +- mm/memory.c | 16 +++++++--------- mm/mmap.c | 41 ++++++++++++++++++++++++----------------- 4 files changed, 34 insertions(+), 29 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index 5b866c07be42..65292eae0fda 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2310,9 +2310,9 @@ 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, +void unmap_vmas(struct mmu_gather *tlb, struct ma_state *mas, struct vm_area_struct *start_vma, unsigned long start, - unsigned long end, bool mm_wr_locked); + unsigned long end, unsigned long tree_end, bool mm_wr_locked); struct mmu_notifier_range; diff --git a/mm/internal.h b/mm/internal.h index 483add0bfb28..7d11ebe5d11c 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -109,7 +109,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); diff --git a/mm/memory.c b/mm/memory.c index 8dca54461567..a7b31f9efcc0 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -361,12 +361,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; @@ -375,7 +373,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 @@ -396,7 +394,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); @@ -1713,9 +1711,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 = { @@ -1723,7 +1722,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); @@ -1731,7 +1729,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 18971ab91633..fa388eab8074 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) { @@ -2292,18 +2292,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); @@ -2471,7 +2473,7 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, goto end_split_failed; } vma_start_write(next); - mas_set_range(&mas_detach, next->vm_start, next->vm_end - 1); + mas_set(&mas_detach, count); error = mas_store_gfp(&mas_detach, next, GFP_KERNEL); if (error) goto munmap_gather_failed; @@ -2510,17 +2512,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); @@ -2541,9 +2543,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, !unlock); + mas_set(&mas_detach, 1); + unmap_region(mm, &mas_detach, vma, prev, next, start, end, count, + !unlock); /* Statistics and freeing VMAs */ - mas_set(&mas_detach, start); + mas_set(&mas_detach, 0); remove_mt(mm, &mas_detach); validate_mm(mm); if (unlock) @@ -2863,9 +2867,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); @@ -3184,7 +3189,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); /* @@ -3194,7 +3199,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); @@ -3203,6 +3209,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 Jul 24 18:31: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: 13325233 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 E5DA9C0015E for ; Mon, 24 Jul 2023 18:32:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8A6DF900005; Mon, 24 Jul 2023 14:32:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8312E900003; Mon, 24 Jul 2023 14:32:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 598A7900005; Mon, 24 Jul 2023 14:32:38 -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 477BD900003 for ; Mon, 24 Jul 2023 14:32:38 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id E137CC0AB0 for ; Mon, 24 Jul 2023 18:32:37 +0000 (UTC) X-FDA: 81047351154.20.E66E1BA Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf10.hostedemail.com (Postfix) with ESMTP id 4B896C000C for ; Mon, 24 Jul 2023 18:32:33 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=K3EjfPfN; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=zxxPSF3Z; 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; 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=1690223554; 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=QJ/wh9XxLuYUXhIhj/5p7uOZwrX+JqWhlqmK3ikmStQ=; b=rkIDlnF/ww/NVAOEwscSm1zPr9up/DypZAyrPxeTTY6mXxNJGOTAodk8ZpBWh/oglM31MF QLpiQNz3696B0uRDJN1AaZnKuLWz/RKg9ll7Y7WvCRZiNqsV2P/w30eXRk72Ly3L0wNqrQ V1Roi2YWv4aPBM+ZTVcFnXoejxvt/cw= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1690223554; a=rsa-sha256; cv=pass; b=rkTYfTaLSNRg6kerIUIoDY+1Dls5LgBQMmxD4e9qvsJ9Wa5yCbtJgl6KUCiH3zm5FqRuuA 1UoRUtNQ2Z7KirZIPjQHFLgSv1bh6Lazp0XmxiDD93/Jt7T+r75Qscud0Kk5howgaKzgDA QAK0xTTQXu34L37B5/SY8NJpkkHezZM= ARC-Authentication-Results: i=2; imf10.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=K3EjfPfN; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=zxxPSF3Z; 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; 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 36OFOGR8028670; Mon, 24 Jul 2023 18:32:30 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=QJ/wh9XxLuYUXhIhj/5p7uOZwrX+JqWhlqmK3ikmStQ=; b=K3EjfPfNYy7HYZSTzx/9rL+uvVXS3jL0vV5DHLVNkc58XnP4hPKRHag8pKwyCi914N/O k3QKgBDg2ly/WuYPo3/CGAifNkFacK2aO5ph+CGQ46ab5CSQg3xWG7sQEWRFJYAgQj7P BcZcb5fHVsJ1PT+aGmxVgYv0NNeN1KNYtEsGpTbSXZ/mNgc8RPopVnmr+n8vxMGKtYIv fxv6YnKWs9SyCyXVyM2p7xhCAUMJusSdSC0/hdgqL9F6Msymtne1DbuCZjhjiczFyJ14 TwGc47od+loRq9YZcYLK8xxzXtfmMORwFZVJGsmNuf/lIYI3mMKjOENO+mjLLdXoY3/9 Qw== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3s05q1ufas-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:30 +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 36OHNmgS003911; Mon, 24 Jul 2023 18:32:29 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2104.outbound.protection.outlook.com [104.47.58.104]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3s05j3ss31-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UfBqMl6IG7rKHp8mBAjLV7wBcJPNl5DAApPPGZMpUePh0nceX856bamUWG6j9V4Ca4/5dHgs0qawVnxzFPh9xVphLNL0ot5KlD2jZ8ffuHz9chkqlRdIGu5jp2A7C2ZlUT6DWb9Y51ciamjtGudTj4cJipKGJ4/gmQEIALuBOb3Dz4GcQmzBbZ4+iAM4VhV5NXzlIIBk4QwdfGDnfoa5R/JJB2AZxQnq3VhnerBmnvgjlvya8PWKS+HnBi/WJBHmqCUe0cQGtzYPNxB8zsqiyabHpMEUtcBdvGFdahKMb/b9GT5PNkQXDy8UroA7ryjO2ogjwFj8FBUWE+Su42z3og== 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=QJ/wh9XxLuYUXhIhj/5p7uOZwrX+JqWhlqmK3ikmStQ=; b=UmmX9A24FhHHPqQIRyci02nYUsrXJuzwX1VCCUyeJObOsx8vNslg2pk7Bz2++YFZpHnJ862rJH4iNeWxax4XdkiegEobtsgm90zy/DdyO1/wWq4J5AYMtBcNWkvJmuKHQpoc1sAeqJO8Gof8cwWeCbG3xfZ9UAlr03nREmNe8wIdkCmHUozoDvaF8pBhcsVqhrnH+OD2XrEHkHdeEfuvd7xa3phIQWol3edIlFSPtbT6nNdprRUiWj05Jj4TVipztVUDdFv2lWFPX0PMhcbtfijVa4PKevF0EdGq5MrIOtA/6Hv0VuxLEJSbjPDF2NUGkT3OMdcVZ9yVpzdBaxhXXA== 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=QJ/wh9XxLuYUXhIhj/5p7uOZwrX+JqWhlqmK3ikmStQ=; b=zxxPSF3Za1/mSKm1G5KgKZ+Wf2VIqGfD82cF0QANDdzFTrJICygbNYOXINyqrelJqIa1qkNvznzoYszLjKv1Vi/a0A8kS7RZtnnVAcTlYWYGHO31oyWgWj4uIR7mZ02oy7WAnZOhfH09gQnzr/8Cu2zBAgw1evMPbT/hfaCHDI8= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DS7PR10MB5376.namprd10.prod.outlook.com (2603:10b6:5:3a9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.32; Mon, 24 Jul 2023 18:32:27 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35%3]) with mapi id 15.20.6609.031; Mon, 24 Jul 2023 18:32:27 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Suren Baghdasaryan , "Liam R. Howlett" Subject: [PATCH v3 04/15] mm: Remove prev check from do_vmi_align_munmap() Date: Mon, 24 Jul 2023 14:31:46 -0400 Message-Id: <20230724183157.3939892-5-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230724183157.3939892-1-Liam.Howlett@oracle.com> References: <20230724183157.3939892-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0036.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:82::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_|DS7PR10MB5376:EE_ X-MS-Office365-Filtering-Correlation-Id: 189598c9-01b3-4e06-af34-08db8c74553b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zjQnAfq1MWe6+nxUTAHsJSjIEz+Eiesc0548WK/jwSk3/3CQoROUmE3YMEkQV+uv6hJ4oaIyJiq8ytCaiUuK4fQ60J752UXQ+fLPr9DMHuNOOX3hXpAeI6RjY6plJq7vpljkzx8X5LIIVsqBqYGfD7SaYMMfDln+lLtnZuYjnt0RAz5r4aeQ5hY8EEsqhR7c0vyyEoy7eWR8cQUr2cBdLw3x9C+BZjnjKOMmieS4v+3ikKMvpzncDfzi/yxAm+Gv0MupL67o1Ok/oIknthVm0ZyybQX3pB2cCjHyArc28cW+CusXrmyOrSe89g0jsuXc31vSMKTe58zGcqB6Qi5DPW8/OButjVDn8TjjHRZBeheC6ZLnTh8WLQpaaTzmlvQa+0vD7u7luvGkH+hirmL8Q3Ead/Y0vyR8BCmXrZg7ltsuvFLHwDdB1r/4X+E6ZG+Umb7Q4AFS9dO668DMPgi1gl2FQU6NljWfOApxF5QjzRozThyohLKwp2kMkG4c0GLvMWC/h5mVGDQKBWRVBrLp25+KSOyLJx8Al9JLGL99ZBk6pig4PUWx6MHcJEkMIbNo 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)(39860400002)(136003)(376002)(366004)(396003)(451199021)(6506007)(26005)(1076003)(186003)(36756003)(5660300002)(8936002)(8676002)(4744005)(2906002)(38100700002)(107886003)(86362001)(6666004)(6486002)(66476007)(66556008)(6512007)(66946007)(83380400001)(54906003)(478600001)(41300700001)(2616005)(4326008)(6916009)(316002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: DYCvg3uEXxO40XZ/pJBSTPdOdVByKknCZCqCvvot9zYey1o0KpiLE9dtWvg6HqPQPtSZ4v0iz2QC3053zTOjfaZpafBeaFgjzvYyect/FzDixugDY2cKP0VnoSReucP99daspPa8KQWrhOCoubfXlFNtrTL8ViZxeo/SCabq5FDAPO+GRic1QH9m6owJtoteMFnghEw3IwZnB1Jg6J7GwUStzCf+YV2T/HF1DkWmiyRJSgbGxFtnfbz9hWeJ3XyyUlqfaRpl6qu9smpZ/v1rwbwfZdcmNhQjd9YWAie2lJ1yYZ6AO3jgE7xbYaMl+BY6SSkxFIGTJba8mtSVqc49rwQIK/9Uzt5NfZGgaF//EofNw8tMfVE+3k8hoVnLeWAJ5ygOfVbCcs2IYmdmhhAtoKAmMhNxQny4B1T7x8n3zhCg+j6rHHNjhYPntFdHMEDMVL/KOIYFLuVmiHJ5SoQ1m0VLH3MJ5mztSTc+26CGc4ZdH0jmNd2J/ZbNd7pI85UPVJ0wQH5SVBAUmIRzZdbyp62ZWSw/i2Gs2wjB6+t0VHHW5iIslLlnicNC+R14jphrxAma0lN7dCVm3KhXR+E2+fs6GsAQudu7iLmrzonuPEok0r0I8e0A9NENcbPbVyjbWgN5eq1y8xYTieAxNCJ90BhdNwWAPxQNbkl9hR8Xl/R6hkGr38RIEUo6D+nsWpW8AnON+lUZ80TIBQro6z8qEhYuf+gMzfrodV/G4e90Pr6UapVp7aWTzvrV5rf/ZrjiLWZ6jevDntdfP4VX7FD72QYeqomgn4+YiaUTFxz89xdRYBeJccZXa5tyM2kjIxT8D7OlLQT7dueyfUSTxfVLBQqPLDycYN2wukhrmwY0yLcSLNW+lSkbQxvSgP6ki3RukxH1ziAQVjz2OUsABex+LCuJ6wS/RB0ynT/uF29fgikRV5VDPNMC1pE68natWAOgn3a+cIKZN8jeRDoxpTM21iOC7iROb7qOyWqeymGjOckRQk/IGUvuhrwtXkp9vVUmmEAC/ZIzqmxwqH5EKLuQpV+znch66iJagvJ/JbqfSueb9TvpEdLz+HnqmWIZNclrcidg+5Yx5hhzpTIDWh80yHPjOa3oTGhtVb3F7OoL8rXWJL9R61s5FShTGHuspcGXBNhroF3SO/kqFIiKQ/EDxk0ML2PG3Ldn8f73w7DQ9ioeGHRE5vCg3+lSIAkZswWDr2NpxjeycHn78zVi/93b4vNkLTdgDj0sgXHdwrso3VAeB6171YHxghb2wpzQu30ith0YSJkTJw4pmBU+P2fGU6CnTyYfl0ExEmkjNtZOtXnXAtwcCtM+FyJVhkD8+9xe0363lvBub9Ra8pQX96gIhLEXWageahdrSWoAmeInmQPfYcHpWyMpSm7U1SQ4zFeLKah1vdgKdYhjeBQM4px6oHI70l0uyPTIcgt8pZFieUn8mCvuWFrF6VW2u05TSy58hztq1j/GkxoSF0nRWBlHbFRV10rMaFUJHYrIFsbUBhBHyZBU1WKAJEv2aTc2yO2Yp8lHWUXBZahOLt+ScPigJVVbqDabvCFF9Uwfv/n7VCjIjcYhwPWZp8LCa1s7vhkNL4kn6RWxiZG5eC74j6vcLQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: kyNxLnYp+oaegKlV/zldtfKvI9DqBU/ZZS2L44QamqrDGQdJtRTHkcC81cmaO5Ev0+GQGyg2j3OpQXaqm5/iPtlcOrN0eY2uzGZPnPnUIzjFNLeMwBHaztU2jMDcEkD+U9daErED+0RtcJElE9MgV6nBu0IkXSCocazdGiamsnUixxBvREWOqnhrWVXK2na93tYnYqjfxXgpmUIso4VUysYbHW12p587xebWHk5Zqp9VdA6KLEJ57eYqXsjCD8awr1obNHnfexp81LBrnl+OASOLSOmb+b7r3rzsESD5DOEOxw+m4yTnQg1E4ssJh9Byf6aq+sox0/9fn6wOdhwchldJkrp+WSUvvnB8djEAM2REi4VYN1kXxtgo32PoApqhC+Dt9b6QgEEGlZPhtRkjvG1epFnDi/MtR8mtqAxD5ipHaXYzYo6xPXvteI5M1SJ82cBA4WupP+rBXfFfBIFW4GhPwJAndMVOBVWHa444GeEU7Jq1fSTcoPUadf78yqWYvVTlp2BxLt1fg0dC0n6QPSqX4+JG/QNkbG/0fCjrbXulA23TWS7d1QaQ3v/M6fdiaTJ49WWxAQblOL4TdYVli3owE6kqgpv+XEoR6BrUab/Fjkqd9tE4KtYytq1hKjc27n9f9FgE59Am1srjqEdK0MIytBhe+1S5szpYU9QhEYVD5I46cwt16T08eUrOanK6d60B9sgz84TFJ1GiE3pV3d3t7fEUiqbBgZOjG6z2fZbxNq+Kr55HCfO9ERZ4l3pgcL94xisdJzfsU7u3Mkb9x/Xh5yTRTOFT+uDOEoC2UisXzvZ6JsuRTIHzoEs1AnrIe5jPyCHtXBfS7E8pUZ13Z3AaynSz0V9fU5p0jwbZLuGwBYjuiq30bpZhPW5EA8zk/G/w2dQeq66A3oYycGm1evmqmgWYe1m3XaqhEUKNgJ4= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 189598c9-01b3-4e06-af34-08db8c74553b X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2023 18:32:27.8250 (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: E8lwNTpgv+6X/5RpewHNe12+/TPiXPg2b3hHP2Xa9dFlP8NorYPHhQAaWH+6z3+xClf6U6rOiwPyJFe+0ofCjg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5376 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-24_14,2023-07-24_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 adultscore=0 phishscore=0 bulkscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307240164 X-Proofpoint-GUID: g4tisq40P4vHYtaworXoWym7MvP4Yr5u X-Proofpoint-ORIG-GUID: g4tisq40P4vHYtaworXoWym7MvP4Yr5u X-Rspamd-Queue-Id: 4B896C000C X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: 9bx4m44idwbem8g4hibjpsc1s99aacx8 X-HE-Tag: 1690223553-250601 X-HE-Meta: U2FsdGVkX19Ypu140A10mB5hXBz0Dp7+WH4v8OnrarsPSM2zPdYsV4d7iVvWgW58iOL8BXKuVWChHhXrRLQcmtu2lHU5ATWp0+3PKKEtYKd6yMXujJlbxpuFxNARrNcVT+CTJBeArn5oDI6IdOaHxlp9yu0RNVsJM4tASB4hb/NhRo3XKFt92ne80ZhVekE/cKi51aIgzN4ME07N/kdyBTyV3KjYXy+TgXXkQhzgWwhcqBticDLMz7t5dPaaqY1bMg3g3hDpSKq+gEQryaZOFUWX68oHr1hFjf1FVRRfxsoH+4ouDLJ0OvNl8Yo0pFQTi3uR6ObY4tRuyqo8hvkwfmN3CGhlIVEsobB1UquDN+QXg0hfAV+g36XMcSyKWG0OOHLPfYXApk2voWKjMkCoOT2tWVwkAqZaKa2nxW1ZX3FirN3e+UtE93/vPtEgQpPVn0s3QG/IoIYggGK5fS1PsVCkQ6bwORgsrUMleN6odK7WMoCP7MsC4RAScDTWgr0yp3B2UdMNfqGqc/8kWK1zgtQBPgfsXt8tRvvS/LDM0CqXgmydvulQ6Pel9oAOG66EkI1E6gm3fBYTxVMIWUvvtccU8JPPfhDl+vcNnRYmxrag1RnmNozCKBN7UX7gJ2gUkFii5UtaogNmlpSK6nCn24gNW4HtPeE1hBW478R47AonZcS6edwTjA702mK4Bh6W1H+lefYENxA/SV8OoPx1JXHYL7G4+9qiJd7pmSRX4xzYaWBXW7lzyjqipVurqtppUerNJo+5k3QCsOQimJcS7/hlvPDdO2N17ZjiHs9UlZVvGBkF4K4kxXP5j2EPzNyHVpFJrdJEDhe4+3cpwdJo4Luhd2ogcZxxKgkeIyU/R90+mZTrWscFr3Ci9om+c1jkuVDVWt67BT2RF9JJ2KPKlRxUWH9x3qvpS1WDg3mRunvcAy7rxwMnuiyPNU/eoOv5yvPrjbU0xWbi6m2aTxf 6tCtf/U2 /Nqn9A18jZrWPuafkZrcWbzhsJ9CmbrVrLns4IfVnwXUqv+NAZal5d0cJdPDIb0ge0EHhrijgUfxkcxSmQj64fScT64q5X6f4qonluuAovT3tDoVncHpBpJL2lpk39hCAuZas6fwQQxpU/aZiutjBPX85QyF3746W+NlmhRp3pQiWdJZAB61Br7z6NS2IjIZjkHiMzFsu+qkDS4UxSK997Zm3uBGh/BdPrCimJqKr1ARhc7Kq4wID1MTlXPJ+MRxE/hyBbmX9uZDbU9UV+g0aL8QJuM+bgTvFDPyIBehe0bRPQMEh6k1GrdCzfqw/1HftCfZxF561JK7KKoeE3uGJ6WsiscGr4Bb3uz4TFw4Eb4/MFv68ocKSswPeVfruJWD+jwtlEvSd6qYy6ge0a3/Ai3um9XTWpHHoP0XcKqn84F1zxoE= 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 fa388eab8074..d4056d1de7fa 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2458,8 +2458,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 Jul 24 18:31: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: 13325234 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 DF57AC00528 for ; Mon, 24 Jul 2023 18:32:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 684A0900003; Mon, 24 Jul 2023 14:32:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 60E36280001; Mon, 24 Jul 2023 14:32:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 41220900006; Mon, 24 Jul 2023 14:32:40 -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 27F30900003 for ; Mon, 24 Jul 2023 14:32:40 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 02D1D140635 for ; Mon, 24 Jul 2023 18:32:39 +0000 (UTC) X-FDA: 81047351280.30.6B5BCB8 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf14.hostedemail.com (Postfix) with ESMTP id 59D2F100010 for ; Mon, 24 Jul 2023 18:32:36 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=qkOwK1v6; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="CuYaP8/3"; spf=pass (imf14.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=1690223556; 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=+b/IhjAnSSBGrrvE7yOCPKQj4CvXkErXLZvpKp+qoRw=; b=j510rj9N8B1hzYGQN+qomG9w2EtI38wpJBtUwp3Zfi4TlQ3vjNaFectziJGy8frAXDZyZq 6rnClzjsyJ3kDk9j0ULzc+gbRp5Bx78FxBJN+OwLbZkz8QSwVUcZFNP3AWjHTOn4Nf0w83 ZMRYPoYnXJllPUcX7PEU9PoGDSS5GCY= ARC-Authentication-Results: i=2; imf14.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=qkOwK1v6; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="CuYaP8/3"; spf=pass (imf14.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=1690223556; a=rsa-sha256; cv=pass; b=joAFvme+TKaM4B1jwXARGgpQ/rTrPb7o9w3SV1G83UrMZnPsMzNvZ/z1ZSLvsakX3qPMZO 6E22HkzOh/TXfRMUwTTsyMSxnqBPfG+fKiGpOHlz2RgJx3fwAQ3QfQIVBHp7IRSN0foufU wDvSMb1KuLKohCkbrC5Dl8FYbwlgjoA= 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 36OFOKWI006034; Mon, 24 Jul 2023 18:32: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=+b/IhjAnSSBGrrvE7yOCPKQj4CvXkErXLZvpKp+qoRw=; b=qkOwK1v6J1GDHLaKLuHrIetVl+CBnG7s4F3XRreRyO4vgUzBJ12i62RHNvs1Fi9PfXjs VN41zJBR4IVBDx4BTlqKEebWqraGHMkwdBjwbG2Nv3gFORHobDbhR/YcZJKD20gOK2pJ 8PGZ+xs4q9qaDheml4XJqth3ZY+7rZ3bIM+fmU9Ffr+KN6gOWntH9Nfd4nqNa/Leycyt jIz29uUPhjGiYgD6VWuGT4Jj31oO+OiNpIFOVIvs3olO5WHRhzQEASpt5HR/JiVWMD1g amJb8A5xhXflufMGiLBBnLzvrTWb/NyMQRrV6LYCFXB2vuzfowbpiaOcrwjU1b9zMwg+ Rw== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3s061c3fu9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:33 +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 36OH10qe003802; Mon, 24 Jul 2023 18:32:32 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2174.outbound.protection.outlook.com [104.47.55.174]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3s05j3ss50-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mjtU0MJV3srunVFj9jiwuZ+yG7XIfBey/V8ZR1RdTwHTJafQ44oDuk8SGAMk/WraW1qg6dyRHA0vYi5YfCNs9Zz1e3UaNAm6yBxSwMWCBwoLdUWDBwBvHWt/WLhILax4RA69kZn55hdm6n499J8JyLgGrXxLsZSvtt68+YiTS44naYx/VwnmGmzeytaegglNkKCy1aD9nKEVTvI15stLyOOMpxkFRuun4X2n4KKEB7r1O0z9G0SiaOmLLnt+0qYKMSSSoyNe9fHAOJtyCEd9C/mdTl0FiMcrJ7jLHA12QWorKtiY/NKWQQOqLfZap8iEn3MQblC8sXTfeEEk0eGTJw== 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=+b/IhjAnSSBGrrvE7yOCPKQj4CvXkErXLZvpKp+qoRw=; b=GEeFXwXGOKbV1OVxvSSM09smmqjkhCWcaXy/K9hz9eEzzUt/xyFoLjtPgjye6fmAWMJS9Mvc/qIkg7AOveWwHpTzcCnwtWKmJr3XkOk5eLWcz/lhmAy9X+GHjW2Nwpk9iPKWW5Mdw2qABt/MiAMkGrgZdp79SGypI595fsewjPiPk6FQS4+5YdJeMEwb4QdTzpWfuv1ZondcFWDAuBwcepjIqiyd2JuFp9r3Ld+Q2XuvOAR7O73XpJSnZlAJAKOxmnK1/gU57BLCALzEuY05K65gCop24I0+es2DCRCW9N2o2VhTMpZGEe3zqz7c8wOfxl/Vdws3Jn31l9sraoVbSw== 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=+b/IhjAnSSBGrrvE7yOCPKQj4CvXkErXLZvpKp+qoRw=; b=CuYaP8/38yBxWuqGcgnKVo+oeiJZZbbWQ1hFJuy+q2bDjl4PIaU5mLkz++1PY5jhe+HZQmCldnJ1BnRxkZpoJ5gPQFK6CcMVPdzkSdvcGqxSxwM1uwL2PTcfhOWQOZ6UQCLpP2y5urF5pwFMDx9kYMnEO9S4T3ehZEeMldNIkl8= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by MW4PR10MB6654.namprd10.prod.outlook.com (2603:10b6:303:22f::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.30; Mon, 24 Jul 2023 18:32:30 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35%3]) with mapi id 15.20.6609.031; Mon, 24 Jul 2023 18:32:30 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Suren Baghdasaryan , "Liam R. Howlett" Subject: [PATCH v3 05/15] maple_tree: Introduce __mas_set_range() Date: Mon, 24 Jul 2023 14:31:47 -0400 Message-Id: <20230724183157.3939892-6-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230724183157.3939892-1-Liam.Howlett@oracle.com> References: <20230724183157.3939892-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0045.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:82::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_|MW4PR10MB6654:EE_ X-MS-Office365-Filtering-Correlation-Id: 59226cbc-9eba-47e3-852d-08db8c74569c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: T2GY8HtboCxe+F6sV2wWof8DzkbrW5/kOZOaW1+n9zw7aO1T/nmpKYmKMDfW9ZACl6WmwW5p0NDPz6RSH8Z4oaYdWkHpUdtcoT0fB6fdH/IV9jx/j/ovqiWGqD4vJ/3vhJYbOYz5c0Sspipgv7pPTe/Ilk2ozMH/PuLEP+aCude2tzXIXDiN18Dc5SEk8L7D7bsY8qAn0kO58UVclnUCAyw4bTffCbTkcQk7U/oSUhm7ldZ9fdLkZc1To1whAU+6gxIL+NIun6Cmt80YxLRRdEvC6hCk9gUxtQfSvwZf+1q8+GPjAlL+2PjLz9uaeqyR+ZlC8fJ1Q8cDq36SCdQ0a/MAwjfgd20mMzyhtnKxEbidEiZx3sZo+cCcYeIJ8sqoU6UTpXDhmeIdQr04229cy5tbHqsaU22ssBya5H1cDUtidrsvexjRQc9WBJHNbIVnK3IWEaUaCu+S/vDHBeLOL1XzUsjyKKQBYYc+0YfXlBVInRJDvv71CBWmOkm5S/6rHeqtfJqdInbVxIW4fyWClVblLw4/49stJoGORDUcu9rCWACjRELUZw3gZR9VZLvF 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)(396003)(39860400002)(376002)(136003)(366004)(451199021)(2906002)(66946007)(66476007)(66556008)(6916009)(6666004)(478600001)(6486002)(6512007)(86362001)(54906003)(83380400001)(36756003)(186003)(2616005)(1076003)(107886003)(6506007)(38100700002)(26005)(4326008)(41300700001)(8936002)(8676002)(5660300002)(316002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 54bv0ZpqulL8lPt8nR4t84VySGOiEFs/TZv30x9h5JZyhHzG8I2exk35X3dK75SKdpGov6Y81pA60aEakzl+BwVl+/c3vbqPplVXOOB4m+gZ2pJUZDakFiXEqS4dHAlLhRlIjs9aMdeZ+tHEs1nDi+iCQXJ08e1CD6vldcihD4mwbPPminHqCQg6ecOZwA8JAV04GNn4EyfGYuNP7ocbT3cWJiQL0o/GwwHzX9E1+Uu9/JeTsbw8ibVtoi3JK+cIKZcmM0ru87MQ/KlgRjWXGySrh9ndFCXhl7//lUkatYrYJF0QUiadC7XnkJdLvQJmNzJk3Vc9MOJLdw7xZMNf8C4RMZrF574ZxihgS9aoGCjL8bpAKKXHJ0JHl/yrhBYt/6A2D2O8nHdSEtDBGYhUk3dfHKWqmIXTTi4VnY+r4AwnpLW7RyTHkXxkOeLn+mxdShU5E7xS1FG+McnXEVgg9p8TvNZKyPZXidzjkuJ846w2wMHZD9vUm02pilvp6GcvkJprziaucueC0/OImlf/Exn+K2aYs+Xm6KkylPbUMjjUUvimGyqSv3/jZblWRw7T9GA1BiH6AkpfntMQWtX9Hxj8YWKH4a7ATsLzb7jGHXpFdqAweQrlUQp/3Qmb7f4hPGZThQoPqGIYDyMdlmOBqr6yaNaHnBaP1D2GV94G+3ZeXwv210yBgOYU3JkGGRurPMuvQnyMUDbbhvehueTOfEWWv1K5QzTkv3gh+UMr4EF44ggJMoamEnVV4XLxdCh13/3s0DfyZV+3YLV83UF02oFTjqGv+2CXnysH6kSmpcFFaUt7tRCWu2Q64lRwYPvA/3y48WB80CFisD9K8erC145qAUjNVedHslS9VTGz830OjAPq6WtPoovPQbBImipkgs0ZXAt44fTyDj25z63fXsHgJHM66ekNLk/8BfeC9Os7sbJpc3nRAs3QqxMVpyU4qf65HjEhZHjmB80KfGI5VTopK7foNUaOyRSbHGV1iX2zeSv7XsZzZWhW7pSvuVXiEOAuKBV7rJGCF4E1Pho5jg/KK43mWjcSdLOAVf2iW2VvkqJDW1DE7YTejkhPDfVuzAeM207jv1to7giziOb/5NNUh3OB/utpqf0fTe/TfMizZTeZUREw+b8kfSGFzHzgNlOX3L/Bb5CNVpfkvcoC92LdoaSGB/Ud6PnWrewfPF/3h4ohu6TgRKT9KSDs3DZ3NgnC3nOYyYSBPBA1PoNyyzeQeBlqkZctjVDNkcNwfW0/SHUl8jpZT8pLLaOmpm27bt7UTaDzDspGqF2x4lNwb5r27mIb3ynK4e+jyRDshK6LaqcK1bg6dHArjiU2Qu0fyz7dOAkhYYg5TBzJ74OjAOyk8eSAYTc9PmcIvf491aOz8TqbR3pZ6hqLHMsIw1SzEZswlfhH2m8lSz+hJWzIy/vMA2vPG8tSX7eXXuiQzwpPu3qpMMmEc23vOXQFqFHIZ7Aca1mlNez/ryI4X4nzkiQ7DeJHZd4+t5rWrH6tQHC22QBgCxyWc/A9KMkJaPtdQRbZXXOS5sQpVb41VshUkAuvPqaFX21sfIHyPJa96VeCaclNdrzbo5bLUfofrFe2Eixp0xPXhFFx5ED/KW149Q== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Rwy06YRcQqlxjsx6XYcai3rjXwnTT4pj6ut7UYiPEPTDbb6C26ilR0G2s96zT79DhLzWacIwPULGXcmurMt9C8O6QvrE/LVjP4HpXWFE0chaBnjBpuh2ZG2Q6Edj738iC5irt7RMA7nHRYcJgCChSLfV0H86inuS+++eB3TzGyj2993U/sPpRAeoiyP7yFPmKm+WpQu8V4N3blhTFFhPQj4ktoZm8GknKl5Od8dLHOmkJh3kff9P3U8f6ezMsbTCQpSj+elWMDnGdAim1X49QTJ1YAMvch5WjiIPXMzTm23awqmYzPYZtLPBXovV5QN1ZMICMfElLtZg+Siac11+zqD2ttiIDPkw3l3irm8dJmfB39/x7fEf3xbt9A5UjvBXY56FlxlxcSCpVEJp/Jrs6AAqazHzk1ahi8Jl+hJqB5HfQw8V48c77A1g/r/jC67LZXTEh4sl9SKddbt1NkparUvhJXtgakzqUeUiHfiPqmpDsYWkG469daV9C2RKdw0spSCdoG0MVXw4Rs4X7YqLqjaI9PK0t9Ub9/0tYgrC7ZQxm4ajvBqFU24S4LQv314Ei9TM9vVDab/3ZIyHp16RbZ831alc3on9CxN6xhBXXDDFJ2pCq55zzrNS3BrOKG3L3wNxeGR4lwnJXaMXSqdcbO4MsUsZteOrLwCYyvN33xggi0D3tcKBi5uQQNSxj1n/RivdfuA/kr+J4GOkaIX6LcKmVoi18dIfAWYa5UZBz7WjU4ZL/x5eV03azE0dJfic2FGDcgHSepFn0CqDSQLANHbIGgGgANOVAjPYgKAul8nkKgKCU0VBB9BHEwUdI/bfb5Gxp+sTSkHurI3EFvPhZksm+iCIBbe93xfPpnkxArS/FdIosyICYBJb80R299PcPDeJb38nLfcSsUA7cfQupp/4I1NCFG8KvXNvM73RUq4= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 59226cbc-9eba-47e3-852d-08db8c74569c X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2023 18:32:30.1506 (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: fBXPSdJ31dzEjTMa3gTbeR9PFXmoG8WRaXGBRuTr25wt/sOor8RSDb481SjoPumg0U/qXOPRSpE5KNIkI1gWbg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR10MB6654 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-24_14,2023-07-24_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 adultscore=0 phishscore=0 bulkscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307240164 X-Proofpoint-ORIG-GUID: 7pHkk0TJFlYs_Ilq3oHAXM4N5C7IBUVY X-Proofpoint-GUID: 7pHkk0TJFlYs_Ilq3oHAXM4N5C7IBUVY X-Rspamd-Queue-Id: 59D2F100010 X-Rspam-User: X-Stat-Signature: bopcfkwspsjqee9nke9ip53r86kh9snt X-Rspamd-Server: rspam01 X-HE-Tag: 1690223556-322758 X-HE-Meta: U2FsdGVkX18J5A1vDFUlg9vgRAg2UWjsJh2am0noxuhx6tloHbUpzJ6GQ6r/+yghJo0WZDk0iHPgUT9p2UkTA8rek52Z013osuX5MHnx2gEAp20oYfcsSZB8gsUiv1XBUqKTXyA0xAFsiUPjvhP9QwMV9mhCcqbYYGEMF0Kd2MrHxAdgeC6fiFZ1QBiuRvni1/ZitSnRCOuMPC/4B6+B5+4VTDVfBJpawr5RsMVJmkLjYWBkMMQznvP6FEbWRl+OL7VkHOM9rqRSL5djnjQIZikw8B8aAdJ1skIxba1Iixt8bnVrOFlvt0TnP06uhbB/s6ZsWJgen4Q/Yho++GMMul9k43XBBZNoH+SnK1KULUs8ysP0NntsAFCq4pBQbqt9rS08pc5ddcmEdOdEmz78tbJkYFWGdmRCATDDXynSrduCNB/CkyTUwHBLtb33GTAYE2ccxbJFacIu7oI6esAPQ2IqKA5AWYSqcGeXfEdreq4vE3o19ZO41FbXVRFm2jaJgrJ2zuD2RBcUK6DZCvzQTz6FyJoxlNXzDKsIgD+lM5v8VYTKcZn6U7v8AMxt8O17J2odAUndwBedn9zyxbirAehUyaSstLh+taVS1hlbL6hPKzgvAZ/ZpBXLXyyU+mSpJw7Be8zbhp5jno1KrcBOVdkr+Vu68V58p7UzuON8PTOI/tAobVgMPsia8/hon5fNMPNWbdgkA+5fHZbjYIXx+lmX75BoJecjve7bIXStBWyGrsEEwJ6F596niPxS/O1PVrOOWiiNrcbMnCRaEfig5MSW0gOsdPaQ0Ab+PdDheF6lggjoT0JLdKP6GCLLESOg1USAUdTIaMgrjGFiIDQH04qcC353kr+WOGFQ7XzVPYJI5ANTPPeRH+BbGiB3Thp5UFgruqE6I/QuCTRuGusflJTHsiQ/DaRUD7Qd70CpFq39mhXlUsKQ6zFfKiGpOJqINlMgmKwTlAqzk1xJDab WcQEPMZJ FlA7EKtlnZPbNnj9TwbvNOdBp5BC06yucdMLJbQCYJnrN2jpzbvWqZo4kismDg/q7ummUuRkZswasouAiJ5qDGplEg9dkIrB9LnY7fsYT9Pctgw86A2NRuk8F0DnF43frX/KzQjmWQhbUIEHV1WH7IFMkNejRyxac2M5Xp63E2Fse5mtYGAeV2t2nxafHPCqcF4zLwwRaVpYRvewoXNCHdg2glWp6AbW2Q3VmNkfxe89dFzL3SVqWLlwzg79RLevomKi+q9is+mXBphJREL++pf6yUNE6NTGHo1bXSok9GLNIIHb8MaWMfWUikoVsl5eI+8vf0kwqlMkdGfqi5otHzKwO+V4zqkAvMx0H9Wir5oGR8ppEHVjntjLH+5+bOtoBD31Ghz3u4NGjiyabMVVVCJL7Pwug6D19Z6qzr1/TGselCy0= 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 949f911bf955..e10db656e31c 100644 --- a/include/linux/maple_tree.h +++ b/include/linux/maple_tree.h @@ -539,6 +539,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. @@ -553,9 +569,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 Jul 24 18:31: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: 13325235 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 98E19EB64DD for ; Mon, 24 Jul 2023 18:32:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3294B280002; Mon, 24 Jul 2023 14:32:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 26364280001; Mon, 24 Jul 2023 14:32:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 090CA280002; Mon, 24 Jul 2023 14:32:44 -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 E77AF280001 for ; Mon, 24 Jul 2023 14:32:43 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id BE5B5160A74 for ; Mon, 24 Jul 2023 18:32:42 +0000 (UTC) X-FDA: 81047351364.09.4FEA36B Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf08.hostedemail.com (Postfix) with ESMTP id E7FAF160017 for ; Mon, 24 Jul 2023 18:32:38 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=3XPi5R94; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=hqaF3YuI; spf=pass (imf08.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=1690223559; 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=9J/Td+3AHwaHr2JXIHHZLSKTigrpnJ4n7Wkr5132wIs=; b=tSlutgeGoh9txP484oHWdtzJ6BZJcjlAskJFcrsqQm0r9f0zQxW3Mer/YToBqiBmE6rAr9 M14IZ8aM+T/fkX+0/CnJ7W+oUdC7Bo994tkQ2q6uzs9oaewzVuKgfVyEACEOzJdQeXWyCd InmZnaQGbigHtf3bUIwDY6a+rrAtSfY= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1690223559; a=rsa-sha256; cv=pass; b=f11zWNCwliUchwWcQqUwpx/md1BBuY5KNconqvp8/wBQ8vHpyYEdv6EptGOKTUiCLNBH3M 1kypMPyKAVLJzh6yB0tJEdANyGn/MKsu/Do+NUjqCfcovvYmPc1ICvmAdmj4iU3EHBm9IK EEI3gR3CzvqD/sO7N+8+P+hsHo2ZJRc= ARC-Authentication-Results: i=2; imf08.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=3XPi5R94; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=hqaF3YuI; spf=pass (imf08.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 (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36OFO8TM011878; Mon, 24 Jul 2023 18:32:36 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=9J/Td+3AHwaHr2JXIHHZLSKTigrpnJ4n7Wkr5132wIs=; b=3XPi5R94cmrREWsB4+of38p99DGVlIBQ9HShdSFiQSVnfXqugyRgK7YK6SFr1+iD7O4b QLIrBRMsBO/dWLVa+ADo8RDdiTa9vkEfx2flmhrftUnVIu9P0sHr4AkqG/ZX2TrYGu6X 1u71hyrcYBukLvGQUymp4nIuRggH5qUvaHhvrTCD40EieQd7WLUutXKBVWnijgNPbYx1 7Zle6B8o7HY3NFwCsaxeQAQIUz9YvJLNfeS/FbpIa1a4tS09R3MFiSU437tvzpFgZLVQ f64dZnvtBbgmLM/k2k4kuOG8MY7Aj/ZlSe/3WJdgzQBUQgdkk2dg5OmU1mnhCkt0TYei KQ== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3s07nukcsg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:36 +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 36OIDuuf029061; Mon, 24 Jul 2023 18:32:34 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2172.outbound.protection.outlook.com [104.47.55.172]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3s05ja2a2x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:34 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=L87b1/eKSRX1WrnOY5vId3qaOj7AnnYCL5mYEAp4CDUeKsUFGCzPVR6h83ExRswqA1oE8hsKZfwKvF1/gvbOhiLKvbU6GYAl/NvNtvDnx9T7yiuyQSjLekGvRMBznNQBTXZIn6lbvwSPtjIGDMsaZY5cYmtI1FnScF15g5GtITa5di3/UscOfvExIm2ECnwzMHHKfp5tVN9xixdf/sGoKDWcteIzNLz8zfS/2tBcavAYRNRRXau/xWJSIo4f6nSL7OSjkM9NWcF1yzBytngAZuhykLuD7MvamgdFcLpw1TDOI1LvhKC7NPIicRjamP0ty+8dpanZYmsqD9SEIsTIhg== 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=9J/Td+3AHwaHr2JXIHHZLSKTigrpnJ4n7Wkr5132wIs=; b=ii/hsRlA0QpTa9/dG8UF4QgFVReXxD3oM2R4a2ZgCM9D6O82zdIkEcUAywwmCcTe4SbRXkXyFFEiotv2LoN8Xa8gFchxStB63g5WN5AfxYDqDK/nSYggmmegw0lZ2dBBx5tUr0pJigMg6bpwYWvrIPm16+MkImyD1nHtYEcmh6mXDFbpVg/ciB2uFF1XbG4Lga4jBuNJa2L4H+kq8h45By1R6zsRT/1p7Rt+eech8YcU6OlRNy3dfen0qXLBpcJYpVuVPti8ChovdxIz649tPmr5lLFzCREn1ouOSdWG72DFkv2kOsSEFyqbvt45ilAInmebXjnVP3l6bRp363A0Yw== 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=9J/Td+3AHwaHr2JXIHHZLSKTigrpnJ4n7Wkr5132wIs=; b=hqaF3YuI2kccDftnRK9FhCpEyd8NA9sRxpZojsbxWsHlXH/R161i8fQpzgW1wL/y3ZNHImiNR5Z15cPm3uQuGBH89wwCxS/ZNfC+jW4FvTIvWfWlHjGEhIykb8ODoyKN088Kzh9OMmuLrGmZibcVdQSQYM+vq3u1jLlSm2+bCZE= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by MW4PR10MB6654.namprd10.prod.outlook.com (2603:10b6:303:22f::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.30; Mon, 24 Jul 2023 18:32:33 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35%3]) with mapi id 15.20.6609.031; Mon, 24 Jul 2023 18:32:32 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Suren Baghdasaryan , "Liam R. Howlett" Subject: [PATCH v3 06/15] mm: Remove re-walk from mmap_region() Date: Mon, 24 Jul 2023 14:31:48 -0400 Message-Id: <20230724183157.3939892-7-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230724183157.3939892-1-Liam.Howlett@oracle.com> References: <20230724183157.3939892-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0004.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:d1::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_|MW4PR10MB6654:EE_ X-MS-Office365-Filtering-Correlation-Id: fce2ecc1-76bf-4f54-e061-08db8c745844 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: BZrzR6iMPNFOvjlACw4Hu5KFAQYqMo2H8dXaIhG5OnL5d+vU82QkHHz2BKnuvl2WXmfy6mfuMMT6TV0eCAzRAIPqrmNP2HaJvPlXBjT7O8WEVJXblkHq+mXII3P9VT4rlP5e+T0eJDO24eeGjfvDZ5lG1Y56P9oAKk/tVeK/OSn2h8Cbn092UTguTax/7iYLvrLKDNrmQ5louyTvId1x/gLkJJuD0K+2OuLUkO+Yf8/n20j1a+eAnA3z2tkCaCU2y3piesIQW5eViPdszNwWWe1Y7KWW2hA7zbyoF/lXlCLHNZBi6L6OcpLqyvZpMbojUXTpXa5hHflztCz146Lj1eSMXspipwFFTbkLHdFR2GjzlSK9cCmD5xGP4SfwPMF6u2zVsqeoWBhC14ycwY/T1eABAtCZI7UvDuuIo6fKY42WvE6QaJ2/wp1qmxJVM1te2Mhyx9I6p76/HCaI4q8qvJA5DFbR7nK3NldAEYFAGud/VjpkMGbzlfICA9XLpc6nRPiBb8Jqa6cs9KRLNdtmrOs6tD+q5ebULMN6BrDqWs6Bu/Mm9m5SeTH5pgcocUDb 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)(396003)(39860400002)(376002)(136003)(366004)(451199021)(2906002)(66946007)(66476007)(66556008)(6916009)(6666004)(478600001)(6486002)(6512007)(86362001)(54906003)(83380400001)(36756003)(186003)(2616005)(1076003)(107886003)(6506007)(38100700002)(26005)(4326008)(41300700001)(8936002)(8676002)(5660300002)(316002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 05ZhsJ///WjSNO9nG96OLCXen0j+Fd8teA//TiewmtQ+gWpu1BGVxtui4nsMNJkUSrQokFPhlpVKCEdDFGF2ViflVB/C6OD5HU9EhYQEXHUf5+uqIudjIjLxRghMJ/DduxlKH6RltbgyBjowh0oo2EXHs7QxwF11eXI30/gPIyRTnfXcrY+LORqvVpoakX1xNX0TXoWwpJZ466vyAWGwE2/1nKnlOcdZXixXy3Gx6oi95JLpnGuc3gtg3dFdvCbOMd3+CeOgdsdSDuN6q6TYgu4i2FcXrY4A6Ye0bCa8F9LksjWWSMkN96WTkMyeY5yKOtLkv3Suuu0HMw61h4lAE9qGwPVA+CE73v6j6J/Ag+Mnf4vwFEj+ASpjSx+pUTrDTjZh4nSpIw6nfM7szdvGGXeeGpNE8l4MyQMpbhg+8lQQ9vOUHeS6R4/eTtgawXS9d+akHysjMtjxrL5i7QdFpis3gCzSp3sgXN6RdCgoLbjeAD7n1/uc8MtE/UM/vPVljPYEsa1YO0HfzbLRWJVAXpahRHfxCmIeqIBe20+z6or9jq6eJ8fQ0C4P4e4Te3axOGFXnMzViRf5LBqLAl1RzPKsNsm9wrYMIyw0GdC0fu5xpA4BAIv2Y54ASko1vxde2fgO7etJCS3AOT9MnJ++FsWDgSRCPuCxjeZS9kPAmno0xv5P3hZdniWb8VagYixxOe8Q9umpUW5OVtPx7X87f8EdXjAuQvp1LnYwfn9JGXLahntC/EK2h+moAcz6h6qFJo4hTknmIGAB6Pd+Nvqj6ip/q0EEWvNRr+3oq7myUoIzzU0pDRTHdwDUtLD9SqeKPDZ7kRaYYBB+eVlmPEW2/wu9birBmQEqRf5UNN8Z5KRlLhHvu329F3XUaVgQKHqG9wyAVzD/e4nMsDKvs88fg3E9Hh4HBXwYxo07RUdd4Qj28gI6lb8t4gkplzvFW917ByxBU5Ys0ItVBgd26jKX4lhdimSOChOeCGzrZzZu7HTmuR1xnNEl+aZgRy8/DujXxyPyq3uXQyONCvhvSignkw92olIbjeIRhD0teLL2NJ/PsdUP3QtHKIpo9imOVXRgrHzTHmZsmay0A1xJafnptVTVOf0DacH9GNdHVbJjHZBKvdzKlUXovpSqCXhzVpSvKS7B35kefSJk349Q0IDybvogtzQDW8gnH50v88wKgVlRfm903MnOcKaBOeD2wKYdK3ZB1ZDLAmTYDPZSZJSz8fcR2ZA5ADcKsEGAf+190RVlbkZ5SP0WtYy7mD3ZXHSCW3xgYIZmx4en3fhKZBOr7FoaJn4mhtOw5WtXQ+/Y+KRzYKNxan7h6O/Ud7GT78WOEwN1zUs0lruTKq1Fdsv5+FmOjC5PrOrs9M806wg38UM0w3ah4VM/Xk/4VkN1kcErLuMojTldSil+d597BQ4kMt7tv7yXhpL5DBXV4tlWA5M+iuhEzg7h9ppgbgjATTDbqb9oq6B/mBDYAVS3qog3plQonU5WQovF+Yd3ixaimw4gkio6jmj+P0EGtoEX4wT50cOXarF/LYA2iTiubWCXiaIT4r7zR8zAQmAG7i5DQpe0c/H9K2d7VEFNbjYTg3xxpDltZOISm1XOUNGPoI99Ow== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 21zcPxOjX79NZmObLq64DtEeQ8HjFLO4MnHu+RDR6JEPlOckpQvU/KdtmRFrQbGviHUfyBQoO3n4HYQXNqM4dJNCzCJKawQqEDjnGjYnR50PfKpJvMMVqX0LU1M9LsVXO7SY4oUHEQxwIKDh/dsqTBRqEBWmOEihhXADrP96u+XLY8eDaHC/TmNn4KgbZfGHfbb/mo2YHGSeRNb820am3gpp3MmsgDIFV0gYbuv/5hSIS6+n9NGMp6eRGUNWf9TmyPyrns1v1qKADHfSbKai1/7LcgYQf78zvSCQvopzvFMkVLc5/ZqUdMarmuyKMcWOu9i+3yLt05p+PuRxTelnXre4LiZiFmMQsHBPFSFbZ8n2cgt3I2/PDAd5h6JlyZhcODf7hdwv7rBDF18ftN6bO733K+Mu8jwpnCXRahg4gvr5bb8aytgTrlGfUnHilMhnsUuPiThcyRKA/6qyH8zGwnz2wZDWMujOPIPZRM8ChfK7zGWk+V7FcL0mSg/MHYIfZKHClpYfZ8MpEDutCHVxt5ab+uSix6pArS1txsVzyocYFXdbXxTBFYPwpVqFOdNw7jgTNZ6WqW3WM2zQVHDMSDmj80IN+ms3W0E24eRjbO87hkjoQ2o3B0YgJ4PLfgFs6m03zFA0Rdc2FkuzbMfpZeMRfxpbuIhvI2Mg5WsEVIS9pbPCIy7TACRFwSci8KCdDTd5euErUQRgPLA5Eio8N7lja4ounN/g47uiyfhNX49spExEpdAYk6obxUvzpGbEwjTYlgTMDgO0RMWEIGR9r9PBt3OH1PJaxHxccpn+w8pK4/mMeCc0g1Yc/QG056N5OxMyKvpgIOp5GEGQSq5Z3XbJNM1IPPv4qjzFm0uivL52XO84EHVLB1WqOUwrH9ipD1xya4YGL1s3mUmjwnC3qi1N2ZPafv5RBVpr+TjVBws= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: fce2ecc1-76bf-4f54-e061-08db8c745844 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2023 18:32:32.9278 (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: NZaY7Djj72H81GNyDt5/A+aOVK6EEiTordFTNYfWBfmOzN1Yi+Hu0RnW7fRKqn93Xy1fL832pXS+fXxYInNMig== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR10MB6654 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-24_14,2023-07-24_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=923 spamscore=0 adultscore=0 suspectscore=0 phishscore=0 malwarescore=0 mlxscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307240164 X-Proofpoint-ORIG-GUID: Gn6WRtjlRztsA1Rvwo5w5zpgi06NZJYB X-Proofpoint-GUID: Gn6WRtjlRztsA1Rvwo5w5zpgi06NZJYB X-Rspamd-Queue-Id: E7FAF160017 X-Rspam-User: X-Stat-Signature: n4zazsaxibbbfxpjwwykqn86gpnd5fpn X-Rspamd-Server: rspam03 X-HE-Tag: 1690223558-794319 X-HE-Meta: U2FsdGVkX18yrI06/optCOKDwDFSP6/eFEQu7wkJjfr0kPN7+HvovEz2ohS+MlhuHtovT/kMIE+fGx1Q+eCaTP3sqIMLhJ7o1tEAH+xcH/0RYqK8C5jwvZqz37OdsN4RsDUkAd9a8MKjoRO6hpaRq2OUhj9/s4F59NEA2A9X4xkc2u6opDcmlOnO8otSfnoM0C7AINk24+bi8jJslNQX0HbJ3uLP4WyV1R25oCfDsZ0xg2tTGR7S7eMvnyc5kwFWzyOoJliWdtO7yTwmdWaOhp3S6nT3cHLEsO0cmOlGKtRmQTJDAF7U/Q03H+zWSNnoveiZ2Esz5ghbVctf31FW8aroGr6odyqVVAMu4QhkaHyT0X64hDOtBXsVWWwgeg/GUm29EpjmiXZiFjPKMqjW5D8UsKqt3ThyOgafNyFWhyl0jz+QTcpmwuxsYyAI6Z7KmONh9fMtmqe3VNHF8Zfmd8pH4/15X/nWKHy+tc+JvFbr/WyW0p81fhYxyfapYYa2OXCKGHcBuRoDBTDxImE9PUu+keneag2Chul08GRJ/ZSJ3J25fcM939wakp4mEkNAfLHqs52qeuCzQZDcoSz7BdDPBcE8tjfomRZEL8/jCbh/fILvpuIVYQJJfnIv2Fo8bqbOd2xnbLGlcE/XlFK0emhePsZOUbfu6E7/LdoNBNwgnyTCalYJET67LIdZumIRgpm/wnIrVEe2rllqHlm9aGL63SuQeQmcmGghQsoPs8OZHAdgjPVKNLtkVug6/6Qurz5bUmAGYKN3/x6LA93lNllTT5+uYx+hVHrEaff1cpoFqO0LcgKDXo3rpwqZOUeBRES0A8sStxSHWY+BbrHV9dDZARZX5vBa+mdAzosG/jvJ2FGk6Lskm425Gqera51rAv18cf+6uRnhxxdoeTfJxzPpcrsBpaaLKkMiXQNQGa+LXKofAusUWW0cSzN5DzHLN8HoOIeR+TRBMCWzyX/ /R5RK8W/ o5oHSuUQeOKbpMbOT4rxkH9MW6kZiDH4jZyA1o9itGE0nk/5t5HEGuOqXZPSc1uNp5M+ewAFo+53ng+qoUP0RzZWaSQNvWFxG1zKL3F2eYBeQ1ih0x2BsevNFZC50JrjWqqnBoga4nLIX3H3/uMfBXqfd+8Ld+ACV+M5c63EpqXsxl4Y4CHiQ9orazp9RCsnFPWlmEnlq6DiYlRhi5HyAQcKY3d1rwnO7Qn/mvA3iH4lQCTP4vS70eEXom/qVEklLv6XwAd7qSBSEBJlIGYcdSIylZngcWqqO7pFFTNwH+0yTY+ZOScssG4bQ/ROTm21hbBzrPmJBq4dfIMxrGDBVRXe4wlCQX/LsWPxr04ujDvj5dDFbaKEZB4x0Yh1Abp/FZo+czIRA6sbuz/vc6qJC6cstkO5wYyZc18icyhvFdSJhQpk= 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 | 15 ++++++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/mm/internal.h b/mm/internal.h index 7d11ebe5d11c..c5ba08f55deb 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -1041,6 +1041,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 d4056d1de7fa..f518e4c70a7b 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2675,8 +2675,11 @@ 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 */ @@ -2697,6 +2700,8 @@ 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); } @@ -2707,9 +2712,9 @@ unsigned long mmap_region(struct file *file, unsigned long addr, goto expanded; } + if (vma == prev) + vma_iter_set(&vmi, addr); cannot_expand: - if (prev) - vma_iter_next_range(&vmi); /* * Determine the object being mapped and call the appropriate @@ -2722,7 +2727,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); @@ -2749,7 +2754,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 Jul 24 18:31: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: 13325236 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 9588EC0015E for ; Mon, 24 Jul 2023 18:32:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2DA3D280003; Mon, 24 Jul 2023 14:32:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 263B4280001; Mon, 24 Jul 2023 14:32:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0689E280003; Mon, 24 Jul 2023 14:32:47 -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 E2BA8280001 for ; Mon, 24 Jul 2023 14:32:47 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 78849B22A1 for ; Mon, 24 Jul 2023 18:32:47 +0000 (UTC) X-FDA: 81047351574.14.8B188BA Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf28.hostedemail.com (Postfix) with ESMTP id 9B9C1C000D for ; Mon, 24 Jul 2023 18:32:43 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=NG6LMv6h; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=t+N4rKSj; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf28.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=1690223563; 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=jb7Q4wFykVRBPqbXxG77tiTVnbM5aOsSsuwyyo25DaE=; b=jormgJXg3vtwYOe8uIbUtEyDRPJjgRqT3EtXKOXFb0R92zvOzMqqWpn5cQbV+brHxvmUjY T2KW5sm64e9JhFDGQPiNYLf0c20AM8gWj5ZOSTR2gDtbFtyk8deYagtRLPGx8eP/MFPYkm 7CJrrz55dsK0ighv1IDZx4mplLaDbXY= ARC-Authentication-Results: i=2; imf28.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=NG6LMv6h; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=t+N4rKSj; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf28.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=1690223563; a=rsa-sha256; cv=pass; b=knnSs7HEm7ksLJf56El9LM/3qHJ7IKELOFiqrcYsXXpnhwResA0rzzyalzOUH337V/VHTq h2whJSm5HQ6RcZGAQdD/fsIhmiy2J1R0MTDzAccay/bgw2p3KiRnknIFXhDpFlPBmQ/GrI eRfyc0kNUQgxwOQ7InFOcmXx1JVx9Lo= 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 36OFOGX5028655; Mon, 24 Jul 2023 18:32:41 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=jb7Q4wFykVRBPqbXxG77tiTVnbM5aOsSsuwyyo25DaE=; b=NG6LMv6hAKWZqjy8K/YLx830bQvl9lsre7DlP8caUbR3fBjejn+A1MXUFYSZcAYsJzE2 QZAHsnHI38hmLn6zoJrXk5VGZZ2mhYtJUhJ5fYEng9NrzBDx1ivxSdSPjcvKZOT2IUko DbtbJEDCbRbFPAvyl7jGhIMiExWjpidFMGW6RXK0LxAapzBpTE07JBV2DB57C+iP+4xE jO7w5huqy67yfNWfTavgWb3gHggqJWMJm9QIGAofqJ0S1gdJadKfaj55uY5Ai78u5YDk Z7cjF8UOjh4lYyda+WNROb+rq2Z+ij7n6t2dOkr2g16papuNgBkl31zjRs6ErAZoXtBN UQ== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3s05q1ufb7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:40 +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 36OH3MQ1028215; Mon, 24 Jul 2023 18:32:39 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2173.outbound.protection.outlook.com [104.47.55.173]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3s05ja25e7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Xyj0K/3MGOXhROXZG9HapnhP38pvaeoE9QkzBaKoylCiUY8Hsrdu3kGDhVeAELmRSCWJb8C/7IR1xN1GnvEmLtH3erftSdNnx2x6vPxH8qGVhBcXVZy+H894RiPrswQWmCQnHYvRYZDSzVX/b6Vu+93h2m2WJ97vg4SzA5ncxdNrzgzARBamWqsMjxrORYT52vyWJnTYePmLHfBpSsRDQ4eftVoo9lVm/ZAgB4JeCeAODFq5kyB+MrqhSw+r601krLugnO5LEwBPq3rLdsjKlo4UV/5gYx+/ETLIJbLol6CS5/VKBVDfL831tz5yp/gD7oWEdTHPfKIeqQMjpCCKeQ== 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=jb7Q4wFykVRBPqbXxG77tiTVnbM5aOsSsuwyyo25DaE=; b=fL++KLMfRnXB3+GYgD3xa7dGWfsmF7OZwu9o15T2eyhI0fAp7uAU3i9anGuJ3EOxGk6ibt6JzWwsHxYCf3Iw0LpadEBFlWfchNLAaCtCiS1f3LyJtTh1mmNf4rp3Bb697Fb8o8xMR3taIWFmXKXu0B3cW/Px78stNt5SikZpIxB/M9vam3BIxUsJmt+YLvPLchGQDqCExuNBNEEboQEYHV4jXi3p17+FTW6gA/J8OEHp4RA2sCytPk4RN+nPvreUHvQZafTmguDg1AWUbVDSNc7cx33aBRrbnlG2jY7as9BWkTNBM05tUdYXHJD8m4NfJ2xzSK4DmKl1gTscYcMeQw== 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=jb7Q4wFykVRBPqbXxG77tiTVnbM5aOsSsuwyyo25DaE=; b=t+N4rKSjih++wyTSdMswejyKqgooJs6zXnFmPTjfJcPDWSni7AooBMdSxmU62uCGdQcxxPmf6KrfSbi5bqELCGdBilQqQhqPgOKBf/5PWXfVhXOEi2Mzd9fr8mHmtMwGyS2D0cTVOnh/YKeR0+1H67XoUHFPROLlak09IDbKnoM= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by MW4PR10MB6654.namprd10.prod.outlook.com (2603:10b6:303:22f::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.30; Mon, 24 Jul 2023 18:32:36 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35%3]) with mapi id 15.20.6609.031; Mon, 24 Jul 2023 18:32:35 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Suren Baghdasaryan , "Liam R. Howlett" Subject: [PATCH v3 07/15] maple_tree: Re-introduce entry to mas_preallocate() arguments Date: Mon, 24 Jul 2023 14:31:49 -0400 Message-Id: <20230724183157.3939892-8-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230724183157.3939892-1-Liam.Howlett@oracle.com> References: <20230724183157.3939892-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT2PR01CA0012.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:38::17) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|MW4PR10MB6654:EE_ X-MS-Office365-Filtering-Correlation-Id: 086cda87-fa17-4652-399c-08db8c745a0c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: MB6xKQ8K8jQ4UfVmvQ85N+1JvY9BnshqJcz2x65ihHZuqD476pS5nMJaRmLeStHdo4COxawx69Ugyf7iKAlcFeAFhdeC3wg8kerWyFexKd4Jqr2IDCBwx7SzbRS0WlbyjTFAJtxY/XzmpmZXjgvClHw6bO3TUG/mhKAamFH4KZ+ZaaeYU3f7Aw4CY5TcqVGsC+FSAQbcS9kOvT5DALU9pXKf5/z7+WzfI8QRz/wv6pi+yhuHTrOmy5LfF4fh2R0Zonje+5Ch+H/EgqqZr2pwwbgM8fMCbFSxjSUumDnw/P2HM/YgId1fF3ZhpELHE5u+iPaaaScql/N6OT+i2OCIQ3FwFOI6CaH+bkPu4QSVx83V7PyCVwX0HwqzkXzQd3C5rysa3DEWGE5xA3zLKi/jPtvOKJEdPZYYFpb4wmIg3Opl9sSamx+ZrQh9IsmLitZoT5wV/H9oVjvXLC3b3FIvns4oGUA2gfvyWljS1fbgkR0mJy+7nz73NWNc5BDgTmLXKxnD/Iw7aBud48owzm17wyiyoH7aucKPAliw07srmCkMinj114+vyM86OMbJTIhP 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)(396003)(39860400002)(376002)(136003)(366004)(451199021)(2906002)(66946007)(66476007)(66556008)(6916009)(6666004)(478600001)(6486002)(6512007)(86362001)(54906003)(83380400001)(36756003)(186003)(2616005)(1076003)(107886003)(6506007)(38100700002)(26005)(4326008)(41300700001)(8936002)(8676002)(5660300002)(316002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: PDjQW1vyw7rTjusEixlyzE6CTphi9cbisCDyCDda7vFZW/duGBJkfi8mchzz715LDGsT3mC8+aWeIBuyXC2y+H73c/A14cUJvuge0sVMsYlI/3mnQHEkcahwZvnvmcDYKtF9iER94hptTWWJYs4eCuLpVVrbHXgsfZeMySDRwdzaytU5M8SJe87GMPXzzxehYJubZZVvLj4E08QfezXAZ2fX1N2dC44iD6CuC3UNX1SDfMk8LbOJHI9AY3VfQ1RjgQQoprlksAqVep4jjl0Ch+9axX/V02SPK2eAVG1IvGJzEWEfXsY713lympwXDijF6y8R4l0zDz+uSsf8dUTVHdD/y1anc8pLn+3tdDNMtu0Qwsp61E+ei6nsjenx7Zv2vu+nk8JqLTCLfKoPLhIY64X/RY85RP0m2Z9Kz2rjlm5lX8IbRqzGqzTIX2Vph3f4WO5MEpbKVCvoiHPe7jck8/+ZeCZ27AEJSr8RbZfhg0nQJNG7FL3dMXsS1KJQXWGm7uTRScAhZ0nHJLeK2iC2Uh1w8XEkSoQtAy8JR5pXnSx9BGstZAlDKOmX1DP91LQypN4KSTDFyp1xMK5zS0T5mNex09RhtmLG5Ku0tadlKGu9/8UnCxiDO+ZeicFtmjmIZIizIF1zYzv8tdmI443HRmx0MoXyE/+KEjp0Q+3s2BdQ28OBIJMuK7YdaGJLHSCv3eM/P4nfQz/n5OlvLWJEyMM/1iRDWAlgWAhbBSZzzKAZWNqNKyWAActs8jqOdv+Uo/JlWSPQi8PUEVLLSGopg09PXw6R3mdAHcNc0D0HZJBSsCjHqbYooIwjaOE4y6tLIqNjoXSi/cd95zvdAmsz7mXYGcfBonINfDYl2J9/pw0qZklCBx2NYw4TY+/g6bnwxsU0aLqmOYAhYMtH18pD1Z8KYY9BSRiSLKwu96UV5n/TGtlb7E95jp/UMfEywSKI9BUiWf2/k8qGNMouH2D4T612t+EyrIw7wQ2CVIlWK/uB5MiA72grOFxvdvICkqSG1hmKeg6Dv6dMkHhq9cgZEGyiYqaQ26XvuWCWhB3aqrgDCB/PkH9SusLDrrIXk/Tm0x4c1ksOi4XlpcKfmbmZAv9060hhTa7wKvSSxiIzWp9t4CuvAbA94Xpb6F5rHPKP0y2YuoZ2xuFbXrCJYLZiXTgRlQOpb/lBGyAbj5h2Liyp2SIw/1FoHBmkJF078tiOJccTRzdkD2mc5wDkMeWeQHhJPhJblk9S0FhBlc5vUMc89ihaIiugSJu6UQdefbvsiv6LosQur4t+qis0wZZWeyg2XayfInjT3+XKGlbFIxxiNiWy1TTVzlZYJFlaA0MfZQQ6ygOqZGaNjmso7hQAePn5zrvv6Po94Mp2FqKwfzMkgpIuSrDG3BErw6Jp1GYztZHWnvnj6HoRvsGBMHmxnDmElQzJvT+7GlksrHDQRwY/uZAOt2y8q0gQJ2ibSg+ylBtSgwJtrfWzPe7qtmSgp+b6s9Qq4NIM3PaqVyTc2cgYomG3qlWl8hGcPPbCez+1HHJXtboaiuVxeWd8Ms4+H7/nMJGq1AzPMLRM6qIl2fuAdYgx9isFKUGg1/MhPw7+Td7+fAo9flpKS6iZNlEWxQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: wAbXptzWeIjQNBjffhvss4Csq6mJCF6RaV4Xz1nynZSEiPIeuv9UM4dYcPT9JqI1USecI78KB2xV4N6yQmP1/fyONXmublMkWK5x2R/LU0zqYlWPXElLjX6R7mdJe9bTJfV8Zm5CHXGqpyeYz8rje6mKQwPXX9CHi8VZSB10V9HUl3enP9KaVyZBv2LK1exgj6v2wqjkNzTmdw6w2IwFJ26pfhLaGJygbqmRIBjocq4lhquX36C2effiH7mRobWH51NpC3smoWdBZKA0aqndWAnUyDNB/mpSZ/Cy0jIJ/6cYculXxVbbOA+o7HUsL6he9ZSN8Pl4s5IUa4MpiHQqvCpWd7WLjCcIeWUoQ6kU8xTsKr7IZ9vg7wZFB6+2vfpG8x3SW4IbHZrs2ztajhKClRPzNdkc2uhCmOIAA0DHyRswj118epFjW980g9WHKKa+ADd3GV3DVAk0+hxUIAljm+ooxHrbx2eeDdiIinpclgqqwsAK26UZoE8V1S8HlW4tZtz523aSP9KaQ8S5D0HMdd6nzLDzaDjIZyvFbna8Qr7J5MFhGF29TvSQMdB1Sk29AIBSyxvMvRV0WtbbYu0KgnXc9uf0lphDAbLY7IAp57IQqqPcVZGxVGhIjU27fX/RZ6cV1ge8Rw9hbwvppB1Ag+ubIc74VEpBHXlLFrivKWrj5uokKJ06L6Hyy/v2dNzlD1T1osxSDqE7D1bRghOVMYbpc7/LVa2Qq5s4A9R+oZYrROg+ODfvPCrdhpns57C4yqGOzT/NiZyUFn1wulwfDshbBZRzBTOuJW+fO1UyyJXcBg10LdVI7Gg8GjKJnnD6AEMb4bU9rqWdlqZs0ax3dqVgRz5F05KaLG8NOAgec/GctBS+li5DpZkFY0nX3Br3GCtHRO7y687Y5tjyU4ttbdgipdaYiZ8uIeaSglIYCko= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 086cda87-fa17-4652-399c-08db8c745a0c X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2023 18:32:35.9103 (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: ncj7xurxNrkkKpKFgRkw0wjUaMeOU7n4dwfyxJZ38PbDKCcwWXT11VmLO9hr9VezTTMX4x99Y5Qs1OdYjSrvtQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR10MB6654 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-24_14,2023-07-24_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 bulkscore=0 mlxlogscore=999 suspectscore=0 phishscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307240164 X-Proofpoint-GUID: czvLbS_d8E8j2A2D_wfDbTfyB8fgUIJR X-Proofpoint-ORIG-GUID: czvLbS_d8E8j2A2D_wfDbTfyB8fgUIJR X-Rspamd-Queue-Id: 9B9C1C000D X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: dqqefmgbg17t3wksibz6kykcypckau19 X-HE-Tag: 1690223563-734469 X-HE-Meta: U2FsdGVkX1+PKMYNgEEJxJXxPohg2GxXUCdCiQPCDW88qJ6I+tjdjxmo42M1dsuLGn0rqVdKFU9v7M9D2/3pxJ+3Pix2SRjUH1zZJqrowFeIcWtVgzsL67MNS/8Fb6g692CgxdtwtzGXyDz06dHL6WprppBXokGQEnkCbD4hZLQusxBcbfMjMGyuG2XZz9ZB31KAEGtJjcFb3wSYmTbLnivbarJ8OcwFwzST+fofo85B+HEMi+VTZtmVryu/r6nG2bFmHlJYnCtl7asQ7XsPCic2BkiDgWRhysg+4zFOwsMxDUH0VJyMO3Rfe/z7FHtNvkZVAiRhA07wVFqbnYYF50rZWMpGXAxiIaMX+hE1GgqFE1ejL/WaALeViEKvQNmx0ZXPx7dDNP/AaDSGzFkTHgF5j4qT9sNWmC9puYxntgaqg/Y/mQ/TkRVaUgvOCWYMMWpzMJ8IEZUsOZKQP8mXtH0gqS6uuUUP0p/gpXMlP8C4PKoAV0ypqlwpquLTxaZMEys5K/lzn0tmFWAqGuq7q/3ndkl8g8b6I0G12yk5FppO9+xROIfy0auVAm82CwYzy5dQ+/iUzBX01QTx4jdiZd7KR9HFp73sbWEQ8NFd9D9b21dzDxR2b0326MO/bR9Q9a5hnMZwzBFYuMnaNQVyITSOKTYLopWMJVpV+3wLC/fRqz3t3uI7M1Q9cvEKp6ww6yPelvmCUWabqHjkslGQLQu88Hu0MDN+VWKVjVpLt0YtTY3RzUCv4CCPlpwADldn8AXH/1hwFeGTsRwZaOnQuKwnmaxPN7VuDRJhOTmiNBxBDFyO/DbENEShUbgLXYYJmuOa+WPMgQ1JXZ0h6uB6R57oqUFLMkpu/6bS4hKa5+jqZKMMxo7/UFjauMi6ryhhsIoS+7CtOL8CFRMB+G+b8EH8a6Iu1OG1iXpME21W31H/q3+aUgOj2Z3LWlggdWooMaW4X45Eiw64lrKRVU6 mj9F+vZB iednBR1zR/QW2AYj+qUz3JmzjQlhOjgiWafsLtjO57H7y4IFuci4Rmzh6c6NOwD8ZOMarCL5smB68YaIkx+h+TOTrjy2f7+wjBFGSzedEiFQjjrKSkkG9cUlBiZnBV+cJf9KP+UxlQhAX546WRUXzcXIXEj6UNYMLwr2lY33MXTcIhrwNgp1DHiXucrv4WooUnhQ5TjHiNKcYg65TqmEewEpKu7fOInzrx+cahp2OveSAp6deyj9rsdJ48+a4+wqaCYgBJdY7ACG4sWdPsO2kbh7L2LViEMvkwo59wrOnBywXa+PizRNxFvLPaG0LzWogB1i0UGSqAgzAgAXQ/vEkTyHF6b8WNOpHgTKQwaTEKBfxQA6cyzpmubxletlW6bqh8Fv6/f3BHJHXZMWmMdNvFJ4TbrJ6s5INzDX9Trcv5IMDQKA= 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 e10db656e31c..c962af188681 100644 --- a/include/linux/maple_tree.h +++ b/include/linux/maple_tree.h @@ -466,7 +466,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 3b6f8c8dac65..0d7e30c7d999 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -5529,11 +5529,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 c5ba08f55deb..65f646c2ccf3 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -1054,7 +1054,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 f518e4c70a7b..625d7411d5a0 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -1959,7 +1959,7 @@ static 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. */ @@ -2049,7 +2049,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 9901ae821911..c6c1c5109deb 100644 --- a/tools/testing/radix-tree/maple.c +++ b/tools/testing/radix-tree/maple.c @@ -35458,7 +35458,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); @@ -35467,18 +35467,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); @@ -35487,26 +35487,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); @@ -35515,12 +35515,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); @@ -35528,21 +35528,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); @@ -35550,14 +35550,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); @@ -35565,7 +35565,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 Jul 24 18:31: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: 13325238 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 60EB3EB64DD for ; Mon, 24 Jul 2023 18:32:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8F4EA280001; Mon, 24 Jul 2023 14:32:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 83253280006; Mon, 24 Jul 2023 14:32:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 410F2280001; Mon, 24 Jul 2023 14:32:49 -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 25639280004 for ; Mon, 24 Jul 2023 14:32:49 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id ADF531A0739 for ; Mon, 24 Jul 2023 18:32:48 +0000 (UTC) X-FDA: 81047351616.29.D63F6E8 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf22.hostedemail.com (Postfix) with ESMTP id 0C8AFC0003 for ; Mon, 24 Jul 2023 18:32:44 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=JIpmgvsv; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=LlKpi7y8; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf22.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=1690223565; 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=tZPY3DQGdPjFGxPNCaqQGGq8h+diFa5oiI6IQbHQjj0=; b=hNt4WXkyBX0ECXVdZt5I8QzxMFiK/jaKC0E5BrDspNhOlJ2gMMGPqmxU+iOmYYc4Z5E3xn UY/EzDTWcQ0uN1p+KiFDtW+yM+cLuf8qySig/LFhFTHbGIMOj6sm5cIXeZTFfg36WiGxUH M5/L8Pu2O91eg+rzNMiaeiCmgghRygc= ARC-Authentication-Results: i=2; imf22.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=JIpmgvsv; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=LlKpi7y8; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf22.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=1690223565; a=rsa-sha256; cv=pass; b=l0Kn+6EMTDblEmnBJGZ2yPMyVBu1HN2SB4GQqEjeOyctsIJZ4eluU3IIMMPPbgahk47w5t 2nIuBOhrGXrdcBq3mNR8hVXOabrpV9dzSoaD1HlKlSmfNnCPxftZUAY8sBwq8wtsiUj6wJ 7KrL1OuKBCXdJXi311qrYdBonigokd8= 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 36OFO8RE011881; Mon, 24 Jul 2023 18:32:42 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=tZPY3DQGdPjFGxPNCaqQGGq8h+diFa5oiI6IQbHQjj0=; b=JIpmgvsvcYfsXn/5+ZSxD84L5ec+/LdsaEhMduwk6k7hAGaGxFcbuALg0n4clc1UkqAw /yc9+PdEMp7g9Kh8vxpTsIneMfHBaaSfeK5dRjoa6kTJ5pqsuJ33YtMGIKOmRKiWOF8J 9BNzCxl1lOMuqDelUGHSu0DjDFWBupriT1J25D3O7DiwuXen8xg7awWbDU81E9Y2rqZX /ju8YRmPlrM2aLtRf2Dpa5W1VjG0hGCJM58Zilekvrlv0AdbnqS3OSYWThDzAv39kVD2 9zlZrU9JZIspTXC3LLW0NrygnRyjV/UltKo7AWu3pYPwuNarhHQj+AcRqS1ZhZHH2O4R QQ== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3s07nukcsr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:42 +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 36OH08Gu027537; Mon, 24 Jul 2023 18:32:40 GMT Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04lp2174.outbound.protection.outlook.com [104.47.73.174]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3s05ja25gg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XG86+WmvgNpW5pxzkXk/wz8otDGHG0znC/5HudhqsYBmadNoUhs08ezMdegDzb7ASWlkjEekHDZJTYsgBhg+xKdzDQgzYQ8AMUjvW7FunOGQgUyiVTMXQkhAmV5uWzYW3B2VrCsjmnz2yfQJnxs1GWdJ02bye1ZTjXDgfHFs3jYLF0hznRYkOY2zaMjdOX393i0BWL7sxhvMQCGBEqJu3kYUMv43BNO7i4u/lPLZrSQimlFvb2nEWdT/kmE9aCTy/A39FNpIZOZf+o4gWvq0Z9ZkOtxzPAiQLgoCkWWVoGPIO3B95sqJtFqP+Ah9J7HNQOfaACQg+nbFWZJw0X2/hw== 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=tZPY3DQGdPjFGxPNCaqQGGq8h+diFa5oiI6IQbHQjj0=; b=hmre9BivzLnzT4GEyzk42E9zcZdFwgKYLC0kCF0xN5V9lsi3oXavdwZKKMrnw4T4g21gnz1i65I95KvOrodlnoV/Pi7Y/BPKua4GXJDQVVMuY52ZNKKLWMSRDnJDyIpAcfhEGMkRk+Sq3jsj1/pvZcbsZl1EYvsqFBxQEiMeEIdefFnJEFBFpRRjKXidHUH4CpuQoyIArYYPN8/zMS9a3MDScWDJwepy2fnavoDV2tBjOVPmTjaiHIP5cRWr8Rc4JIUU+P9CQrIJdYYcXQfONkNMRG/AMYV56i/kAmytlVSuiO8zk/cBAujP599XccOs518uhUkBYR53XdGzbUSpow== 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=tZPY3DQGdPjFGxPNCaqQGGq8h+diFa5oiI6IQbHQjj0=; b=LlKpi7y8Xjrv4TCqNjK5IU5aL5M9EsQQm2Qq2DHIQrced1RiNlBVNFzUjiisjupbEzXcZXcNL6bQf9NLTYNJUmLpFcigUh4+IrxXEmAFY71rz+yRWGmNerZDp4Eke7YvOijNJ/i9APkYv/bwdqsSTAu0pGC35j6ezsQst0Ndaio= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY8PR10MB6609.namprd10.prod.outlook.com (2603:10b6:930:57::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.32; Mon, 24 Jul 2023 18:32:38 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35%3]) with mapi id 15.20.6609.031; Mon, 24 Jul 2023 18:32:37 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Suren Baghdasaryan , "Liam R. Howlett" Subject: [PATCH v3 08/15] maple_tree: Adjust node allocation on mas_rebalance() Date: Mon, 24 Jul 2023 14:31:50 -0400 Message-Id: <20230724183157.3939892-9-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230724183157.3939892-1-Liam.Howlett@oracle.com> References: <20230724183157.3939892-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: BL1PR13CA0192.namprd13.prod.outlook.com (2603:10b6:208:2be::17) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CY8PR10MB6609:EE_ X-MS-Office365-Filtering-Correlation-Id: ec318f7e-0731-4d0f-ff06-08db8c745b3a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: teWsAAxjQUS6ztw7jCSCETzqRmebu1KELsLI5P20Njp3qqS54TKzQdhk+2lnzrRQIfLtBn3aBG//01xjpS0m1Gp2SHJdfXNIm2pUUmGHrirof2E9iYtyobB384gfXBFaPoHMWZmDdNAnDhGuKER0iEgSKPXwCbV8VzAfj1AeZRLPV+wfulPpUxdvcryIpcf5LaHtICLUczowx4M3LJ6Y7E5L6RnhkRwHOuXxl1LUK2hTZObUmmpcIYDcS5WdXy54NPmkc5lV6BVXpV0dtI7C2uuMhMNk7/AiJsLOwtihJUY4LdkN1CHQeaaXIUTKciS3o6dFjB7/Vtwe6Yus98w80L1EhhuuK6rpcqZOneB0Nb9g7IN6wWKv0QuuzWomBxsMFcTkGWLs+Y9BxhUGebRFLH0j/ZNm1GLwlySvDSgemueU0U32QrLYlNRDgMA8V0nCmjjje6d0cVCuAipDHoaMuQghvduhD2LO0bQNeoZ5iR3obOd3GpnFW+Qhtw9IWck2QbInnaq1fd2lT8DDJKHb7wg97JpSGkV/tDoTDEvgE7GMxBT3IEgx+xtvQBsa0Gz3 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)(366004)(136003)(396003)(39860400002)(376002)(451199021)(38100700002)(107886003)(2616005)(36756003)(83380400001)(8936002)(8676002)(5660300002)(478600001)(54906003)(66556008)(316002)(6916009)(4326008)(66946007)(41300700001)(1076003)(26005)(186003)(6506007)(4744005)(6486002)(66476007)(6512007)(6666004)(2906002)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Us6TmIE45rD3BJsFYuZT2gs6zHL+Phy8Jc2Js8cIa+HWUAFmoyRkGggpkTS7rAfxHkTZjf1XjapqLQkgLXHlDh63zRqJ0gQLeMR6UrJRjyr8I8EHfSVRuFlCNXrn07a1gdj5PsjYWoeKRk4c6Nzu4DP666iU3/8SKCjVgA5g810eduxy5SIuv5YI2TasHE6vmpgAL9at3ioHbKwTlrXrmYqu50NQZbzCPoKxIWnolLSjslqb+Um79BdCNFlV2V2qsJpww8ob6kk2mnK7a1O5OoYaP7qJvGhmPNY5hqoZAmWubIjQPTIlZ3/7a+pBF61LJ1kjNu8JgNrFmkm2is/9lqu23KA+xcpyI7u6LaGEEcc52Ge/NEZ1u8FJ8PJRwbEE6srXOrnX14JZpU8NGypuo5rnpFJS56T95KE7dsG08YduHwBFSzAyQU+XyKGcFG08h1Xp80d7W0dpHvHaTShL9KI1Ocw3MpPn2rt1cdxmkPsDezTrkellDFhL3zrgQVWmodgdA2y/HdGtHpCPDqFQaKwLVll3XS3oz+8nT2PhojIQPuuxhgCk/pHo+zYFF6QzTKtiaaElip+vsU6hs6P41Gc5HyZgKBwSqS3n3twLq1EEgD0fdehYPNCDsQhh8E+C5LSHR5D7gjGE7PhN9MsLX87cs9iDoGxmcRXRBFPwqX/wqWa+eNMjDbuWMDhqmgJdJ2GOpsDOJMcqWTyMBLKRRkgANcLqjnj4R8tLJ4i25DkJOpAnw84ePheKI224DB4dl7FmLUGYC+udkohfvs2CP9XCZCXymBFH/k5Epu9UbOOWCjt7RyWX7jHbttcjHMW2q+ApnJ+FNWMZBkehGIMz3348C5mnETvml0ayts8fYlCXDa1yOv4HFe3FmZ268beUEzas45P18BoXAZSjFRI9Q8Lqs2QD808JqDL2dq9IuJolLY30Gswk2I+W9wZwO1bYgEcE5LxCMdMm242SvYJgG7bqjt3zDdrHMwolumApX+YV5XXXaSzKzlWakbdmjfbu4hIT+XjySO1/zw4ZMwdY0st8kOd1hJyUDWi/pUCKcCdTTfQhZ+Q9SCsUqc0lqe25bvg1accJZ0R963d+epfEaBVrzzdnW4UdYiz62BiVWOnJZBYMQcRSN5pewoMyoQeGS88sC7X0geTahQcEkPqVZHYsTPqHg+Q+ETO2d/ePh4k7q73rRC/kQCw1zlFpyxIXhY1nFms9TlRTfUhf//dcD+q8WA4ttOEfKg1FR08X3bDfIrWIspoc6D61uglEdDTAoocRVQL460+EN+zeHicv5VIxn4kMM37d0li87oZEqf8rDLU++FzkWV0K9E4HQEhg+5XM8wYy8U34LyxNeAPIAsWHpTTA7ytlmczRNHxuQ6lyLc3NpiLiexN+rEQVP922tdYkXRV+/3n3dorTFtxpth+LeRZRfdVnGQ8kSIHXdYxvlLHJ2q1QK0tCevgio4L1HkiDtuq8OvbvK765tmgJhjfA0xT0rrAEeJQh5Vii2ffcGmELGJKNeLmol1BFQ2c01xjAn1zhCmQLC7cHd1ULDYyjLEw1BtJSHCxoEhQWvU7P+WiF+J/6qDvpSADjVLCtfIQAhHSKpM0PtoMoYOsS5A== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: AyMUcEoAHz2PlLzgIvLuFSZX1VYmmOZ9EqDQ65Avq+YkQQRL13c9d++TAnOpB8TJJEJci62tw6wd6mf2TcH1wDmg9lr0hEJ8AN80sivQ41QD8Xzfp2xuiEn054cXn4m1NVvnUt9aa+mHP59RNPHMVKh8+1S7s9CzuflDQBy/8bh8LjGDpekP6bSA5j+yLhAGdica78USg7TSYTpN5K31q4D/Pu2EVuYC0W6OJoucfC+Lj6iZKA7Nw0QAoaygrl40FWQFJVOfC8SbHQz6q3GlHqbbiQEpWfleQKvLgPb244ReOYYsqx9D8EmryDvyNfSepf+0Y7jkEE/2rCDH31+bg1SYBgyhMAibHLrA+zOeWQHPUGP9ERl26y4b6J6N1k2bKhP8mzNBlbK7yThixj0/IN6Ca7PtiCrAt3+TXnAZml6vJl1uNi2QZehHBIE5TvaCZmo4PYj6bINPJQIMtUPN/NWy00OOhkkewynMrD5CcwEIRniHxcetSc3T431IJ9PU7ZFvNa4VYYsh50Lz8qdDBQrHDI5RZnn0T/prHlUE7+YjU+1IoqRg3FCPlpY0+shVKvt8W9DB3J3tlBoqTanKIcKhvqytby+zQDcieTyLdvxMKuKxHVssBftEDtV4lNkjoMYVCP4c5PWXEaXq6agL0ROU3vbsU28hNMfYcrxIxNd1SF2zF7dPKGQwd7ZSngnAsgQqION7YcLz+GBf3w3ligfBqu26A0b4L3ak38FSMgcfjxfQIkemQjoyWSGL8rvFdmP9ihokVpEQ3lPPu5KQ9pdHmqsTRDsBj5QC6787a4rMZcj/9P8anqbA5CXuig/jdfQ1KOY0f1fN3nMQvIYTC4h22Jnvx3f2VTCTjolBF543zhF+thl7AN+91ILPHG6dgDziEKxFjsH1F5pyWyptD0x3sqj/SY5lHkghhUQAN5Q= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ec318f7e-0731-4d0f-ff06-08db8c745b3a X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2023 18:32:37.8749 (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: w1F38hVfbaFzQL1GtM/QmsW0VVlnhfEK6gaKmx4BDg0KpU7qoh8dENoIKCeMmH5QzR+T71oKTtNb7/Ipqb26aw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB6609 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-24_14,2023-07-24_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 bulkscore=0 mlxlogscore=999 suspectscore=0 phishscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307240164 X-Proofpoint-ORIG-GUID: ipSFBzDmJuraftStDvliH6UAQ2D1VDKz X-Proofpoint-GUID: ipSFBzDmJuraftStDvliH6UAQ2D1VDKz X-Rspamd-Queue-Id: 0C8AFC0003 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: nnkafcrch5e7qoywbgggftwgi67na7fc X-HE-Tag: 1690223564-316305 X-HE-Meta: U2FsdGVkX19bNInhYzllipTshkAwh5pFgKYRqlhF6L0EYn8sBg0+DAErJd6beXvq9MzKHrkpJUtDwQ7A3iDNHJ7PtaS3jTaDbJ16H3w+ItO/ht38sN2ygqLs2+E63ovsYwUaWij6StwM1jFUuTg73eHgztuyloZpOenQFA4ng8WPyOXp+XXMsqJJWER3eHQKfDFIhTPwBI1o+5zyUVHYNVurboW2xmLGsfwekiR8FWH7PbwWNMuEhMfxReCL+RH+Ua+/3SYEC2gXZHcsa0jtTJjZGtVbEBn68crNcWMwEGLC1JN2W+Reg4/XIAkWBVuT7rMZ+WwY4bEgfRUuLZdQG2JXaUAhv+91+l37pSpco69bFnhBYqrF5U5jnB4W6rs95Kx9X78tZ3hbGCe5haaapa21ze8Hz2X0T2dkO82mi55EG6vayML0LYLboxv7SB/oPWfG/t67pAqMxYNcZizNyCkmRZHQrJkDQJgE5jYJgvkmzu3lJBPDOsLBRMfOsIYRhb64NcHtwtZxORZ9Kib+GyEE2K+ZToLV3hj7XNCMHyACP6K9Trgvq0nloEPsQ7QTDyBzYB2+t6Ail8AZ8/rRnOl2YbZF5PpqXF4m0plGMcT0cMSt4FDybjnrstjyjb7yWqS6japqnRzRHWtiaWMiqqOkqCpFT47AdmSVwBU2le+t2xnrnKzxnq6El2dZyLW3mY0PJ1sziIWgvqBSvJIrQNiquK/Fj1qAfRHGL5lkNRhzO5a+RcOipakrqk4qV5OpXUFZbGzOLyPLjRrZlF/nHdW5QsQiiif77Y4UzAfgVp1O4ApqTE01xRWHlUjMHSgtqRDcH3S5265zs2CZiH3hMAmDXuhhBM0bdnuu9vw/Icu+ZpJp5gHWZL+2wOxNpQIvV/LNoMw8HrJ6Pz8VY9aSXjAB4hHgCZQarXctERo0t1J9tk4PQTK6k+VkU6bYZfLX6C4t0VPrgohkO80iRR9 rvdjTNhb YuVDXCeDfZcqe/k/O7WTvHl86nsu9bRCShJ5j9ytgp6upnQj46C5Jwcymtcfg9vRRSOMTmBlF5QTZ4Tc8YAyGsJttO36N82vY+8iKifHN09iMj/iAI6jYPNnVdwFpGw2qv7e8vbcEEvbRScUOnrNXzIgfk7UKv16Ehr3SYlO5udEsRTky6BrMtHOMz7NW7YMJ5zZlk8G7kPlys72rf/yRgNALNfwQU3u1I3/OD9oYY5T8pKodRR8SkJeSaupMFGPBRDRj0mDYUxgLbVMnwoBuy6woI9025qqCooQmgHxdYcYEseO6QjWnjFuqyYKScPqDFeG5D46Kf5uKo5y4SnXrt1elJKfVwJDmbpQlkz1HkQccPuTOx+uMjHyvjmt3eMX7uO/YHh7tQbpiyAY1pNKDKqbmPuh/7qY8UcwytDaTsO1K69c= 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 0d7e30c7d999..494f884ef17f 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -3136,7 +3136,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 Jul 24 18:31: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: 13325237 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 2D30BC41513 for ; Mon, 24 Jul 2023 18:32:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 63607280005; Mon, 24 Jul 2023 14:32:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 54A01280004; Mon, 24 Jul 2023 14:32:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 32D8A280005; Mon, 24 Jul 2023 14:32:49 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 0F453280001 for ; Mon, 24 Jul 2023 14:32:49 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id DA160120A2B for ; Mon, 24 Jul 2023 18:32:48 +0000 (UTC) X-FDA: 81047351616.28.701FBC9 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf05.hostedemail.com (Postfix) with ESMTP id 61C0B10000B for ; Mon, 24 Jul 2023 18:32:45 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=Kkp8ux8X; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="AwM3B/2d"; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf05.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=1690223565; 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=GE2s3lmFfqPSKflVW5Y+GVJM/8mYdXBolYbovOkyrDI=; b=L+ICboRAX+IGzFXi4pc3+QRzEvvS5uKsjzzxAaTX21MeEyuRINcjONZDnqouzLU72mQooI DLAyouzHTsPrOAa4K/yDQGQ9Au6vvP4+Zqv126fg+ssx09wrAfuRiTDyA1URn0rPJxvsWA o0i6VlP0QhP9wf3IWCop4vx6zDgqQVg= ARC-Authentication-Results: i=2; imf05.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=Kkp8ux8X; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="AwM3B/2d"; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf05.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=1690223565; a=rsa-sha256; cv=pass; b=W4++hTvLQRBtS7onyPsMDT7FqD6xXOHw+hXFqXKCpNZLCTQURuK5dyO1FUuJHDyEQPUDlI imTQ9KKpoZeCojLSccledexsKG3SF0xNLFLZ8+N1nebjpRAMuBqC0Q8yGbkdoZ+DflLdui zGm1XmuxoIHxUhGxdqTOBTYy4GdxX+0= 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 36OFO8FL011886; Mon, 24 Jul 2023 18:32:43 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=GE2s3lmFfqPSKflVW5Y+GVJM/8mYdXBolYbovOkyrDI=; b=Kkp8ux8X1lPpAAfMN8J7uk8ZFaDtpN8GtJHgP1A1Y5qFm69T9BLUUybmb766dQJnGAUF Mn4BPuZbZTGqoqwElHOlkav3kG1721OI59b/2L+xgPEwApgicBWuqyLwHXFqaGJTSIWc AddOtsvhC1l/21dbsD9TEv5G0usArnfS+jOmvnMPdz+YV4YWG8UCC1mQTXX0ft/lFClv AVSWDnA4WtppJXwLZAcyt4utXahIbJP477+3QAn7BwMMqW06OcGiqd0xk/AjPCJsUtX9 FAcE78KOHSHR1CH3cKI1Iz9fkCg+uaCptnKiiF2YkOavuauqEtMsJiBHc8DMm1qTJC9v yQ== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3s07nukcst-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:42 +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 36OH08Gv027537; Mon, 24 Jul 2023 18:32:41 GMT Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04lp2174.outbound.protection.outlook.com [104.47.73.174]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3s05ja25gg-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:41 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BtuWj+bTt2leVmWzTkqey7kII6LYCLpKf8GFyUlkK5ce4kFbhuJV1ufajkd4UI8rplMg6EaxQ3fMjcUQBBopDTZr32jpOUSakieTTQTasKO5RCPxKeOrTdVQFCseCnLugbZRR7yLUsk4JLO+ZCx9Brnh1Gh083rYFBFVlQN7h1gq0lgAA/C5JfpRS0RqxyenXEUqlaSUzbui5qq1FPFvvCxIiTsFX9Gi1jQVWF7HHW1jzQb0pwS8VRMANiNI/1kjCSJG1NKkrwP1RMAvSrUc0j/OCkCfHYUyXFCY8LzXh744DT1vAhHJ8KiOzD+xiuKOPX7PnCScdhyx/g9kunkoKg== 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=GE2s3lmFfqPSKflVW5Y+GVJM/8mYdXBolYbovOkyrDI=; b=SNueWafy3OEbK+Wf0+x152Hmv6YNDFq/DWqilZYso+IfF9d1t77hOpgZj9Obh4NhPzlmLVfoe3LNA87qsG4IX4c6DQrw19Fx2LS5WTQZHbaB56XgnuB6635o0C88tRaTCmkJF16OvIgD0WkjC24vmG/XB0bDTJqyb1N80+osIImwifT4+2SNaYgSTnAWLJKePVo+8hFTEifNRS7ZTaWkuO7y3+kpop/b9TkmvKygpgVWJg/VHNn2wijip8JVJVsrNzScNhBOApOZBYoJXcNGv4DNxs3XMHHdAUfZJ25qYOqE+djOKagbPx28TccXfZPVWKYoqgRPebixzp0k/pG3zw== 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=GE2s3lmFfqPSKflVW5Y+GVJM/8mYdXBolYbovOkyrDI=; b=AwM3B/2d63bHQ71tg6fo8tgp7nLMbkOjYDQrompT3cllKTsT/23WxpEcJjxntYEA5WeeO3DocNUZ7iLmicYlyKNvD8GJgDk7yBFze0hglKzKeVl25EFPIuZ7GVm0BP9jqBEHZ16TJEtflTxkpFJR/WFGJBskQKIJOW1DW30RRuA= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY8PR10MB6609.namprd10.prod.outlook.com (2603:10b6:930:57::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.32; Mon, 24 Jul 2023 18:32:39 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35%3]) with mapi id 15.20.6609.031; Mon, 24 Jul 2023 18:32:39 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Suren Baghdasaryan , "Liam R. Howlett" Subject: [PATCH v3 09/15] mm: Use vma_iter_clear_gfp() in nommu Date: Mon, 24 Jul 2023 14:31:51 -0400 Message-Id: <20230724183157.3939892-10-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230724183157.3939892-1-Liam.Howlett@oracle.com> References: <20230724183157.3939892-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: BL1PR13CA0187.namprd13.prod.outlook.com (2603:10b6:208:2be::12) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CY8PR10MB6609:EE_ X-MS-Office365-Filtering-Correlation-Id: 0af05131-b7c4-4b32-b1eb-08db8c745c56 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NBD6ccZcliDW/+Hzj19utkL49FJ28/WijNP8fZELeO7im5FLoCTF4u/xl7s5I+DKhFznhDQWhGuLnlv98GZQR86l+AErZJuBuILIdIITUZjxlw6qMbwrotVZmrcOcJgbHQj/41CF1NqZ13sA4Ch5MrLkxBQguD/n2By8MofU1Z9PkrMMTKINXVk6n3q9f82kenqXcHb5RRiKlyUDNvPb/JUIUYWMNGuNUfuRdUtAEMvnVZ6YIefLzXZyhvdqr6j0QF9H+iOfW2X+ZJsCNdrkJhR+LBycuKuhYfIfEuW7se+geB9pnf5Jq86lWvMdEotqZbuANIWsS6HXfTIPqoSC1XveUDZvjct3Irm9gBx378VigZD7aRgGgYm1jE6Fc4zj3Hq1Zkeukrh4plcjdiIxL2C+1NSfkWzSEnFXlPcq8ij7Us0nNu1ABALoylOVLRL0HwPoeyKBuABj7ZhslMRYlpkqj7iNGhRbicd/O1qzFljYuCs3timPmv/6BE5rCr5JMyj9BVoM/jivRUNjgZST10yR/qmuYh9sI0aFPuTq8rpTfIbpF4GOcV1wmS+OLS3P 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)(366004)(136003)(396003)(39860400002)(376002)(451199021)(38100700002)(107886003)(2616005)(36756003)(83380400001)(8936002)(8676002)(5660300002)(478600001)(54906003)(66556008)(316002)(6916009)(4326008)(66946007)(41300700001)(1076003)(26005)(186003)(6506007)(6486002)(66476007)(6512007)(6666004)(2906002)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 3kiDznrgR1eArGIuoofkMZiVoiAXpGIBgsAPRP0U2DmUY+WRzepPQkjkqhhucAXo+Ho4fv3WYGTD63R+KOPSreLnE/CpUSK1v+88NMXo7rEfafpLfROw95wW3RUduBTQvFRHyEh2nZM/VDw9qCOSWdOBFIBHTvjQ3XYMfnBHpJxOHFFwckedKWULW4n4p4VyX42rXGQDWPs0C62YRZzfIzONXqGx2ZrQ502w6ju/1ifZTs1CX5Crr9qDXMoK8a/lrfOLyIJ4xJU5l8LzEQIhypuUtlwhnAMoh2KoZPPXEP0wQtqWxKOPcNZFZc6VDCftQ81iywuRS7rFQymhoyYwO4LCYXOY93J6ul/o/Kx4+b99cgIeehx3Mgqh9xChn7FLWrQURZOb1tjN0CP9n8dC2+y8fJIkL2bzl/wZxU8tH1F1TtK8dzuhj3EFUk/IpBNjo/SqNuNdATB+VI9uYDexSc/pWnZCEnkH0BIn0YMcex5QuDNDYaCgIsiO6gPCzW/WdKsZt5jnIYyslL2Zj+wAzjGnCuM6z0bmsDH7ZiAE6UaSJhxD3yxkVRPvmJ76sr1vjY+bcMOZ5SByPzZd8atDAQDQl0uMO9mt1ocZgy+CIFuzz+loR7PDImPd9jX/clQ2sBvzWb7LrHy8eC+7R3Mtf+K47xlqQp0LY2oz500Z3mQCy+H4M1Wfsn6UPg456RfmpTIZMC8keie2+U98r8ImRZpVGGJJeL3FJ/d9J8/x1TL+DhtN4jK3+JpJnyZv6oDYVKUP/IESZlfaJ2BRQ4xr5YDTcomT10DszvGNXhs4pLB/56UhJc7xDV0abn7C7MzNEsiZDPQ6P+PhKgGrbN89JP1Lj7xo0yoe9aFYDOhYn+3kfYw1vN+5uZ7MAhCoseKSJjIQzqELP4A31jlqZzQ/NOnQb5qKFjkD9FeZPNzOiwT6ltccxILFykwkQjrlTgoGNyCyasRqySaKZUrTEFV1DPLS5rwx9O5awhI64WhCAgKFOj9DuIG6notltws3TUkvWp+wEni+BZ4ffUnR4HOeccwXxsy3B7DP3kWpQRf5ZGtY2KY5CFKJ9W6CxsiMe8/113w3Sic2kRtpspqc19CVuB+csAmdJOx/RDRMbd+bfGTegbFGjhvKrQzgBQbPDEn40XuiJS5woQMH3o0PTkkzx/gSbtsUhxFLQHlTmlrhKtbUmXp7VqpbQpWGVoq2B/By4e9zwOrNX1fT+k2sNbvN53286LJfZL+W5lp1iNGxtG6MWSwwAKdgXMoEpox8Q9REbTPmUc7IuECwKZb+Yfld5Ah4IeiS1FlLevyAmeo/fIbrchxT3mernaxFAPORvUx02KWVxpO7gWlpDK6VyeL6EHUkRtoDWlIcdMk8LUZaNR7eitqnJT4hYeb8KupCsYJfgA+BSeuWiULv5xxyfTpXQanW/qqF65iUbw5BChfYCHcBjrJ3mbUDdKud8yengdwe6iWOBOTHhLiEKVd1d/duuVXTkHxN/IHACuioqTdCkaPDTkZ1Uzhu6ns05YE9it5jmMJFJzPjIXQN/g4OTEUwlIx7cZovQY3d2sm/W3jF21uox4drJ/XAoif5fDjRkipbRzcJHCVNdRqURMGeWUVAyQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: bbZhfsaReDBh5YZgmeZ9vNA+IUbetRoxXJsyTd26GImrL4VKtGloXQh9H7iV38blq0xOaWKBfk3X+q9OhnKVy4Vfp7R8SmRhjyCSSXqkr9z1hxj4pXy8rgD5wjZ/Eo1ibnoa6vjp/Dd19ZrBrCgQjiY1PkyTHnyhXQQVojw44ExB5fr9SD1xAIlyMnQNuDRBMG/5RAelAgDp592NjfmdVOmiNRhuyEjinZXEyeUyLM2lukt/dhEhidAAw12S3IXBHxzi1Ke2A9ZYdUIp+Yhd/MqPjqjvQoC3vc5mLG73PvAGihNeC+sDiLbXowcK2zPs1SNXRq7Gh0rRogxBv0Owae3+VKkXldiTX3yCosISO/e4WW7BdYK5QYjzXxVF9ZZ5NudKKUjNOSckY4ZvBtt+p0cO5iN5zldaSjVvFK3t+tkesl7NBB/3bl25/4gDWHLxF8snOzcgjhO3qOad5CfW2rCU8rd5bCjnlnWD/mvGNPcnRj56YuXRa26qDVw1ZI/aBPjCcjgV/95Shfx2kuFrCjzSJYVPtSWFWNShoe5iXHlCdov0k+FJdBPT67VDvk7MYacdt72idtFE0O7dXnTOFxTECFgNDnndftfhY5+3OsnEFa1miduQ7mmt5JBQIEGwrlg9KODjC7ZO5TamT9D3PBJoWn/dNFTRSP1F5eLFd0VQR+TEJ6t0IkEZMa7fzouAx8hYd8TUJ0JZriuD9eAFKrtLlagXx+Xczz4Zr2HyOJZYsdqlOyyXWFy9WbvnMbyFtXPht1pHdCk806vGMFem7BUgIdOd8oP77D96H6/KmJzRROy3K8I8BxSBhC2YP3H0bMbOWxQtlmeDTF5YBBPKlU9ukSWX+6AprvxygO3wBBinjQLGa/rfHUpRpt7n3Sn9Rl9f+Jk+AKZS2G2q7tgrCQPKHUcnRC8iTPzu5j6FDfk= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0af05131-b7c4-4b32-b1eb-08db8c745c56 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2023 18:32:39.7325 (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: eqCptlumz+RJv+loFufi+zHcMSPRLGZ/3Ww59q79Wk3MUgL3WEG13DYarhmXqVAanjYHZm3lZ30CwLcHXNvy+Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB6609 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-24_14,2023-07-24_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 bulkscore=0 mlxlogscore=977 suspectscore=0 phishscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307240164 X-Proofpoint-ORIG-GUID: IgcTSrN3O8tnsnrEJ47nfyIqF40EnByr X-Proofpoint-GUID: IgcTSrN3O8tnsnrEJ47nfyIqF40EnByr X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 61C0B10000B X-Stat-Signature: kgxy8i8iosiubw75s4aqftbycfnsueoo X-Rspam-User: X-HE-Tag: 1690223565-806882 X-HE-Meta: U2FsdGVkX19WbBpLeql1PIOzuKgK7UH/H9KmB1MPQptX4do3FYhaVuKw1GmMjG+E9lVPEcAHGVMvWMzz81gj7aYfDqFIbCVaNao/lEheqHvkM7hVZ6FNSpY9dpnqIyQKGkHjpLuTBQQF+u5U86nYoHt1G69T6/y6DFEBsjN0C1u+huZFSmnw4w2Ve5Jo+4zKsuopn6k7uW28FrMMYqIBqwgwmBGqt9drxtj9lmqXrm5Y4EHiyEF0ZqGT/yFmGHju/pAkhDltQL9GFGvV+u8jmyXAKHRXRxlr8j3f5u9P5J+6rKLNqQSjC8CJDJ3+VwZnuqbx7N1BWbdEcLOZTHfIshkmZPXlvPLD1PzI7/tr+rHckB5E+S+avzzqn1/bQDhukeozWUY4f/huExpIIjbfLeeuIBBhLrtZEHQgZ1MeWyH2D3YwVbBL//Z/0ayost3IRHIwOFKp9undA2MH7DSeT+PYSdQn6dH2La02sgLRkWeJ5xiwp9NjMfRcre1zppmRPha6tRbGyvO4Yj3k/S4Lc0b9ge9fClGgO/6rOoVpNslypJBjfHO8s27+dxs9JmrJgA1e18F/do8JjsML6EVjqKqnbqWJsWgAgP7XaRe5HhVlP4VT3IKs+MeKtmN0rp3siSfb6p2IXPhkDqt51kx7PVEVJKFYJ60LcezjD2eL3sG0Tigly/cS8JHyfaAPv/UWzJr9cRicdtwH9fE51rhHJIzrK40MGTp5Zunw2mAto37NQS5xO6h1h92dEOG2QcvJxm5qJK3kbNqmsIaunpalzqe3efyx9LVjahFhV4SiuJqy7mI2XTpa3E+fH1EE5RlTw+YuZnSzRqqaAw/ahroiZI/jg9Mc0GJbUtf+4dOknfagnwaevNRC844So9nOXUsejGfnQ/I0D/F8Qhxb+yDPqMr1PMz3YSF7kRVaazWUBtPeyLAQJgLvbubT54FMKPWuExPfVJKYmTKzbfQxgB+ HKmRoSD4 7mPD/HL+QpTQdDPI/HfH3IZF5Ag4PD2cF+M+PkjJ23NJ+ahxe+pY6iw1cg0oRmLbcxDuMRLfK7wuha6mgwb42IN/kz80HaxKLoXWbkuoUkpbAjxFAzSeK7GDjjM7M552DVa9nGEwSe//RXUDqHR5h3KHpcr4EVIkMLRe1o11BTjWQ4fFrv9ccVR7QUQT+8Q8IAd10rCSqGGaFS/JsGjG+M3MGwM/ZrPy8nRESX7SOFfXgFrJTy8snRN6kkEndjYLNatgRKuQzqdN3YDTossjdU9YDNHMH6iZrc9RqFyQR0XqPSL8U6gHbdi24G9MRD0WYTlJRjHrsUFc/wayMWPZcOYUMnOo6NLd+UmJfHU4N6eDsMn2zbmo7FOPC5BBjoogFZS0q2JC9yzQ4TB0m3lY+wDOs+SyXKFgCtmjErM5iIucD/iY= 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 65f646c2ccf3..2f35c0ef7b7f 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -1064,6 +1064,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 625d7411d5a0..d09f11a9ad85 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 9826f6101a05..418cc0669c1f 100644 --- a/mm/nommu.c +++ b/mm/nommu.c @@ -1396,17 +1396,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 Jul 24 18:31: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: 13325239 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 B1C53C0015E for ; Mon, 24 Jul 2023 18:32:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 378BC280006; Mon, 24 Jul 2023 14:32:52 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 300C5280004; Mon, 24 Jul 2023 14:32:52 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 04168280006; Mon, 24 Jul 2023 14:32:51 -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 DC4BE280004 for ; Mon, 24 Jul 2023 14:32:51 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id A70041209BB for ; Mon, 24 Jul 2023 18:32:51 +0000 (UTC) X-FDA: 81047351742.29.E014CF4 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf24.hostedemail.com (Postfix) with ESMTP id 1C4CE180014 for ; Mon, 24 Jul 2023 18:32:47 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=0+XIjUj0; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=HLbYd8VM; 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=1690223568; a=rsa-sha256; cv=pass; b=uJBNlBj8n10VceP3mNWUtvIrS2rQqp4FzlMnje+CgkObrz3m8LIeAUjZFJ2wp8vfsGoQi7 T0x3NW1JJJ680mMhbJgLsfnTTO3ygnaqOm7sjZP3arp8hZQwsAx4/FJNqbITVLDbuFxC9f 39ItrbLOoBmKCJWORXc8veLfa/hj1Tw= ARC-Authentication-Results: i=2; imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=0+XIjUj0; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=HLbYd8VM; 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=1690223568; 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=hrDmPpaMKx0ZmJlNZflnSRH9wchNm2l1B+6Yyris8W4=; b=FpzH0QGHnhbISZb2NbLSZ31fs3M2iv6Elyi/LGD6pmMSTIExL4+bEHYPF0uaFJSzD4pje+ K0DNoOak/7Ar7x4PzMvlJ2s6fGu0GZ7EPXp2LUR3zxoEl+X58q6PK1NDiN3dbq9O0238GR OadHc4sdtHel43ct11vx8wTmv8utirM= 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 36OFOVlw006783; Mon, 24 Jul 2023 18:32:45 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=hrDmPpaMKx0ZmJlNZflnSRH9wchNm2l1B+6Yyris8W4=; b=0+XIjUj0OuyGdc29lc87dDzpcIF1NUsb6akJJcq2MkcjnHU8yg7VxT3Is9OaiEMHZLQ5 feishh6wqRCnaqj8Vn9ti8rnOw9XlKsyeKj/wP8cHb++c3kOgaGCD3sBoJ1axWvX8bUn hJU3wAmwlB3ZncxkEdWajuhUqgB4Fz7KazukFhlwdtYaEJqifhpGfjnJeD+RPhKuhmAf B362ReRvO339knQoWuD3IYE+Hx8gMtJR7/ILJrkQFg1NAA/tzhaVKqPwDJUHt8ouEYCe dvbxYQbo1VtDZKBu8rsLiU5BSpQglaWvudp3s0pgFU4bH8fVHYnKJMWAB4VUiw7vmCK7 kg== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3s061c3fut-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:45 +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 36OGuCBt035387; Mon, 24 Jul 2023 18:32:44 GMT Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04lp2169.outbound.protection.outlook.com [104.47.73.169]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3s05j3t3t4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:44 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=S6pLww8I2wZjOjUEoFW5PPBus9/lW1HwD+0jXg4sUHkuHkBJIX20uuuVbXhyouEuEobystVrxI19JW/93LZxgytMe/Ksp1fuIcoKd010w7gKEux8Df80rsQTCt5LX1klK1hg68UXlL1ySozU8XlBYFatxIXMTDLPYlg4nPvsVOZqtsV4a5f47ws85QF+xpkktLOSObsZ6OqjGuhTbqN+QWWNwqteEsIGHbv6e7aoQ7yabnEztI9fNOmeOrhUeV+mQOAMgmLE/yEEgBh9w9/UqG8pjUi91AksAUDe532KW+ienHrgawshF7wNB7iP82//sanR26sLkFwpDRxPZxUySw== 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=hrDmPpaMKx0ZmJlNZflnSRH9wchNm2l1B+6Yyris8W4=; b=X0MFo4hmHUyIL6+OvlnrazFLiumDia7QlQkazwahe5V0biPd45wWU71nLdWN+UtrGA5bn59qOKXa5RkfUEkM9EQ83Y6NzF9uep5igGIozqwYgwXWd8I9a9o0zN0jktq81fBaouWvElp0yCa5sHfTbkF27eGH2mv7E2wbhCTYafNpiownGU7IS3GODLE9tEz+G8VPYL2Gob0EWGRgjg7/maZYQG85znbScTdGe3Fs5UeooBtJq5Qtkec5lmwYISicWScPz5zVZ0bYJHsyzyLNdtlRo9oEVXxGl2t/2TqoU3tzsC2mlF7gWltv3rWBtxIcxio3DKCjYAz/cXzBuXnTfg== 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=hrDmPpaMKx0ZmJlNZflnSRH9wchNm2l1B+6Yyris8W4=; b=HLbYd8VMnjJpOTr9AZncqaP90VY+TzDdPy4QO8s0HRFPWtE5CSLO2zL1XQMrATuSzmj+mkgMPrAdhS04xk9NxSffKY19pcodPeCGAUNoHmIR6q5KCxB5K6bO4WBOp3uxuxVZj3sPiw8NS004eIkblb76pc+PJw3KgAGrOYsOI9Q= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY8PR10MB6609.namprd10.prod.outlook.com (2603:10b6:930:57::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.32; Mon, 24 Jul 2023 18:32:42 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35%3]) with mapi id 15.20.6609.031; Mon, 24 Jul 2023 18:32:42 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Suren Baghdasaryan , "Liam R. Howlett" Subject: [PATCH v3 10/15] mm: Set up vma iterator for vma_iter_prealloc() calls Date: Mon, 24 Jul 2023 14:31:52 -0400 Message-Id: <20230724183157.3939892-11-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230724183157.3939892-1-Liam.Howlett@oracle.com> References: <20230724183157.3939892-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: MN2PR06CA0005.namprd06.prod.outlook.com (2603:10b6:208:23d::10) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CY8PR10MB6609:EE_ X-MS-Office365-Filtering-Correlation-Id: f2b3e78f-c814-40b8-87e5-08db8c745db7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6JLpdxjVZYXmn4/7Lbg5i70sLy1VXH39iGBPhCiY/7QwQytOsTkgu2V60eg3Ayc9OzLnpc7i045iEUavMazjFWu6bsOiyALMIpndbijPpVDQZMCTaUDLNqi5J8oHHEpFrCzv5NTDahjAtQkC+f19I/q4UQxyPCcZIQ3DHwcPfOzUGAtvAxT7ePqXRh90TXTwENShrB7ntUrpu5vTDWtzAbEGICeOnqHdrgtd/+VVRqGvXEKUTLknHEzJmcpURGckApWKlH34jdCX2I4SkCfHCaKmkTF6/w6L+halnigDPrwtYUjtMCDxU10uCXP4NvhQ0ouqrmSopgz0RPYckW4ZN+bTNNDyFFcyxCQQ6jlwpCGOjAzqfCHkOi+caRdtGeCwSyrzS7Th0rsioH402zPutgTuOd02+Bfh8C/sIiulsXzOegl7mx9Y54WMHS8/+kU5MMexG9/di2oig+ZWxanEALeb+O/uigOz5O+RGrE4VCxmPcD36AGemilLKrs2mwqM7MMxzyxLrCzoM3TJMp9+BoCEUy2NxNjJsyKn867Dkl1hkhh5Ar27ssS+Y9U77dwE 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)(366004)(136003)(396003)(39860400002)(376002)(451199021)(38100700002)(107886003)(2616005)(36756003)(83380400001)(8936002)(8676002)(5660300002)(478600001)(54906003)(66556008)(316002)(6916009)(4326008)(66946007)(41300700001)(1076003)(26005)(186003)(6506007)(6486002)(66476007)(6512007)(6666004)(2906002)(30864003)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ahYxKku74OTnA1iZQOGhs6bq1VKr9HfwXki6ikKAvark44sscJ+70yUq35H3xmGVLHGkk4gDQfRXSoKYxiH8r+buqC9QkODoTsKIjA/rzjpawQOU//rlyuEc24K6ALWD0ucYaTorpVur9Sen8iny5yjK3qO4b+OQD4yPhIIUBzxNezNdqAsqgOl9u3efEzk2AvDRYcXW7t6ayTXhuZ3B7fhrQndwPQSofyX6Mes1RTnNVBhEe6dMhHn+B04ayyMBUUhgMAVq74e/HRh9RdKH/aB6c5XIr5D+y9Rhd9wllz2Rk4cgqHkW0TflIDs6drvWvBd0WbxInzYr3BUMqDIyrS3yX/bI4n/l4hkNq3tLoet7RpqQNA6d1reD33ES1SOgmgMgMkicgRc3OkRAsCUQnv++yXtgKuwFuMDb0YTvDdJKYVSjYTeOzHHW7MkkjtaYqImOb4oy/9+RX7bTSKEov1klfGFhyoAcLecfhWPlsYKQdHJhIYSWlhhDOHqjemDIf29+KW3ux0VWv1JGj5bK9GUyV3XG7YScZYVpCEd54hyZiBVQKqgt7mS+wC/QfhzPk6yUjpE4VbtbZf2gqAarcu3iFJUKSy/TalUfQ/U2ABLL6xnLV51aRVD95C0VstdQq6s5b5hI4NSy2NwaAnZshAm+ATWVki/asyFpT5OW5L687irWdEQPiGyB7UDfR/ycf1qai3D71E7wDIhizSRy7KkuBhov1SzjbLPNm4PKWp4B4cidfIH6qhUIvxT+AQyA7azQ3pkfhszkApQpK5EjV/oj7OF8QenY+l5AzLZX5d9ruR++oeKghe79ilGZ0CG/9oLyMJVjMwbXw+HDU0JJlqU6uyaotceqCKI2N9HD5MAndGeJDalPmnXbp61zoOdZ2d+S3QT6U6jEmX0Y+XXeyVZ03c9SW4HR/gRDj6qLXGr085U4PydvQJHHnOwG3HK04ejDPHEOuzvFBHMOglzpvPfmeL5L/VRNiY0Q45sAr/Fzd/Z0DzAo9nA/cjRgOr/6OE5zvxdOWSKevlsmYe2uC/WMeOHG6BvSPXw6bzicw2qCLBo2QxbGMw+hLR6Q8ueHQux0VO6CJH4+aPsG0pG1D3CBgFeWfW74Mh1e84yACBuv5CyXgPWgi1hOvTuLXm3MXNzYoriDng7gDJktAuvOhvtgJbHHx36utV2f2HVSoO7EXnOT1Br8NJ/zTPZr4CxJFBDHaPrj1JFtgvBjWVl6nM6wtjSccTJ2PTmQF2Ry6oGo8s69gaVv1jY5BwAha65qswIF8TdSsSRKi3O0TYOitjBOvbaWYJjg/IaLJlsaSQti9wxwLR2Ptvua8PDiJv6upAo6H80Ca+7gCXzlZ09wWpEZ/9uGqv2DKAcASFG0RrPlVM+mz3Q1XoRm+SSU4jvD8E4Dpeo9nXygulYBssjwABaM6Bjbh45KV4FzWgxjx79mLsPj4ksRfjrDWpo6W4QCIBmaFBUD238htIIO3FmRArn5b/DV36NaXObdM+I3EbyRVHKGHssev4FKBZrswiOCB38Alf37t9kmlz+NGZTb4/X3RaUFjqtR3WHkEfyPBvyGl0btO5LpAH0VEFnaHqkk78ZGN8qXLr4moSovR00F8A== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: NDw89Hxiy5gYezYOsnkZWl3aA4KDyGyXOSghlgRMEfHE1fc+FOe/ecxF8XtZ/1hG1MEC8Z9HHlXyojcGCzou5uuyi+bMNOLFQNzuqy7OnhreItzdkbOOGlOjzcJrm9wI/ox6IGr/914tPPNM0gsgUEmY3nSs3/ch/6wJDGcjkNCvCaj8pIMgff2zM3fvT0r9JpsvuazSi49YLiNyAZdDPDtQmIZ/hgEsAj4FyCjBvaoStFFXVeqQ1dVCo10z7GEyk6rGAk5xIEUUicSMDTJ3XAut/O1+W1P6V+CzEmA6k2jeJtoVrev00/1J2vSJ2ABqPuywxddESocCeLqcNDtXx7AIymdZ+guryLWw8AYO04eXrj6dr6ImWk2Xkc18/h79nXa3IHyT/ZSvjLn9OJfnqAd/NOqIbkmQX9PczxaU86X7ua6xnfh6QhmQlOtq6+IhdGeEoxzJNEzdmChoMoxNLCBaYIhnvTZrFx5UFoMVDBme33FTaxVlZuovBlhg9qSR1ocJUBdVdkQ4SfZc+Nv5h9TYf3niB+NV8da1JK6j5ecDcPaveV7kJqcw8WKwuMrRWW3HnpZLtS1rMGfbuy40EgHQ1KGXZF+qPp9hw3sCBYeh7sL6753kkSvkrSWUCamee6sH5S8Eq5cyroLvDxI1QaGFHMOSJdpDdDX+bYPD1fteHfSgjsooBWaue3vQEOtDRaN+WhH46OaaCBo7B7rjf9WQRmkHYuuWzPaWz1A5El6JVXTLVOiA7YJ4794p+X46FNE7OISDNgcGs+CbcVQxT5gyrWcVnhpZMpGcaMSoJzWWEnaODM1pcFUef3fNMDumoJHCV+1mlSyHFiXBoEUWrUIkppf/AGOzj/hcMfaCQjzEBwvhr/Ny3K+fA3i0HzHcDir+vVS/MPEk3w2zf1mypbqVBPMYUvzCL84gPeCc5EQ= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: f2b3e78f-c814-40b8-87e5-08db8c745db7 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2023 18:32:42.1838 (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: /7DHeoqjFlMQeeCM3tCx7wLdfFodvIrEFtbboHM+96f3ClLHvT92IKyNKGD6PdNl4j0HD/wVThuPApcMAhYcgw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB6609 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-24_14,2023-07-24_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 spamscore=0 adultscore=0 phishscore=0 mlxlogscore=999 malwarescore=0 mlxscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307240164 X-Proofpoint-ORIG-GUID: ipKwNxEytsIutRdz4NfKB9e0kWKBkEpY X-Proofpoint-GUID: ipKwNxEytsIutRdz4NfKB9e0kWKBkEpY X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 1C4CE180014 X-Stat-Signature: pfm18jczyc85387espkps7aggbhirayu X-Rspam-User: X-HE-Tag: 1690223567-462488 X-HE-Meta: U2FsdGVkX1+I8gglOyokmo2EEdirdS9C3aRgp1P66+Tjy2550BoFSZ8EXZ9UohqvZm3CIFl8ssSB2eoggYuRs8maL7ODKTtU27GPRMXTOcBC8vCRZEr3QZpxmeLaRwDdU87xRnGPts3fQWw0vHMPou360pKPPYvjyUOcKFdfrRoijpXFONL5Rn5z/+gDbNlpketNl944iaZU1GPEabMi2YHmoEwz4DnoQksx+f7SmzTIOe2a/WC38qzuHaUgG4A3b/NLkcxRQTvoLXiMlAQAZ2WsGIOtQ0I09wI/WLaGg5/IT6ppvBww44fi6LG62PAVHJMKar7UtAwjTzfvbXmjzJY1GizaMrLypn4xoVofpDjCZlVq8ogu01RekMbnqZpgeavtrwzTck+/pTLl88mAbpdTpBCVQjKq2h4LNR+khxn2KDO8ESJldyymtifLfBD08WunmEgjAOf73OW2Q+dTNqHyA6eWBnk8CEwjrAdrZX/L3r7rgaRfA35WKPts9m+HZtnlmiaZ59iCnWucRT5pmTzXZaSuRyijhkHHVowkTFBSfrbWIXktKy/3FIgzSdDf9UzoT9RuRj5+X+XfJ1f/0aZW60o5obgcBMCdiwnCwpoFWtBb3Amb8l7sBsl/8ko+7Gvq7JQZf1/kCwohr6Yms0W9nSKBkaMAXs7LgRisg3/LJf1u9jiVSslE+0y5IIq9GCEjNBx7zxXwsoVVtzKKMIEoX+GEEGuEwOl82J03AipUmhUvxQ60z5VXtm08GH8phrWc/8C7dZ43kxNuYj9kAOhKhfbAuAnpiDnI5tuVgFcDej6zekDQBu0wkb9P5LQoyRTgpLLWbFhnKv6GOFWwmVcB/dNEAMFVWfsCVLVnTRz2Erpjr/4RqBvP+saQG6RpsdxhyPEO3LbyZaOoR+qlYMkXg8FtmU6K7cxhaRu4flinRo95jv6H/fYC5H2R7rgfkQB1dvbzfZ06b4z89xT hxoxYSZX 4rOaCJaB9IvXDkO0cz/l/jU0q+MC+7rZ5u6qVAUC5mqdy/MLrqgXF+GmnS8Pptjm3OW9V/YIQzk0PkyA5mc8S7zD3zEsROhLsXovii5CSmryclt+ASI2zM4jwqPcnrvnOHCXYiYdzFq4iXw12qxC49+X3mkqi+Z1Qi81h7U5ROaQYJ+HhJo9hB/ec1MjHsfsXJRxoPgV+XAkP5kaX3eR3lTmlh/ekUvjGEVgf0IJHeASe6J5zg3C29nnd1403Xc29cybBoQntjfo70VSEYE3DQqDhzLH1dKHnJcQP9VP/VKry27kRcZF72mJUX80JmJjRmyo8XsK9WGvSaz0JKlRLNA1y1SDdFjvhg9CrH/+kfq3a1axMj/cB8Fm/AdlU2UI4LdvIU6nZsE6AyjoBrGijPTvaRs8ppXo8OtOmItRASjkQN34= 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 | 69 +++++++++++++++++++++++++++++++-------------------- mm/nommu.c | 33 +++++++++++------------- 4 files changed, 64 insertions(+), 57 deletions(-) diff --git a/fs/exec.c b/fs/exec.c index 1a827d55ba94..0b9484358a49 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -701,6 +701,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 2f35c0ef7b7f..5a03bc4782a2 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -1052,23 +1052,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; @@ -1105,8 +1103,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); } @@ -1117,8 +1114,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 d09f11a9ad85..58f7b7038e4c 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -397,7 +397,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; vma_iter_store(&vmi, vma); @@ -648,19 +649,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); @@ -686,19 +684,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; @@ -972,7 +970,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); @@ -981,8 +989,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; @@ -1922,7 +1928,7 @@ static 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; @@ -1947,6 +1953,10 @@ static 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; @@ -1992,7 +2002,6 @@ static 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); @@ -2037,6 +2046,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; @@ -2083,7 +2096,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); @@ -2324,10 +2336,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 { @@ -2335,6 +2343,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; @@ -2692,7 +2705,6 @@ unsigned long mmap_region(struct file *file, unsigned long addr, vma_iter_next_range(&vmi); } - /* Actually expand, if possible */ if (vma && !vma_expand(&vmi, vma, merge_start, merge_end, vm_pgoff, next)) { @@ -2789,7 +2801,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; /* Lock the VMA since it is modified after insertion into VMA tree */ @@ -3052,7 +3064,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); @@ -3067,6 +3080,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 418cc0669c1f..1fe0ee239860 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; } /* @@ -1054,9 +1055,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; @@ -1198,6 +1196,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 */ @@ -1244,14 +1246,6 @@ unsigned long do_mmap(struct file *file, len, current->pid); show_mem(); 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_mem(); - return -ENOMEM; - } unsigned long ksys_mmap_pgoff(unsigned long addr, unsigned long len, @@ -1336,12 +1330,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; @@ -1355,6 +1343,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 Jul 24 18:31: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: 13325240 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 8B0ADC001DF for ; Mon, 24 Jul 2023 18:32:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 880EB280007; Mon, 24 Jul 2023 14:32:53 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 808D1280004; Mon, 24 Jul 2023 14:32:53 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5E75C280007; Mon, 24 Jul 2023 14:32:53 -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 42BF0280004 for ; Mon, 24 Jul 2023 14:32:53 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 0668614088E for ; Mon, 24 Jul 2023 18:32:53 +0000 (UTC) X-FDA: 81047351826.16.F48BB38 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf14.hostedemail.com (Postfix) with ESMTP id 7E5CE100022 for ; Mon, 24 Jul 2023 18:32:49 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b="mGRP/rp9"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="qoaK64/a"; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf14.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=1690223569; a=rsa-sha256; cv=pass; b=USDHRFY7FEbSyg3HB1N9oSMcHLY7P/gKvYX7eAgN9FHjeLZExrjoDn9QnR0xJ82RwXdAlZ coU5fLEB4SctyPAdSUCztWZGwKtHRaEi1lSzeGHjoo0nZiQ8lIYzHnOxebwtF+cb3kH6h0 yqA9DZe+iP6umbVzyfJzvA97q9+BdOA= ARC-Authentication-Results: i=2; imf14.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b="mGRP/rp9"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="qoaK64/a"; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf14.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=1690223569; 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=XTH/dSWqwNjH4V3zbDCxHYHLl7PeV/roFStvPqIuINA=; b=jNIxJPC4IFARMbFXm4y+q4kbv4XYEKEYVZESUuitO7vl5xQKdYVQi7+LEDUOwJ9NNAvkk0 4iJ2Qe+uTJmYI9Meq1QkQnA5aI4SyT4+VrTMayh1lfp3DqX25Jz0LWCr+PU7/EEDirL2Tv AoZ5b2ZL/jpPjyaQ1Q7Msar/TWV9SNk= 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 36OFOGRE028670; Mon, 24 Jul 2023 18:32:46 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=XTH/dSWqwNjH4V3zbDCxHYHLl7PeV/roFStvPqIuINA=; b=mGRP/rp997NFO8nlavv1oYKmssAGpqQlNmcS+ezZoN0DqTb999lPAJQLKsrqPaeKEyGc mrhfBYgj8sJh3w+T804K3zRbWu+PffIgOxk5uEHNyfZNEWjqfYMwRSOHNir9GZUImKNE +ZarHahl8hm2mdA/oVa6lQjJeHcUjDhmpNEXUFT6dcKBUICLEVS5Cvi6+mQJVfVr04sN X43Q3eMuM3kMRjoJpwz1ICYDW0sgjdE7WDUKFm4VK43lZXLXVFegigelNwonQUzbgWra q+mvEa7u5+CUqtJL5JDqWjLETP8ArJyAVya3O00PMVK4oNOKDqXRkoUM8dMHP3rShWXm YQ== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3s05q1ufbn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:46 +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 36OHEhX8040858; Mon, 24 Jul 2023 18:32:46 GMT Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04lp2176.outbound.protection.outlook.com [104.47.73.176]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3s05j4a08j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SboFzxV+epUWIEt/Ho47QObjn22pA5iDwOPeMcFYwkQZ3Rq8gfz9bOljfzBr3ys1E9UZGYzWMOU1YAJqI35mkvJ/9cZx4UY7RdwFC9RoV76wpVglSkZ+wdajeYr6Jonnx4ZLw5MQeygTFkrJTLsp0JYKXtsqqIux5FrG/vogv7Hmii+IOc/FoukFHxUA1l7XlCPWUCXjxiZgwTcOSoGtHcXwOazAyzTXI29h1F9wOEtihFB/1cON8DYOkV+GqtvxXliigiBLQiesA60kLjwEcFcppTswvRKP4z3uG6y2Q3W+qiS335Mrt7eV8O0/DYgbx1gVQ6nhnwA14OVRIIdn7g== 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=XTH/dSWqwNjH4V3zbDCxHYHLl7PeV/roFStvPqIuINA=; b=j/8bkZhFuOlmTbpX+3q+GmkoiZ1JXgG3Y+QyoAw3+U+S6aZnDfhzIMIntx1HckfLvvDnL1AUif2Avfc3Vkve0H4J/4Ar8XNpTaWo25ldqHT7e4DHc96S7IE+KhjW8u0am0yOzf+2ndXSEdYAKzPeYQ+TtpA/dNtAHmYiC0KNGSBUEaUAVLBB2v2sztzEc+eL8TNci/ZLK2n7BbnMrJXaC4KX5otROcAx5ihARNcunBzbxSpwJf48d5OFWidsgrmEwkMPHKFADtFjAIcELcQo28Xwi+Tf1OjHs0TpYO1TGHw7J1QQ+bctOQPaGcGi8WqP1ra6qn0gYukc5LUnzAZbSQ== 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=XTH/dSWqwNjH4V3zbDCxHYHLl7PeV/roFStvPqIuINA=; b=qoaK64/aqannxSA84jucbfOuQISl13d5O6dDXDzMKrV9IOEGN6mh2CVW/ycJpFYBNc+uqb8YOJJExWLlHxNF+Ew0KkU9T+NiBLAQF4IHTHo4qDy+tfUkAaFK4tqb0MhRivd+tvUk00S60Cx3BISWSZY0a+geF9mvCO+wQsORWdQ= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY8PR10MB6609.namprd10.prod.outlook.com (2603:10b6:930:57::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.32; Mon, 24 Jul 2023 18:32:44 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35%3]) with mapi id 15.20.6609.031; Mon, 24 Jul 2023 18:32:44 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Suren Baghdasaryan , "Liam R. Howlett" Subject: [PATCH v3 11/15] maple_tree: Move mas_wr_end_piv() below mas_wr_extend_null() Date: Mon, 24 Jul 2023 14:31:53 -0400 Message-Id: <20230724183157.3939892-12-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230724183157.3939892-1-Liam.Howlett@oracle.com> References: <20230724183157.3939892-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: MN2PR13CA0003.namprd13.prod.outlook.com (2603:10b6:208:160::16) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CY8PR10MB6609:EE_ X-MS-Office365-Filtering-Correlation-Id: afa2eff4-bc7c-44ce-88a2-08db8c745ee1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uo0McTK7Hzt9UlF8gcG6FJZsckT4cZg6/OVjkwq5jcWfmxHAluOPk8llk1pnY/pSspRBrQ3odNk11h9GqNbksx4QP9DH8RPcchRH2ztT4edkIaKE4wP5UEPiwcmFUdocfqvQeL+A4Dg6kxxWU8XZMcl/K03rBbCbPvdQn69fXJdZvrvOzgaoe+Snu4s0NW+jH9Sg4bCpfhaJGQObW2pNHaJgozuFIVKXyrv2DOrI3Qu7LCcYp6HR1JIuN/QyJsjz7MEFs+nnAA3XPxoHV0fEDLrq4u+mB+XsSLjvD4RNZSbYNbn0/6+Q18qQ/TieSCKDVcxYk1qA7lc1qIBY4HuJQrwpNmojRy7Y9bmtfou0pCrUcdF8LnJJrCvjpzw3qB5DZXiWafuNy+9ySR5Zo5r/0IuBOzxw2PruvGDIYjep1V97PPCfq7Ud1iBRxVM+Klda3pq0V+WbA4/TyqPoOo2fWKvULYtKbqfW9sXaWwTqOXHSh4u0jjdYBn9ZIVqkFHakxo/TENZHeG13NXm/TMcDP0Q9ei7I+ISjNFIuRxJcmWobXkc6IkEDVVN4mG/nNTmv 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)(366004)(136003)(396003)(39860400002)(376002)(451199021)(38100700002)(107886003)(2616005)(36756003)(83380400001)(8936002)(8676002)(5660300002)(478600001)(54906003)(66556008)(316002)(6916009)(4326008)(66946007)(41300700001)(1076003)(26005)(186003)(6506007)(6486002)(66476007)(6512007)(6666004)(2906002)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ggfVmLqor91hHu/w8VQWz/zQX8lvn552rBaH5tl0TxudDapN2uWgHhVLioxYkBRDbWSdEgT+ysC53aYTbfA7FVsXBJQGXt1ghBzfL2xmVZJmx4Y77F1/Ck0ehgPUtjW+kPQO5jhXzLQAE8zvfDDqQoNXSt7EihvwCGRpaQ8uSmiN5F36h9jX6U/mvMkW8wl1oM/jrFiaXGsH1qt3hKm/RQN3DpceC9mRN6LpqJAiiQ+Sq1gzOKSkn4nZGXjNQRAXvQnrNLdZQ9Fz01x+dcawYX4AGTUCsIKrO3LFVzabP+Q6IiXV4Hg2j+/tfaP+MD94EiBIfo9BV7EQhGM8f7BvOukb8iAI6e1Ff0pzjvfj1+5JzgHFgZDQH/levF7ZSHJZSi/5bFa/ScBfyJ6sKzktSssS0/+fspMXMzQvtyCDhDa/LIcAn9eN368ty+kHXPhYXOOX2lsRMk6Q60TXuDYW0AupjR/Nd74FFjWw0tgCM7VkUL1qCfO8eSPP+4c181KgR1Pq3Z2nyQjhKRtMMnWpxwXb3KYey1SfBXpFMfa7L/eS6kt2FKC0eXZyTEWq/l8mjppJb6wdTdggn8rPtRzwGjfGQ2A2K7FkppYyOOx05k0sok5Qg5hRmRHq7mB/So8crDIpfAkAoQcKeWnZl4om9lyQ50WM2odaHqS61DihFkXXRDP6Q+rGUIghZdSimnIbb6i8WFHgKr95j8hymGBl3RgHIr7oR+hHKisT3+MN+jWvYqB2K5puemarKgJsrx52mjqrv1sfnfveOaKtNkYYSTbu5N2ZHhJLJsQZzVuCUsXuIV/FLOkD8yDFrapyGPfqHT7f4SsTg4LNjNId0+vUF7V/WMkV264uS+PDMGTVSQKYG9Ascp8v2Xzn4Pr1OnxXvIyddmykVdGqaAyoVur79HDW/XZr7qxh13uaU9++ciaDoDmCbRz7msZct+yD+odkgcZQvhXIBEcAGXhDk+7UlxVW2Scr0+LOw7wqWvBVU0kmnx70vIUYyFb00yogKWfI16KstDtMVndSF3+P8pPirtKaF+qAdAoWNt/VNvtJRfl88rT0VpFEXoVemj4XFa9joLl//sdPX5BZ5ajPmOvxaiYxq0VzbSSZLVoyvbQwgr7aY386UgdsLBdDbdkjakiX4U5svkTsaSfXknO/V/pTrWUVv8PfMy1qVRH7XqOdfD85HEfiC2m3vWwOc7VOwawlsxU92tO7KQEEfLxTH1YPXrxoIfWklGspOGGUf+kj1H1nRCllFs8N4W9V+Nr/6PHPdPhOHlhsP0fuEdsinQOt99/3vPqdJjXWPg2uiBH6Qxkb3Ag/SJu9Mv/DcmnWVeC/A3q9nQA3wcO09L/xnTzceSoTdKqeoBkQKB2kseqZK22jG4JdsirhiSq6Iish0vMjXGXyJOxgeShph2hFtzr9NaICzrh1SmlgH69SGJ334Q5o09nuKQsk7Fzj8lRDpBg/0GrP0xlPZFSJpUR64a5SRFYAkkPCZEHJBQn7b5UNBYeuezoK6Ymdzrik593A4WlxnicR+Ly7uR+FWUemdzqIb6GbEObvYWiERFXEJSZYFAy+llXlAgKVREd/AZ+Dwx4A0wBfipDge+IY4Bsf2TKLwA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Hzt5vhd8Vzl6/Iw3qrxazerz2hamjLyn2bKEaDnoBnDcjr/9hNSfEYt8vVu7ooAjqN0YItsn8edNq52uyFBkqcbhroXgfrWVpMD4SAsLunbx6SMoKQ+Dr18B9p6ACRQ/6uWP1jfRWZ51lnW6h40Qv5yDWfAGZku8Rii2TFuJ0NAVfaE09ZGOQQQ8QPFK7q6aWRrAywzyau1ci6WodUnlLRBqNo16cuzbkypzyIb21EfYtyMrmV+dGPvH7KFRlUJeal7Aw8WNhnZ7Zen0yYkSZrsMk1jTd0xaveqICdJnYRoT9ORErU1ZWF3/sjll0m+x9RPH8hbqz5pK9alQbD+xvuQctHuh48kCOmPP/Lb+fIlEnxwaHOaw6WA/DPV0vtF0fyHReTZDX04513y1/YpppQS3M6kVhWmrkTmFsR0BpQewqmKJLBScxNXshcPA/IS+o0er7Q27wrPdxoUX0h5/xwTeYMgU4HT878bJseNbzuadKKhL7YVuG8t8PyvXgDsVyckyATsEgtDaKdkP1OT77dE1wURO8hbnxfl7kJRJ6QnfGgxkJRFF7tZfCiqH3cx6wlWBWPUexU8+E8O/d0Y1yTIhE00sqQOz9T7m/VPNHTje54ZWhmhXeuacIZsEfemOiBic1FIB2GcBjl9p/hLGEvtMfjSXmLsAkX+QWpL5yq7znYbPblF7H//gEV+Xy74zcRpTqoSbvGXINo2x/j3N/9TyEem0qVMb1ufrE4YalO7rX+lfvjQKDsBYPdj5HPHrXigIhhWBrSVjcfttLLD+p8cz6F2q05oxA5IyLHbc2j5bhbs0bUdbEdB8pQHtSPiqJOH8ApkkDgww9wl6Po/1X9GK60UPtNBhbmJnnwQG+YBK+7WxwyQlpeMdfxCDZ5zwUtGe0037B09PdOV5B3ryftGUW+Xs4YlIIkvPd3mv9do= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: afa2eff4-bc7c-44ce-88a2-08db8c745ee1 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2023 18:32:44.0852 (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: jSICYdm+guhhgK0UG8t6ftfPbETKD/RLqeIREr0ugY0uvuOWihvv2klfKBrPywjZ+/iS3ViuWe9wftLwMRuQ4Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB6609 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-24_14,2023-07-24_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 mlxlogscore=999 adultscore=0 mlxscore=0 phishscore=0 suspectscore=0 bulkscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307240164 X-Proofpoint-GUID: IRmmvWP2BJYYg-4JJ7DoWtnmA7uqr1Z7 X-Proofpoint-ORIG-GUID: IRmmvWP2BJYYg-4JJ7DoWtnmA7uqr1Z7 X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 7E5CE100022 X-Stat-Signature: k73yehp9n58kzaoecbk711tnwf6ez8n8 X-HE-Tag: 1690223569-41959 X-HE-Meta: U2FsdGVkX1/BEnttZMeFSQqVbR9M/l8cfE6jTE1C7a6qqIHkYL/iyNcZ5oaH6N+Js3M9h2UulT8ZLP+y14m05aC7boQughhoX8zCfen98+s8r81hrR/l2rUQoRmZueEbar0iKAVQ/XOyhbXexn3iz/1jFIRrTGkgZSEDeZKnqKStMbUQp15ampAtk5EIx+j/k51nUgvwQANgVlABXyNxtNr7OA2cPewH6XD968Aw7Ls1Mzfi6X6adBeftTkqkd7+CIKo/nW3TkNjTpt6LVewJ2MGeqLsFi2Od4jOAMM7z1b9yMPtE8eJUXwdcnEqcCIF+Jng8F0TloTb1ozWhsa9/vWM0dKHQ4Q/xURQ9xGiVV3abdx75d+qHf7f8DfOrhfteAaSSMND4RoEQNvdvS40iR5jD9AhBXAcTnHMKbXrrHVo9p/WHxz2u9YMtBpo7getbaxMXgz+YKG9FjjKraPfOm/80fXXApg/RHLe++iW4nAYYHozzeAIrW8ZykUX/TfkAXK3KmxNZye+mMrALcyg4NTuV6k6b9l4MyaTRM/Xe9XJ7aoNxzoXK4QKQL0PhJTEIfDOR6tNKmz/dwOqaBFz6ZfEoAMdDjY6s0Nf687NHaG/KygHTnlRaZChjVJNdPh4FC1Gsuc+G+piiqLXCjqlxJhIgMoRtr4wECojgsvf80HR70SYXjlSV/iXmY4t3VKiRCGRnL1tnFHsvg1btD2fmVUNvJT5fpUcXbpoI3FrJ2O9m4vcH3f6dn6KyLNwA/aKNpjSIUdT/OatjjtTiK0FR43nb/+lDW9vLKdUDW0upkaZv3GF8nFgMRKfQZcelSyPK1oQhPlyrfTcnO+83BOJVuLYJ3OBmTON5UE2gmC7c6UMzHr+5rIq3qSXszZD6jmLGJpuTbw5rySzbzyDOP+xcL4p11acVgJCET6VJBiIuA38uGE2TzEmJnJIj3tMn4trsQ9C+odhRw9NLkTLMOG fpqyERp9 6P/WBjL3VLE+IQas45ENfzoAFhrY/IwiS92C2R5sECyO4SvKpCS0DujjGkw5T9oHBzKMqG7iJJAt5I4gDYbcGUYdpCjJ4CsKjq6nGadRtIjukK50KVElivblYQ79gbgCP5tny4+enLJGsYJ9JSgMJm/QKa4s8S7frSn5ux0paghy0sJCQnSEJvpMZfuouUwhP/CsoJAVR6FxtVQ8cchJtogD6ZMK3Bvg8cYesYEeMbIuM/SNNJR6z1dbcGaPRH3Bkd+X0PB4QWpcwd6ZHgDxKXK/wI3pHR64m0MLIt6xS8xQ28Qj0tAuJnpOwc9CJaTCeMgHaJZxka0zRarHFlCE2atnzEV3uLFODQAWPwf4k35u9FSOMlNRIOJINW70Au7Dww0Sb8P4E/MHSyvSLPFAedYn2Cd6NbyFOi6oUyAEVfJpklCE= 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 494f884ef17f..db61cdd8a649 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -4180,18 +4180,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; @@ -4228,6 +4216,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; @@ -4371,10 +4374,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 Jul 24 18:31:54 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: 13325241 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 131D8C00528 for ; Mon, 24 Jul 2023 18:33:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B191B280008; Mon, 24 Jul 2023 14:32:56 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AA1EC280004; Mon, 24 Jul 2023 14:32:56 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8A5DE280008; Mon, 24 Jul 2023 14:32:56 -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 6FE01280004 for ; Mon, 24 Jul 2023 14:32:56 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 197AB80B43 for ; Mon, 24 Jul 2023 18:32:56 +0000 (UTC) X-FDA: 81047351952.09.4C0BFAA Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf16.hostedemail.com (Postfix) with ESMTP id 771E5180005 for ; Mon, 24 Jul 2023 18:32:52 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=Pf3EkMHy; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=t0QS1gzy; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf16.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") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1690223572; 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=gASc2k9myOR5GwusdG5JW/5KRuhuyxQLmMm89M04DtA=; b=pa+5RldWudWDjwikHQVdja7437OEsbr12CjyJSbLCpNCDq3b6mrA2Vmia6Kbr3euHoIrgZ 8y+uQwtZ557PDh6UHE63wNOe09cZbDD71zRRv25gThXpiq6nJlVf7D+Z1hfaYuQlMAuUQe lpQB++NXaBdFvgkAwWf2eTUxSWP/Pxk= ARC-Authentication-Results: i=2; imf16.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=Pf3EkMHy; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=t0QS1gzy; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf16.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") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1690223572; a=rsa-sha256; cv=pass; b=5M+IepEyZPdbf/45sbNBQEB8LgaCZ6dz0CPoxQwrnk0jIoLNEOOIkqdIxBbRsWNXfdZrEE 8fNVSGBt33EzOkrWlyKaGxCBpWigB6JALE79rsrE8PVIA01OA0jh+9dXcpQUMubmH0nikG LoaEl5VAAAk75yels9W3MCV968c5o4s= Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36OFNp6m027010; Mon, 24 Jul 2023 18:32:49 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=gASc2k9myOR5GwusdG5JW/5KRuhuyxQLmMm89M04DtA=; b=Pf3EkMHyaXhkw3q7zWZfHPVT7iMo8bubnJJ0w1gjaW33I5Mdd0V/unukQcYYnerOucQK f/0jLwvfGLwAUnfx88In/Ej8Eg2Ki+H+7zqbb4bRBWN7UcF/cOoNU5xIQQGS1fkH5v+U dE3nJ0SPkA96qJr8X/0SUCpOWnVpIcC+PSDQlp4HWFLnIyydzjW+jtTJMG+QM8huwPlf bN31EVN+OMsaH/LQAoXbZ7zWEdYWLm6utAqNUvTd6R1BjH9UQpoxyzZQCTTsN6NfdwCE DJe+bgjboLfGdeZyb8QKLc8aqPT/7SLXsmDvN4mUgsYGt3GtEQ9KIWro7G81NBSCYgYw rQ== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3s075d3fac-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:49 +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 36OH2CpY003886; Mon, 24 Jul 2023 18:32:48 GMT Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04lp2168.outbound.protection.outlook.com [104.47.73.168]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3s05j3ssh6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:48 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MS40XSecKEqCu4AXjdfICBOoaKarbPqKnbpWfEjMty2160ZJsOG7N6ruWCBqRZVjeou8HX6RVpmGpaJazTKENPMBfPulhqWIZi9xZRHO5mY6XPWLpDCL3Q9OmbDx0j5BwvMUxN6QUjxPU/cUazJC0kXZBkvyFXjF4T1VOFBhburjxWHW8NRhmzq/IK9yymakXFtgUAQ8m/Qpp5ATKb0bFiTZ3yYvKKF+j6S+xScCnH73Wmzsl1mfeVKNxsOAY4O+TR973/GZuJNZjwUEBx4oOgKHoy0fIkai8fDZFwSc9Xb1ZZ2te3pU37/oWF0G3xqAEvW31n0rmuDW/2GrkAqg4g== 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=gASc2k9myOR5GwusdG5JW/5KRuhuyxQLmMm89M04DtA=; b=mjZVz9Db3j1RU/QV+g9WI6gn6pv2i7ALC9sTbNOnDsLSViSOSZLcc97P6kn02eTvtx1rWyC4IEa9snbIHHlDVVawatwdjaWgRPeDGCdT6b96griy+k9j+swOBXWaM1ftg+UyENYXXVZLliCTOqxi0jgbd7RnjWg3B/RKm9aeYlOcGE3GiIQIzQdsQv+zDXfdzVoN8vMPeqMIwjctdN9HOGSnuOXBBOecNe6Xh3u+UqSxf16uDRIuN1Q2oSEmxldgDd3c+Rvo19CDoNeQEnYybA7bHhVMxfe+LexWQZFlOqXvn/fLXTiWCGWxVmTBCIemkJWxVsUKFmBM9WOjMOgDGg== 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=gASc2k9myOR5GwusdG5JW/5KRuhuyxQLmMm89M04DtA=; b=t0QS1gzyHhpBbVWQwDOWM6ns9T94Svoc2hctJsjFEBCOrIxf5jAZaxhFYzWT8+pi0Okm8TM6tqwtZ2YlrfDdUskq3f3HISvPFK11K60oYnZhKy0g4FMA+BFDqLkr/YPa9tRIpmc98FbTldjpB3PUn8GmNzbtFspl/0G0II0j9CY= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY8PR10MB6609.namprd10.prod.outlook.com (2603:10b6:930:57::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.32; Mon, 24 Jul 2023 18:32:46 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35%3]) with mapi id 15.20.6609.031; Mon, 24 Jul 2023 18:32:46 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Suren Baghdasaryan , "Liam R. Howlett" Subject: [PATCH v3 12/15] maple_tree: Update mas_preallocate() testing Date: Mon, 24 Jul 2023 14:31:54 -0400 Message-Id: <20230724183157.3939892-13-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230724183157.3939892-1-Liam.Howlett@oracle.com> References: <20230724183157.3939892-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: BL0PR0102CA0016.prod.exchangelabs.com (2603:10b6:207:18::29) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CY8PR10MB6609:EE_ X-MS-Office365-Filtering-Correlation-Id: 6e89d217-44ce-4cc4-c0d3-08db8c746044 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: s/wrSbkN3Id4QwPYjg+PljRHIYw2+m58qziUTIY+aJCZiz6xVDtwbgcExCP/v10qKFpkubFiEI6buL1B54/mys63WSqjlLa4LhKC4c1/gRDMdHbQrAGI+9Pya1cTRk1nSYj9haarwQIY8YRTUm5PL4zzLYZOnmrOHixGUCPeGwQYeSenCEpWJKwJNjbKN3OGKuBKabZaRVk7gs6zpwsjCP1yRybRFyNSbkE8526lDNmT6/evfF9YWwP+YY7xsUJZb+c2HSAyFGfrO+KbD3xvBtSfZXuZeuCX5ZUEmamoQOYubGU8s7S7gl5+tKs2Za+VCjx5riPzsqRAP4uEBVxTStS0pzND2y0aYEKcHPmOsCzveyHevPNSiPQ64oOna/eZ5y/U76n0k6LlTsQDu+HoIHheUukZlB1+Fuswz2w6q9rtHrg4NYjcCHrxSDIqC5V5unQe5DxOcUbH/Y/ZY6VOKMCCenWur6C7UxwFVNNBvOiz4mt+yg0UKwvi/3MTx3WFzZuDobKRWEJUj39uqiUNv5/KN4p6f3MlaX8amvIFlg06zF//gc2d5b2Wzfr1OD42 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)(366004)(136003)(396003)(39860400002)(376002)(451199021)(38100700002)(107886003)(2616005)(36756003)(83380400001)(8936002)(8676002)(5660300002)(478600001)(54906003)(66556008)(316002)(6916009)(4326008)(66946007)(41300700001)(1076003)(26005)(186003)(6506007)(15650500001)(6486002)(66476007)(6512007)(6666004)(2906002)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 7CKbdWgHMhVjs//HgDj1qvkyhazeJ80wMnE4U8YCuZjWfMB0VnFnxWc22XQV3hLKhAX3xlDSbuLyZw2hwk7zb+mSBbhp/4W/i2Z1eeC4nudLtmzZXzHPSoHn9c1KSpbWb0VnT5JDpXvQFckDJWeRyi74U6tdHgArWZRftewE4qZZXCstkufSj1j2y9BIwcHSg6oMoyGeGOGymj3tKpJWBP6sldg1Rs0Kr8WMB2ZNvZJ4ZLOAYbdsSsHkgl4yqLNzGD3e7uIj7IkNL9o33JONOK+c20bVGoxdHnYmUjgiGfm51Vd8uay4rbQtflfkDhgCatukpJLfolKEISD8TK3iNFPOAMSk3ZZn+0oc+bvYBgSIMS5ZRW2aBKABGhXAYWsdunjnJcbXKthB94ViAZRBSw925bENu5qKHWYl3eKIc0a/iBEiVnVZdGKvAHQA5ng740VbwvlFMWa//FuXiU2at9/gzfxu3BApgANAEkES7wrxe2svpEKtui4RAM8Lyx7yKf0ac5TBODbAxVY0FKp8pbiyJpcYiBu5Rsc9NOVamaYCcpD1MDT8MyjQSTNwTkvgBRtcfXlIJlBdGwMLElJ69Ka1hNOwJwTqU9yJEE6O1d0vFKtu3XeqTQOFmkOZBznipvSK08DqvnujU+35dDYvNoaqU9HEEqsfXbfa7//8Chf+pGXWZ7NKMvd4tQ8eER2d8wBayCGJJ6mTw4deLDhb+yWN2ZhJkAB9ySocfH90hW137y/h+qac+aJTvp2Q7jQI6d3Da3TpBaSu0X86aGCjPBUS6tNSybBXuCSkMjRVDVCWP/ytwd3ze31Lm7CRRZusGPUNHUNkAOH4mClbYBuHkMyXrTkSiuc+eYP5v19h0spEZESgT00z1uPwH6/YV1MR4gfXH8/1hWTWlAdmjoeodRaehn7hIST0q8sfHDHwmNL/5pjHC8NpDEQm5oHpQLYJSS4jw6Eaiq/h+X1bpZ2A/Zfm9KmRtxYYxczS4DHoM8ExJrePd6HH79UnY0J1Rw1c89A/R3LddrLbs1U0AbHlLdBAu2gEajttxzfMADqrq/8SNaCcY9qff1SUTa7Fw5MlPdDQVfdRn2sw0WXSbwgeMy9tVjGUR0fxtg9q9CeqmjCACH9QiqoxZSZhCCLp+AjYGIV2OmcIeRY1b93ncNjLe00xf+XM2ay2m4gpl8P6pgEpB58WJk55CI3okxTgxRo+UWetGjZvWyymLN5UHwyosERL1SqraqG8QPclUgWDAoupvLoBDrvit/g5wWEs5rHSaNYKr6Oz56pyMbUQu++N1YG6xyShs5GfDEXQ5k3xsyiKDo19sdbmtLdDGagUwOf4lMa90QLOLMTbH34GD4l/Zu8scY1nT+U7KB2/A+Jz6QdT906XY+DVfZaMORaSyjwux3BeREnxowCKMUvcKLoVq5ub3E31XaOtrhJL3jC5F89rbYxZKxbVfQE9dFNJ102QuPimGqcecf5c2dMRNTEeeDv0dKt8K0y/Gq5vVqHBjEb5U74NRg3yC5AzCoZ2XSR/7VuF5rn+GschVudwWo0erUAzJMmmJhi/XX/1KouigUQH/af4I6mnO6a0JP4/TJhRGKM8szTQsUwE+/1stIFBIQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: uk71LjPvycxlkowjeF02z0VIk24oTBfaj987FHASpT6yfYvt/eQtyRvTlBQjrs08zIWDC8LaOzHZzV8i7Do2uElz87XOlupH+gdsJGwb3uueZtaMqJrQQrdXR3q8y0uGGP7JQW79tcnZJk2T881kKOkuKoZgU2TIo7/okSNFWdVIkZ5tYcoxz0ppph9Kcnmq5tz7txGBYMi09/MJt2rPMDTELY6NeVYjMCVhTrmA1QAPSbUTJYJ05ZVQEFluBirLt4tiS8Gqv2gb6576nkZu06YHMEOgcb8/0yMsvXvkdKtWGdkfjAnUfNEWVaRvj3eO9LGTKJkri6Jw1AvoRi4sX3nC37xRMsj65bHd/zzuHMeSeuDINSG0BXRThFlYCSOLVfMXWuu1asd3es59Ed1n+HG/qyVIcdg6EqGvAaTL0sfEEgoTko4JqR21vVwosmidpMxK/ispGeY1hi02gEC4Cucj/7eCNjI9lN5Xr4BSc7H08HBKVLfQFUPZB75NKaPg/ga07Ks1BU/UchYUwVeZDngNjGvkTkKuCYs2Lpt1Ybjbo3o5osRgVUlhYApapuzgkNA2wcJ02Y+uzftsKddcPD3NwxSpn9fqFzPYCfuX6op6zSQqZ6CsnEIGX3EWEt5jAKaxZQAT7ewmU3xcpM8YIO6TSvBhBtA9v5PjX50LcyMErV285YocZtziuc8yloWCYjPs/jwdqCRASFGVEwPKPl3ebimYs6FND2d0aO3+JegeJNxokRYqDc3DyHJ+A1zxibeaFMnCuN+JZEyaV1PT74mhYGhtfGbIm9tplvG9I3ykXbt9BP+cgl1F8bE32I0kMLfoBZOlp32FGoGocCDxNaF+eig4ZBNCIHC8h44DPUh1916qNhmWEUvdgCjoKCKJn5S4EJRkdJFtZErXm59o0oXiBN9EhslJYal5oUC6t7E= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6e89d217-44ce-4cc4-c0d3-08db8c746044 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2023 18:32:46.3354 (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: KcXMeKWhgN4NyoqQwVuN25bfmRv7rnoJZ+totijFRqC28HRN2qesysrjbk5AuZyOdvpbqXkHAxtfwqmQcODPQg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB6609 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-24_14,2023-07-24_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 adultscore=0 phishscore=0 bulkscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307240164 X-Proofpoint-ORIG-GUID: uec6J5yuS6NTB_FBsKlP8pHa1b0G236h X-Proofpoint-GUID: uec6J5yuS6NTB_FBsKlP8pHa1b0G236h X-Rspamd-Queue-Id: 771E5180005 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: cy1pnm83azfzqt8utegb34czpbcrt8rb X-HE-Tag: 1690223572-914124 X-HE-Meta: U2FsdGVkX1+cc7sTFH9yRierk4xrfBxI/ANfqw3mtcKiDma6gI78cY82gRe6gEf7jfJKwW99jBqwjX4hijtSA044ofvHbGMeoKHe2nGOMKD9CrwQ6IfdU0kTxhZDuwvIYNZTTMsvkga9UfLk0ymwfuf/BYl8kuMmwBNlvyL38itl8Kxckk9LOB3z1ktwUiMd5QQjhRjqLpQk4yc59ExaVunKNEHZQj/Od5/dFUR0DWjN0xMo9zpxMa9wOhXbvB6+X9lLvLF1gCTJtfEGZa5Z4GJmc67/3NOpQr1lSCiypOrGB2XEXHeMRf+MdwZ6XtCt3QaKuy3FAMaMASDKd+8RGc7FlMTbs1GoioOlLMqUkhReMTsCzkIxcPN5Wl+g7ZCQEu59AyRlmYU41lvAdgE2c5nrFHV+0MIQ6ov8bUuCK6Qknck4JIuuZgAIQLGRPZrcWmG/TG1lEDiKGJTFZEe7sIoG8fkX+Csbd8Q2d6pJvPtEq9RxS7480l49dwnkbV6YEOttyr8+F+mu+re7AzKodV4BrDziiASPSwIJW4wxuZNxteBwlGl/fRLIt5yN4i8laPkGwHjaa8TpvdqzyZV5wVomyagZTmYRR5Z+6w3b7EKG4r2yOiCVzOIEvVYZBFTwgVs7M9mq8pwMAGaaBqnDqHhnMhWRmATPdPAPoM6HfaOMCwU2Se9aOfxHC1nkdTtzbvDrYqO1MjevgGOywiYhVRIv9x72aJyE0XJaal+uaC1GPYzf8PHV/4dFCJGuvXBN0CTcCv4J5HYvJM1anN8vMm9epnxy05HIiiv9rMmxb5MvHBqp6cBPpGFcKAdpiwrmJJzuFDfmeD4IJg66eWV6MBoh6AjG90GI5wqWDFuE+vnIgUK1EwNBnfMtblJ4oGDLCOk7tG1gbpu1xsCGw3T1hytVWnWAxoFXTIdC584rAhxRFecWzswxkB6Ug2sH52dOR6vuQ8bGjR/dXsMLq1L 42VBD1mE hnf5l3O3RLBYAMs7iOlaozPNKsYbmJMVtCeclUdSIwlJZx5fs732je98Y+FvuWIKeU00ZZt78cOFkwOVuypR9V8Kq/iDwKTCM11rP4l3obFBdPafoo5w+mo/yCnIyvlUdt4MV1zIKWn7fcwLpzZYu2ItW4/KWv3DKm/SAGTLapnVrXh0UxjskbmvdGUGKzddG1c/Mo4x8NHuWkkLGPrF7R9FQ/SyExGohh0D1RiQxwZouP3AzkgjZ9RKH9zb07SI3qU4XGWmSGJX3Ev/zXr3rm0G9edifTLm0kanCqVzcAdTB9lHTlVGDUuGA1S2gH0t49XWFbWBWolASZ4hAwsSnqOubTsZtjSQ5blsGZ0trelPiDq4g9qZbQZSEKtPKEuSt0dEtU1O4Hv1wNZfgTws2aWAXiDsVLMc74vlJoMGbOYQejOc= 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: Since the mas_preallocate() calculation has been updated to be more precise, the testing must also be updated to check for what is expected. 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 c6c1c5109deb..e5da1cad70ba 100644 --- a/tools/testing/radix-tree/maple.c +++ b/tools/testing/radix-tree/maple.c @@ -35458,6 +35458,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); @@ -35481,7 +35483,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); @@ -35495,7 +35496,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); @@ -35509,7 +35509,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); @@ -35523,33 +35522,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 != 1); 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); @@ -35557,6 +35560,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); @@ -35564,6 +35568,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 Jul 24 18:31:55 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: 13325242 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 708B8C0015E for ; Mon, 24 Jul 2023 18:33:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1072E280009; Mon, 24 Jul 2023 14:32:58 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 09045280004; Mon, 24 Jul 2023 14:32:58 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DAEE4280009; Mon, 24 Jul 2023 14:32:57 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id B8428280004 for ; Mon, 24 Jul 2023 14:32:57 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 79BF240C04 for ; Mon, 24 Jul 2023 18:32:57 +0000 (UTC) X-FDA: 81047351994.28.4DFAD88 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf18.hostedemail.com (Postfix) with ESMTP id EEE431C000E for ; Mon, 24 Jul 2023 18:32:53 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=UBV0DR8a; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=ZqLzMq1d; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf18.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=1690223574; 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=WdM8co3kDOxUJgEOeWvcgW/1d6ZlELG+fKQAf/n1M8E=; b=tUfdjwh5ueQcFrytCepvFgQc84FF7n5/HNN9IWjulEv8NBLH/edhlPHr4QDZAEUfUuJA1f jnDi8QRjwTG0DPjF0+2/3EN/ZXKIE+w2O2eMKxv+G4s/gMtrmncUxc9enD/k2VabqoX8EZ 6LeHBu70oSLBBEmGmROQPDk5nds2VLM= ARC-Authentication-Results: i=2; imf18.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=UBV0DR8a; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=ZqLzMq1d; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf18.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=1690223574; a=rsa-sha256; cv=pass; b=7Oq8tuzP0CTPu/TEafJWoZ0d19sABxNVBAUZGbMTNFjW/NwE8obWpfHr+Zlzoiv76W7lI9 krZsqE02MDJYsN7ofncxLtIbKkLz7xjoUCCYkSstPKgpvwWM7S7T4aCwbsBdjs0ttj/lTw qWhgNwRgVtKet/qh0EJOBCD0EasxQKs= 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 36OFOIV8005716; Mon, 24 Jul 2023 18:32:51 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=WdM8co3kDOxUJgEOeWvcgW/1d6ZlELG+fKQAf/n1M8E=; b=UBV0DR8av+8JzHoJzqxLqeSDdo38JZKIT83esAipiJ7Zh6Fzgi1EqwMSHEPCMwfE+tvU jJk9a+r59at8QLmcp1IIhp+0l+mXGfPyuYEDHifYrUfR1ixtfCKPwI0I2dhll/zOcwAg eTjmyM4j0jO75+SzsNHVDOQ1Chb+6JOvGCGP7LfXs8xDOrMIxeOggm/KxvCYwKS+VsVF ei3rKcS+BMG/jYfWS1AGeLiAxI3rV7rbKr7P5pR4cWbvJrejvaRcT4fbAgG0t7N0VWVu GxV6xOoL7O7/JgL2foQFGPYKgpjDCycocnhnzdI6/bZzCtCqK0Mem0xNd2USgPjKozR7 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 3s061c3fv9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:51 +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 36OIIoM6035409; Mon, 24 Jul 2023 18:32:50 GMT Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04lp2173.outbound.protection.outlook.com [104.47.73.173]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3s05j3t3wq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CCK8waiuRmfzqeTPJSoVOXXE+A81wBqXfqOytqkuMh28Har1kMvILG/1cTFa3EY4CuXGP1P+Y0WF8PnEIs9RF9j8e8JI6bNwfX2+TSUMX4VlWYv1cDXZ3Lf4kk3uLZYQTT6idk+eGFTIBBbgDd6tM/H/T/YCxGrtlPMRNa4SdLVYDV/68tVazCSPa0QbWr8hoXYu+noIYuNCu/yQLHk/0w0VOdaQIjNxQ1ySeOitwqA1OwIkb2Pl3k6uhg2RJrKMkxH5RZ4uc7XzBztSFq5oV/tFnhKqiaV7ap48o6Ji64gDPXjnM+YCpnwzXr0qxD4cyaKa1eD41ZtC6SASFBeaPw== 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=WdM8co3kDOxUJgEOeWvcgW/1d6ZlELG+fKQAf/n1M8E=; b=dv5/3JNOP/SYlw/gPf/uNBiJUQsva29AC7J3sI7+sghxZncqjFxbDtO32a6K57oyIDa7ZWalQrojz/eMHlgMsvS9eL9F2CVCnB7FEfHFE7xSTUYYIF/Ka8JpsqpFxldmEr3HitiBc/1kJmzxSQjkcr657J01NnQmsIozezs6agTOYeHx3IuRtGXJqcAHMc0Y9fW+oE35p0OhFJeCQr2SAO18RKz510felJHU/qg4BzU0KVkWj7BCuUFDSyqydSOmfyb94+iU5TNHI1rCmQhRXujUc1su1KlqXSqSCCpL7hBOd5pJaGUO7YAEQRA2L8Hw4DRi7P9ehizgiS7S+pOE/A== 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=WdM8co3kDOxUJgEOeWvcgW/1d6ZlELG+fKQAf/n1M8E=; b=ZqLzMq1dfhD2qO1IkWgAiKLN8lIQTyO8rKACEKIzzOQyKSgmQAVUSACFqMUfhxxYGI5D87c0z3ozoI5ZWoyY4eMFgds7ADZF2nRS7tD0BirXkv+Q6/0z14fR3SV17OJYvSkOLXsx7OgyV1E43l3C67CKYZwdVuLZQbb2LQO0dNs= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY8PR10MB6609.namprd10.prod.outlook.com (2603:10b6:930:57::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.32; Mon, 24 Jul 2023 18:32:48 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35%3]) with mapi id 15.20.6609.031; Mon, 24 Jul 2023 18:32:48 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Suren Baghdasaryan , "Liam R. Howlett" Subject: [PATCH v3 13/15] maple_tree: Refine mas_preallocate() node calculations Date: Mon, 24 Jul 2023 14:31:55 -0400 Message-Id: <20230724183157.3939892-14-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230724183157.3939892-1-Liam.Howlett@oracle.com> References: <20230724183157.3939892-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0027.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:fe::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_|CY8PR10MB6609:EE_ X-MS-Office365-Filtering-Correlation-Id: 83c48392-5c3f-4534-96ca-08db8c7461a5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gOZlbmEVVsGlK+qBMaBmgtBbq25UYGuBrb93aAckhlQpaHyxb0PEMG8OaT0eiYBnLx+UMnW3si2r2uNhyp7/IXri7Jpa2vOtlqsrNZ0+SZoEDx74qpK2enCjRn5G5Eooi0u2MZTqxZ5b9Y2xEhde1BQPWNSGHe9XUrsde6aW28bfTBts0NvWbuw0pNZnv6w0JKj0+OepuL+12WQjOfJN9J0/j+TJbP3ML+wQ1gCKy3jPu2orevdDCDfZ/4oAIiEQUhHJ0YmoV7zlY2+OIJOP5M2TuCPyC2VnvWJS/D/dMMOOGAkspkh8TzSW44XmCke3jxX/qE2+W8+OZF3+PsUTMZ7YC9zIaFX9R519STc1DPjK+f43Tx3FY5SINc1dXxnqZD3HzqHNlgI/0HVuV+HT0jmevRFCEDh78grkn8KfrwxrHHJ9kAls/XIAi6Ff/FwdlI/FbzCJUA4UyxLysgV8jwlomRy8375ZspxCRhsEUGc/ykGq733Bu2AugwTqb3Me/N/tz5D2K6+g9d3l0HGJIoJE/jnbnt1+2ACBAvybJALMgMXStMm/ERU2GsifB+8r 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)(366004)(136003)(396003)(39860400002)(376002)(451199021)(38100700002)(107886003)(2616005)(36756003)(83380400001)(8936002)(8676002)(5660300002)(478600001)(54906003)(66556008)(316002)(6916009)(4326008)(66946007)(41300700001)(1076003)(26005)(186003)(6506007)(6486002)(66476007)(6512007)(6666004)(2906002)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: T90gBg4639CFy8dOg565EdLbt4QJdPYxDmJM6b14IpurJ2VHej9TE1qkgUk7OrDQselZ5SjbTWKekLbU50zSL2qc8soZ3FTdTgGX1W0PxhZjxiFtfqljKC8ngQqwgvbxuPPame3IRLdHRPG2ClWgU7negzSMys9kxZ+77KTFe2EX0Rpd6mNUSGNka8fGEtSx+JZyFwBhqOZcI74SlwKebQoQghUxB7yRIziAPH2LtPBK3fKTdyS6L2ca5Z2YRCcFX4JN+QQHiprOzSnQ2QQ4SpXMMVMtftEpUy8Qdg0BoFl7ZJpLBd4ZKgnICEI2lKoe7thV8tUCB9LgI0J0fhCoHJ4U9/CLYs3ld5JhnKvzclb0SF9Mlqbz5kTahz3diSw6uBAgGiaYITaTuUAEFFXhwujGMg488o4yhf15R7oGe7IB8cTpNA2aYF6/+YJiR7dK2NOnTRmJvoX4VPMmRkiFjL/UwA+32MsXd4XF5NI7XpR9hgmmfRLcRt3/DbRSzgv8M9CPbyg6rFRKsduNrfrClK/Ls6ppSzMpxwsl+SPzu4zHS268EUtYGN4j9f/Gq/6Xtn8vTyLlHtSdw+vXd+ENfQDxNN+U9XshGWaXkeVhYi7PE8DBN/chjogeE8Ke5hB6EhLcu0Ussua6qEWk71cOzGDrNqDuXRet6HkFwfn1Br0OIYSnT9GKtHftWzIP7V57PFUGq0UCzD9mJ8D67zA756BmLytwb6R+APXrK4FC3BEytmOMkefqvOlijrQk42XJflan6Tu8blm9+QPnAbB7CzVCGe4as8THOHENsn2VXIgmR0zDX9P0lpsyi9Dqs5UJ1RWyK7i7Bi1u7U48doSY5Cfq2Apl3FNhLvnyYqdW/KurBGDIOJ90MJ0GL/g3GFFMSYx2czWIhIvCh0LFVODyK/fMm3WMXNIu47EE8/yFWYKIee0yX5p5rIJwNpD44uPenHJ4+SPZ4Tkl4oPnt45yOLpldeIdG7XoXKGuqCXgAxzlAuUFHNP6d1YlawMz4P7tFNWtpEKo4zQMVfuPI4Btpr2YqQ9g6ZlkTDKARSsfAT1fLa9d4MV92JvmynJvI4GRSR2w15boqQ/0qViqq4lm4KA0a2pHGNDcEabexDFMwyU9S56Ec6VgHfjnL+ZQ0QwKCk+KMOrblMdoT6EFmKV45bWs0luo4E9+yFRjirZj50etCn/9ST8RmaM1TyOqpd1FxP7hXX0lR0eb6DtzZP4Qkebeybqheqi8zOBddVNMp+Kl8mF+4yZluXegiYSHfEvSsrT05YYM12eEGAGbKMDWjzG0sN3J0mdEYakx4YGwdw9R9ZuSEqeSorOhMgaR+IqVKJQm2Z80VBdyCzCs6//2Vm8LkO2fxEJ/6iI/kkVjUV1FtGzKuKmSUMvyEXTo5K4xmuYJigXuN2wbV2u2Cf6GALIDaDrIuXlj4asXVsNXxS+sUzAcfHvSmzuH+l2GgJNOAHaBAl4tyPZ0yuRlk5dO+SqtDAOXUaxB34II8TKBi4RWuzG/ukxBv3hLXEa6Hi5L1LZbXELoGDoEMZLJXwLtJX5LmcvWgW+FetqpRFBVfnqmccwKwbFBuQCGp/mqc+cKQP887RwH5zuFSYTs+85QfQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: LBaiUyY7DyuI50smHmVmkd+1njtyvSdkvyU/rbqO0Yv0YYa4aavOboekteKXgRnb+cT7e1Da0v//5vSr+e7Tj2qEXMEWZJmO6BT5ye/DgR/ckD0wnpyWXja8z7uBfapTPLI3wEWOtS7En8Z4EoleUlfpgX7P30NXNXAK2rBvIR70XJmxpelvzmhfXJ/DxwIIJ0j3IPlpMZ2kXI+1WCKYrftDg0asAZW/mdNRm0dUiOTAPjMdjSo+PQ6nzB5+P4XyIkwI9m9LJ0NKvqEexhKYa5n8eSRhQEVsrXxBw/JJERD05ZjTv6MzN+b7es5cLaQqyy6KPPVyaZDqOjH4xROFaO+dOS5kFgsIeKIz4PuEl4idqYZt2KGFWnPP4H6tGhL+xc+yDoZnPfJPCIe5M3lbtVoQYd/P0BXp5PLVh8izJQBIXFMCc/cgU4BewtcpOGkXtfxrF9EwdHcDweY2KhE5U5Mex3CLVNK2lqcPwn7d4D78npK5VVRiRu7VhgxmF9+lNVf5hsipyxhN9elzTUs+D9pV2szkTur8+UgDgH0DF2FrXUyBkVs2Jj/BZxuQmWVYt4QyeZNYZp+tIvJARjNyoj4r1LWI7JveA5VX31zdTeSUey1kC/c3KCAlDcqfilLCHrHLuSOvnFh+2T+60QYJ/jKXxPn8GjwEUoxuA+9b93L/RDR7I3avWYfl7kQDYwR9SDVaEUeSM+vTORhiXpaMvSGZDexoIS7TskM0e36hXr0wNFwtKRKggopSvITNL5HZ5bQu4/Yg4AQBE4YjC/pHZUEdGudgZRgZRklza7KLc6SyFbXAxbLnFeLKISsOT01kRVg9FzIu1TynU0fOblb8k7NdQWzKaLzxtKnOS+Zmm4TlwN+8lyaF+dj26zqVfyUrtXeU5EDAJA+H162X2YSMxOmk0nnH+phJTi+sFVPGkUs= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 83c48392-5c3f-4534-96ca-08db8c7461a5 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2023 18:32:48.6321 (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: Odkz+ZAw2fnZIWuEYO1U5ivq1xuW1tSx3oWCtE0pmaCx0V0Cg13H2kIP4ceP8kPKkbkcZ9cTm5lF3W9xB1DgXw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB6609 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-24_14,2023-07-24_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 spamscore=0 adultscore=0 phishscore=0 mlxlogscore=999 malwarescore=0 mlxscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307240164 X-Proofpoint-ORIG-GUID: q5ki6t7Cy2K0A7iGgJZ1e6mhapWSMt34 X-Proofpoint-GUID: q5ki6t7Cy2K0A7iGgJZ1e6mhapWSMt34 X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: EEE431C000E X-Stat-Signature: j9f6njwg7wdshw3ykexrmhx7icia5q6a X-HE-Tag: 1690223573-852688 X-HE-Meta: U2FsdGVkX19Q3txe6QkcIyYiCgAdjT1njm8WBYqqsdTI2jtYLJVOIuPRfTDmUuhI7lh9NTA7Ot6+1n93nyLQmXqDNyCgXH/VNEA/1pvdOo72zIr6sKKM/BJ7GDXsWwdAWAryzQpww4B7YoxpHjyGTh/mN9xAInb8c+U4PoIKkIqpWRge3/S4B0Qu1vTjNOGtx/0w9yNDALWhI0vPkv7b8aX9IaV41Eebk6B69+4gORyXrMflapmPFu9BBN26/JgAhGwhhI5xkckuJT+AbFU3KjqKOtdXYFK/QefGENUMJ3pUQv5wIisXzToypAH9QY9diP8sYmeG7Rah5LUmSG3NrX/a2DeIAsFqXkvwl0feUs5hYxHcFt+iz1feX7qUjzpUBJBFGa24AHp3DWFpsz+4mwvvRc3bYG5g/f56HajR/sZhgjf3S8Lnfk5tG+hPw/qkXHEgFLbI7lMt9pHgl2bgceZBYFUJoRHVXfmr9NRJs4TQ8jffahFyO5I/yMH7IK4Bz7Hy//m9J7qrl5hN+qn+0zkSEsh5SFuJqaGueIDhQn4vje4ZYTB0pGW3Nn3Up5ROzcevyXKjp38an1BttEXHZhim5VgPxV8KGSHtEeCOSc0vpNWeZeUO8Rktthjm+v4tPQFkoRVRc4BChG7aYER14BEN3uIJOYtsRbp0gKQz1zgS5CrZTtNHTOV2uOIerKeQ0ZzVQt1A+kX/zXzaVGITP/jdv/P5K/NHSicXOecLObdtOBFkO6NoeaAQTaBESfv4VaPExtbnfGYmIn+vipefmjzjLd8PDmVaKWtj3zFcS7eWGvtWAGdL0XRmlgSY5mGI74RzPw/hm6okwGFv/dtc+2E0vXMiXEWSiWHeUBn/ogF/Ob+mqZpZPFEYbAAVKaOEpVEl9153mc/0VXouLk9UzDX5tiSe+pFkQ0GwWwUCeu/r+xR5RrxHtlCpQMZDr9jRORMy8BqHfk9AHr6byrI RoqU2IUV 0xK2BLAybspIaNBELWyd5Xk8fy99TUN8B6E24MQTu98ZNBU+FLphbvNmAhbjUB1IPEXFa5fwixMQ4Jb+N6x+l/WGHL8YDvjpTy9pFq/keOqWb5BUg6/D/+M09GFRPGas8reuMU1oGQPVYQzby3OH4C+ykwti3ck6lkp/qwsWfeC0GUiTC+GO7CPd1LBshecRurucT5h8Vm3mfqy5N2+aDqsKTUn4wJHI2y4WRAvXZ15HGzohtt4H4zf3lnHKUcDEp1YMoF+lx9tnzjZVuBgELCYo2dCKM788byZlWSRwGKyN+h05k6iU4LQPNPhHskc5ViWWKlfQjuOrCjVnGBiBi80+HSYQzjQ+dxd1gSLcuvoBAY/FXmM9tO3BilE5WNEhTFSBK3Zv+7D+uLYuy2DlC7CZ1NqClif9/KzAo+LrwnGj7fWzlh2mgCup/83W+ccemL14Umh5hVFIq2D8= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000072, 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 | 44 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index db61cdd8a649..4a111785360f 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -5535,9 +5535,51 @@ 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); + if (node_size >= mt_slots[wr_mas.type]) { + /* Split, worst case for now. */ + request = 1 + mas_mt_height(mas) * 2; + goto ask_now; + } + + /* New root needs a singe node */ + if (unlikely(mte_is_root(mas->node))) + goto ask_now; + + /* 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, slot 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 Jul 24 18:31:56 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: 13325243 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 DA643C00528 for ; Mon, 24 Jul 2023 18:33:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5001428000A; Mon, 24 Jul 2023 14:33:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 488AE280004; Mon, 24 Jul 2023 14:33:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 264CB28000A; Mon, 24 Jul 2023 14:33:01 -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 0A921280004 for ; Mon, 24 Jul 2023 14:33:01 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id B890CA0B83 for ; Mon, 24 Jul 2023 18:33:00 +0000 (UTC) X-FDA: 81047352120.16.D529EDB Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf10.hostedemail.com (Postfix) with ESMTP id 466F8C0008 for ; Mon, 24 Jul 2023 18:32:57 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=CvXRE1cs; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=TjVd04I9; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf10.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") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1690223577; 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=xQJoMgoSWuoE1d/KIP+d/A+97DWByakHDeKsSva1Xvo=; b=GqMfRoLNUZmNKFkpDg40vnydfxtuMvAwUXCSPUL8nzPGY68J3+HDoaXAJThM6GwlpVV3ek uJvbr2twZyFrlkYCnACbvAAG979p8hev5CbWxn8WqKjVNQMzkdpCK1AxJVuS8qnxy9k7Pd RPV6RZ4xV6zw7ZliqLcHbMMygOwyN1c= ARC-Authentication-Results: i=2; imf10.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=CvXRE1cs; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=TjVd04I9; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf10.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") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1690223577; a=rsa-sha256; cv=pass; b=gY64LrTGoDeEPczetXpEQU7ykozLSE6Huptylq1ipodNtYj5+XSIp5RuO6yuJQxV/d/wFo vsAu4qj3a85jrVpxdRLUcDU3GUdWuu2jPCE1wUesOQPXNXMtJ8ZbqXdnupASaAfE+j6WVJ B89vI3IwWRGW1tjKi3F/dAmzV5rj6iI= 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 36OFNxi0009810; Mon, 24 Jul 2023 18:32:54 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=xQJoMgoSWuoE1d/KIP+d/A+97DWByakHDeKsSva1Xvo=; b=CvXRE1cssKFolEP7d+4oyBzcVV80X5Fg3aBc5EMhesGVjKg039I1VJRkTE5wcnGzMYcQ nW5Gea5ksB3L5ufhN8ZxW2iJS6jcqpdOeFQi0l8rWd2sDpO5ntLI6Fu7uHy9c5rXOp95 HT7LMWmMN4iTwpWN/JqeY7Smig0hpLY4YcSZ3TkQ4HSGLaiKfXXm94GRRE/OsC92u7a0 9lcVUp+Wo31zNrnIqp28nowDu+mEl/NRukE7nwoy7qrt9zMsVg5GmuociSFQu1oFOgn2 yBJjr1hwuCxt+yibSr+WYudXVPB5PJm6U+dk5ZMa6bj79IHzzlvN69BI+yNjrQnwTJQ6 vA== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3s06qtue77-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32: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 36OIIiB2000339; Mon, 24 Jul 2023 18:32:52 GMT Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04lp2169.outbound.protection.outlook.com [104.47.73.169]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3s05j4a0cq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GhnabyaYtBMbJCWovRvUD6ksp1hzw5ymCPZ+VP1F6mIMno6L+1SF2lQZLxr1ge/LmH3DC0kSPyrMD6MZk14Kjslbfg/XlWgCsdNbN5V9QebEJUpynFtA4BjfmIiNqTjgmwU7Uxl0ClfivAA4eIxtDT6BPVFyIAEha9mdtc25HM344Cvx87695kQNZAaqEY5i0oswcmhXdwBqQcWYMNR7jfw7OSo8B3+HggyrOMNc3mtjt8m+qwSumRwhvOtk8Yl+8qsBPyEryD6EJE9Rp0daGDqsGDRNr2AVddMkwr64XUTbQUwfQNvWYYG8m6xh2molw5OO9DrboBLthiDuxN9Jvg== 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=xQJoMgoSWuoE1d/KIP+d/A+97DWByakHDeKsSva1Xvo=; b=oWO0eF5iK7tinlviXgxzkEoInX3Mm/x4RnhfE/ZVpyFsMrtwoShtS/PLRp/dnLGzzZTQMiRKP+142j6O4+I8ldUNoc+fSBP7paIjKed8d0s/qUa9fxip59H8J/KdE8PB8NqG3ivKwPfSBwbn5UNOzmaPoEwBXsRDMq4azKvqVF0n7YCeAY1Pzc5TmJMELLJhOYczJrDWXLg+NuIBB4MqADogvIoLenjVYNrkGJx98eYzWRzIhQ45Jnl7u//o7twNdu3sw+dTnZ3nOqwrrwyr1Zd/3NIjZjHSHCPRG6pmFXVvyxn7bL0G6vDjwEZ0Xtbx8C43ZMB9SlCttVw3IfQtoQ== 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=xQJoMgoSWuoE1d/KIP+d/A+97DWByakHDeKsSva1Xvo=; b=TjVd04I9+aY4Qm4FI7X+O+YpMRu5wojUAkkzcqUOJQbwxyW/mnIJim81++wuAyRb68owE/cAsRVAMNZuMK3swgGTYaCNIymCQZ81VuIwT9DYbGRive6CCsEOn/aeTCBWJjRPP9fc/3oLJyLCLq4POU2En3XCYbCHiOqsjuW3Wk0= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY8PR10MB6609.namprd10.prod.outlook.com (2603:10b6:930:57::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.32; Mon, 24 Jul 2023 18:32:51 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35%3]) with mapi id 15.20.6609.031; Mon, 24 Jul 2023 18:32:51 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Suren Baghdasaryan , "Liam R. Howlett" Subject: [PATCH v3 14/15] maple_tree: Reduce resets during store setup Date: Mon, 24 Jul 2023 14:31:56 -0400 Message-Id: <20230724183157.3939892-15-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230724183157.3939892-1-Liam.Howlett@oracle.com> References: <20230724183157.3939892-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0033.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:fe::12) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CY8PR10MB6609:EE_ X-MS-Office365-Filtering-Correlation-Id: 23f5e988-5a6b-4980-93ac-08db8c74630d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Wl/tsSZWlVRishQmZYWSfLHIN2SjARo3xUA+Q5yBwapdBliLjww6oiLKcP2BNil0kSXYDKvtvRvV7hpkOV12/64bXE0GY2OSeyMfG41yWX9tvHNF3w0THL/YwXY/aTqua2W3oBLH+KDvyUz0z30xNERtzzWmSF91r8n3QSQYAu9PedpFGoicIuvFfVjl5mzZy6k+NxKa1TR+hGuivZahbmEwkwTlNFXDukbmggYAuoJE/hWA3eHUZYzv/kvz3SbaKO3YuQ2FbGLHCiOA2j07aW5JJn57iSiCAJvafoM1oJTnDndHZm1KRuAnKDOPLxvgn4+0yuPCuw6fb1N5rFRvJWqEDBL4gtwLYKvGveJ9lkAvNaRGLURm+C4IvLDBb4FmCdKN0g9tNt/2ENyj6fCIpJklS8TeBvTPSwTdJmR5ljJHkOmyBGyVZOTQYUiQ5rq9MUbd6AvJ4X7j6+mOW/3W2fKQHPN5/cT09YGEk7LeVtYjw+dU4iUhg9NvoB82wicN29uzcjMmmlpMyW0HW5YMZDlU2dBGVJs0fMUrcGQeI2u0s7KBC5GRsc8AlXF7jC2+ 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)(366004)(136003)(396003)(39860400002)(376002)(451199021)(38100700002)(107886003)(2616005)(36756003)(83380400001)(8936002)(8676002)(5660300002)(478600001)(54906003)(66556008)(316002)(6916009)(4326008)(66946007)(41300700001)(1076003)(26005)(186003)(6506007)(6486002)(66476007)(6512007)(2906002)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: jmD2E6jyyKgNtGZBPpAq2C91jy1ixkqL74ZDpLzXWPfus4+XwYgEJLEUt92UYscalFDj0TAlXL006Sfm+fAOzpL0ek0GXwvwoz9F8rcx/4FYJcTOayfyqEGaTO0/7/2h/MRHAWIb1RcGyBuS5M17vGMXu0k4le86kr+VXEDXaJZIQBvTt7vA6WgD4kvx8KsDbkFEqOdbo21gDYZbL83xzqIwDZRb4Uxjs2Rg7Xp4MnQeTO9v4uhRK/ZcHUG4Fq91zniXUVrzgmvtFLN+vL/vwiQiuZkcOfXAnywrWdHFN7i02Gi1WGOBq+i8hx3CR/IDO2kdiTaRvU8+0TWu4+tpylGMAw7U/aiKv3cLGpPi86ujdofnw2EjJxU5xsF1Ex98Pz6Yvru+dhwvGiVfGszpWrQqVad7+MBN5WebSccutFCqIdy/gt+Rccdt1hj4/zTvuC2l4ThOdkenaTfPksOG6tkflxN+0Hg5XzO4El6fLewqINedM+fddPNg6MAFU7h+hNJqfNV75DfLTU8UgJCy88oeTyWeY7YMy0ZotKtmZ8ocMgJP0Gg0Qin3UobYziThzyGNIIUQ6PM4JfvpmNdn6En4uJjGatW3+AMkvCTn3lsv4+sxAsnpm5xQaoYK8C0x3xuhWHALp5lRDijSDkcMDGbEc5cflSc5DATpxB+0v32+GylAd9Zt16aDbUjMzbr5DWwgEf6y9BNkS8q1j4Na70YqRfrPtbSnQZE2KmCTBFsVz/cJCOupXr8vs6Bk73F14DdaVml4krMq44TqdBVTl+X8yFNDuKMztD9vwvU6LVbQob4IUqTKSwMuaXrMVX6FKCtjNhFiOPu5HJXdZpvqKl3LJg5vs9VNDrM0otQ75YftoK28qwbD3OlOpEP7F8xL2SmMwP5/cWpT/Zm1Mq+LXh0Yla0pzg/16EQmMVq3KNi8f4KhScEEjWze4XtiQqmxiSim6rxm9ru8V9hzZo62NJthVyH5KANsNEq6pzFgbYw1VeJHTZcSYaYygIQIvoY4GFA7XS5xHxJB3PWkcuBpkTW4iTHnqt4CU8hwA68H997wpYTYtI5ga8BXSoPDhmaz7HBsF/Bd4H2Q1Qa7sfsW9QLWuxPC4rTrDd12Loifk+LKPXYULZV4pjVDeCqrJWeYwtrJNjgXyD+Nlmu9XwDmyLH9kqhW51suOhYG47Oo/7xHk9NKk5QyYph/WfCD6DtVhf4iLiJ0rz3iSX5znw6llSW+KLFDDetmsKcII0XhLdM86Gl0ZiRnRDosFDBFijXFM8nzt64wSQgSo+C30+JEfAksokoSUOQIS5DsOMtA+0D7RIPj3MwsyyKYG/O0z/0QE6pnIHRGrFWaHDVdAuyvLyfkehiR+zJuEOZednOh6y6Xfc3oR/o+tReLFaPk02JIOeeLTM39LILECerW925EzolnbUM3t24Qlwf7X7rkRzgoyIY7OQ2JQJ2Jgfi4W2Kf+75io9G/AorUo0l66VOv11oU5IJeVDM3NchFDurzbsAq+tgiX5bdXHsMYLTBeRivvXHsfa0m0qmgrEFjcU2ThyyXiEjuPZjRd/bsexXSc2KhP7f1lAd7CIs0ar1eLe9Wv1Q+bUQaC6XmRGjeFdOc2A== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: nk/Z+NYGJ+deeXyaFcvEXktt6XPYfGBazBXsIhkg3TwUV73TxukGtbAQrSc7PDq9svR3YSM8AVQhZhwUH8kM1PcS6OsdLOCxTmxUYZPyY5yXMSeWdcXggNZLvzHBHH3S9M3fmQ0wYRraPagsGwAAJYTZca9JGgQ2s6sNU6fXimN+qZEchqkQIOes8FCocd+EqnhWQSb2dY93MXh1vtYJw4o9jjU0G/0BUQQIfTurjYrkxbq0Wd+1z0++1I22058YFNESCu48ww3KPD1BGZ4Up1CuOPIDjLbQM21HkKPGQOSkw75BfUc1gJjX7VUnDBWFfaADQH1dW1b6Qan4ftQg108wvEOeg3g5wanCNEgjmcQfVCLv+OSYr4tmHbCu/dsLCUgKsxqYje41qo1HnSMJcw0Phgf2oEum0p6SW9lRys35p/LrTxXMF1YJDT9x9fWyTYQVuRKKfj/T0cWS8lCV6385wG6NQQOEufbf7SGeyRZpjJohl7yOniPhRD0aFJAq/wYSXMEWZn3/rmYQc0MJq7u91bO8l5o7CuQ2klM4336HXhY66WejIqAOB/NVdJIuQBk6YsEzpIIb9MOiPWAOKzE2LKYHDgDy1wcFxHIrPh9XzuPXnMbDpKoztxKa4S3m6bp1XOK70aFVyS/msZKMeQ4nipA8EIgoSbGxUwiAc/vcnUbQdlfwvFbMm/nKSUHxne6RDw0dUoCQCBlU6oJjMjirQZhYtqhdfBS7zkiZR/OtUj1Kjt9gaZ+gafjgTPUUKWLdT1Pzc2ovuisxw4kcIkoAyY//ET5VL25I+P4WDkdLyxjtv6+YNQw0+rHpX/wba6tSluTLxhixHbjfpeAcyE4wwqmmYUBIuv+4U5Yfc6hSSnhexlOdAnPeuq4aQCkUBxCiGPvttALT6J8oRp1gA59igZYggz7yke+m6SQjt2Q= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 23f5e988-5a6b-4980-93ac-08db8c74630d X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2023 18:32:51.0099 (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: Zj+WtY2r4xMuyhbWvpo3kcyt/mxzwLBJX7HRYFcCAJKNmfX8+UVAjfd/m4W/N5Idzc2O7RNNW35D8TTAV4heQg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB6609 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-24_14,2023-07-24_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 mlxlogscore=999 adultscore=0 mlxscore=0 phishscore=0 suspectscore=0 bulkscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307240164 X-Proofpoint-ORIG-GUID: QeVSkXStqPUr25MpyJt72DlGxVDssZVS X-Proofpoint-GUID: QeVSkXStqPUr25MpyJt72DlGxVDssZVS X-Rspamd-Queue-Id: 466F8C0008 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: cfwm48k5oofqnnyzna74kpkgidcw7dkt X-HE-Tag: 1690223577-148672 X-HE-Meta: U2FsdGVkX18pwdvv4Zdln0ckRFV7mK/mCN4Gy0sr05VRmU5q0m+ts/rjHsq/BCCGqYTuwmgr1hOvN3tDRmiyD4bw818fRFEvHohj3LeHf5rHrwUHdJQP6DdALE9foeDgwwM1J6M1eRFklU/9+2xQz63CW94mAOc1fSU6nqjkdS53RbIkWHlh+21ryw6gd3hK+7/QBdVGxpCOah/BfDm0d0UFkChEAvISbU4HT2LErpr5lOiFZYTV51aBwGU+TuGDv6ZA5LhMQFO6g6/L9z4KP1zUTm9rCKT3A9y2+gngY9jZFwFMS5xa9X68A7ZSeSmOSlSoKlTxl0LsrGxGsUMwVgbRbiuguoMjSs2Wgyg9l54h1LE1CsQkX+fT4BGqDeYjMObQwaMTDIwOio+L6OYY5uxSST2kyRCMNdbbf/VlAZhnczQBOX1odBv1PAi3qGGfYbFOKpn2EtL4M3kSdq+wbPRFhObEwNQI+3930ORSrns8YdheuVnPM7Z2ShsENl6MY7cyNgZHPeixykcgq68H8A32k41kgPdPEPwVIQ4ZtZdxx3g0zoxMR8zuWb86EAtpS4YDEtK3kc5gej1uVRceUVsYq4vbKzxEU2Oy1WYNo2BaRop3Y3+yjYeJ98LXrMj9Gj0ypfRH7Z3mzlw29aDaiXFaYnAgyeVJ4TTqSOvWi0EEnvwMlQ58vYbmNvraZOc6uxbqBtOF2q/IOgWGyVPfoBPUFByWPAQNytLxAxyYXHcyH6ycHfLV6IRIK3JZZTYkoUdrWmwp4Z6Mz+wXDvec8ycEQ090UFYa06TV6a24MZV7Uv4tVk06jLR41RVB/2FwwTFmW1n4jXYs7qL4Jcnei1x4VrBSx56sXnUmxRVzk+bXMkjV4VnII7bXo1CDCRN/S7tDQ3Mj4btmsy+PLeERsc+LtQTia+KuK9iVrfZIJc4rttdUdqfNfy5G08vqoh8IEpsrHSf4rJJcTmtX6eF /RYH1JCW KXoDtIGPaBvjUBB1W3QlK895DJR5VJIkoSJ7RDC5T3Gt5Y7zj9vS5ssIgKEFxYZ6m7O1TqykLtmayFt2TyRWnlwnl9IJevD77IN/BjcDyd/40NJ8DnrNEVeJhZUK+a4eMVXwDGtcWJPNKzxfZ0BbD78pcTe1EHgN4pWITR7c6wKQ4tqrQEBV14R7wKZ9diJVj7H78W3bxZuKGOCLCyUQN3Dhq0EJuSTiWk+8cpqKluveSZl+2qeNOZjHiSvtKCzLOd6GtBIYkYw0FQcFf+zowJPfOalG+48Q8kiBFfO3NiyqbesmHYRZ9rI06PBhABk+PH+Xvvx+PH5foGmyWaTiZ12y0/2HwYg54Q1QmCdQqgPzE8KcCGvjp04YEjxfSiyzN5NH28RPII8dcKZwPwjhFKkVHve9NXL6mKrwbXDN5JAYEwG8= 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 4a111785360f..a3d602cfd030 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -5424,19 +5424,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 Jul 24 18:31:57 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: 13325244 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 5F920C001DF for ; Mon, 24 Jul 2023 18:33:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B428728000B; Mon, 24 Jul 2023 14:33:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AA17B280004; Mon, 24 Jul 2023 14:33:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8587228000B; Mon, 24 Jul 2023 14:33:04 -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 6CD8A280004 for ; Mon, 24 Jul 2023 14:33:04 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 28E0C120A2B for ; Mon, 24 Jul 2023 18:33:04 +0000 (UTC) X-FDA: 81047352288.10.D46D2A1 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf22.hostedemail.com (Postfix) with ESMTP id 8F834C0002 for ; Mon, 24 Jul 2023 18:33:00 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=IN7Dbxw6; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=V68GwdSr; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf22.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=1690223580; 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=x+a9Nbr9CR2E13FzgbMEAZv5FyPJC3+b+d5pW/tdXJQ=; b=O/Xsfc0mcxrokuX0a/BGPzpH5v6tOvvHESaaxJzXT5TQz5TwuntWckG6zVF++SolZxt/uj kzHebetkImfUdCRYyEQ6CT577wTDzmxWOmLjtECZxc09/96Elvbzc3xJoPfHAl8VGtKtkA 7UreLc/ZinpzqbUAJQPgp4hocQcbFuI= ARC-Authentication-Results: i=2; imf22.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=IN7Dbxw6; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=V68GwdSr; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf22.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=1690223580; a=rsa-sha256; cv=pass; b=n/LsSgEG6Zla5du12nP1mNTPWrwqH8r5muMSwjOw7cHFzgA5t2YLl+N96T8u+YicmK+hD5 ihy+lnpq0CIOwqoCQ4TkbSnHe/1JYZy1XnKWJvHeXHy180JNwt9skfPLITb5ZUSqcjq8vW mk4S9dWBHG0vQzz4il/LSDjDUEF3b7E= 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 36OFOGFg028728; Mon, 24 Jul 2023 18:32:58 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=x+a9Nbr9CR2E13FzgbMEAZv5FyPJC3+b+d5pW/tdXJQ=; b=IN7Dbxw6nKCCxhg+RwruwD7wReTNnq3dIFmDUOKMjhOkChOmEABNhPgqC9F3EuK1kfHs xTURYsg9wO8S/GzqZBiuei3/GZ/o80IvX/o/GtmnsHRTxApWlZgxsd2ThbBt0isswJXC oy8ePTU16/V2we4B1mz1kA3nwEwhtuDWJzbtXWEocMl+QLG3UjJJe/ggPA+Q2+JpEn4I b5rn9bowW625jmuR9WGODmJtl0aqlVwZw5R5zWEMRRIujH+zAO0F8/fI5vm6wfzojqZ8 3hFhvcWkgzv+wpU+B7vB2jfnQ182m26pwKKXOGYM6VGfiPqchYPHheddvDCHumd+QK9w mw== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3s05q1ufc4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:57 +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 36OINfUB029192; Mon, 24 Jul 2023 18:32:56 GMT Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04lp2171.outbound.protection.outlook.com [104.47.73.171]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3s05ja2agd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jul 2023 18:32:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Go3ndBY5lfhjPJb5gb3DsCFcv8NQkoTVdJNAzHUN7JZhFa8DMW7W/FNSc0XZ649JKaPcUT25/QJg2Vl4B3/sZF0Y5otuT4H6kkbvE/DsQa5A3SF8xdwak+JezdqKj7z/OPueQkoFi2BpA2WONfRDodl0WJ6nQhJgpMaeQpjgh4TiruHlZer+Su0ldokSv6AHTD3PDpxLFWONelyIBdvnMdtwBrKipRlVw3TQxDr7iG3BU1Djxzy0puU9sIKvV0zH9uamx1hkNlx7q87UA1oreaFj1z8Dhk2+y2kbYXiyw+E9Mr0qMGd/Hqaw3NVCyggj8lxkEI7YoN8LM0nFsjFuaQ== 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=x+a9Nbr9CR2E13FzgbMEAZv5FyPJC3+b+d5pW/tdXJQ=; b=T1cqfJ4QZ3PPpGUz7PMYQTHOytr9xZ6SPpeoJrJ66ng3mDCpQLyL/uA3xcRytM7j2QaPl7WVZNK517UmW7G3LbI7zj4ra/dIKVyHxMFE0daWiqaU+ubkzqYMTYdbaTWbneqrUI9HNjPE68HP2okIkLQ8KKZO8AvhEz+OwpZBGtqKpuumZ9m/LZI5uD9TsRcf89Jvb7Ufaja4pB/ukDQ80GmAtqdCk2b66wkXpY9es43TlwhAEGVlhpo8xtC0RH5ZyrdJHN0L5Kh7B2JlUoVksrjcXFBbPMRJKWz+UKE2U8JWivWPPe3n2UydD85JMaji/3q9xn1h+EUTq9h0SYzprg== 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=x+a9Nbr9CR2E13FzgbMEAZv5FyPJC3+b+d5pW/tdXJQ=; b=V68GwdSrUjoMHW7iVPClFsf+wo8t6wb4xn8SJ8sL+wDG+SznJUvHutjggOjmqkT82ZwGxCjXVV3qzjRu65+xeRTEwHl0wqb+qFoou61Dgc4bJieVv0KAzCGagbRQ5/tq/sKpqSJuF1KXQTOQZsstz9GYgMYZ33hKk3/FOifFYo4= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CY8PR10MB6609.namprd10.prod.outlook.com (2603:10b6:930:57::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.32; Mon, 24 Jul 2023 18:32:53 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::26d3:6f41:6415:8c35%3]) with mapi id 15.20.6609.031; Mon, 24 Jul 2023 18:32:53 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Suren Baghdasaryan , "Liam R. Howlett" Subject: [PATCH v3 15/15] mm/mmap: Change vma iteration order in do_vmi_align_munmap() Date: Mon, 24 Jul 2023 14:31:57 -0400 Message-Id: <20230724183157.3939892-16-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230724183157.3939892-1-Liam.Howlett@oracle.com> References: <20230724183157.3939892-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0042.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:fe::22) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CY8PR10MB6609:EE_ X-MS-Office365-Filtering-Correlation-Id: 8f75949b-a828-4d1c-b37b-08db8c7464ba X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uVIGIzYCbjkRPCfOsq8hD7D+ZQ0FFdaGI8z0qWkJjreZ2GDJOWDX417MPd/N8QTBAQlMx6ZclEI0RFPzNTZklOk73hUy5F+HoZI6UkgAM4CDhNOHcUmb8hBvSHj9kc6abd8AJaAqUXFSlZyoGTV0VZ4XXO1oLbVfShMiJ+v4L6CS5VRU+g//6LxDnB8BPVK2hoK8jZtzHYRlSWbobBUsaFtWDJU917Jp5B9FvpwAtg1a/c8Eo1OxKGT70pWz0SZ53Kn4G9ad6TR9sqw+PDxe82Zl5LUg3dKYdudtR+FpnDosFm6uRYqBOjkXGbDh3OU58zQj4I1AVgbRjn2Lul3s/uOilrjaqC/GMuwa7SxBqFiAubXJpcDFHAMvtxXM8vk7rKClnLmYyjfyti7RmVQp/pB5dzgRfWzcI/qXinvk5KzyLxXuXc6yxS4c9srLHSHjkU66ay/ajL3o93eySe2eusloF1ZQ0CP/CJLR7rEBP4D899gC8pSXoosPbvsN3qJafEwaY8AdKJ7NrcB4b+BjM2nYnuxN1hB9S2PMYnSgG2ECwqSyqmMj0cqSazYoWWOD 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)(366004)(136003)(396003)(39860400002)(376002)(451199021)(38100700002)(107886003)(2616005)(36756003)(83380400001)(8936002)(8676002)(5660300002)(478600001)(54906003)(66556008)(316002)(6916009)(4326008)(66946007)(41300700001)(1076003)(26005)(186003)(6506007)(6486002)(66476007)(6512007)(2906002)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 7xowYHcq3wwq6aCBMJ+yXuI/dWc3gue3PgQ8DjOVivVTTgKRTvUZ2kBg71Gq3TKufla+iO1ef1TTXFY8nE5RZ39QhWt4dFKcrP0eqRnaJJIkPyZEbskmnEqaiPoko4FlrMzbI9CHWZ5uKfjDoPNxQZJeAw1+oBM9cdxNATsom+EFUwU85ghalI/DJbaNUfZBRR6xY8PDADTtZBCD+Kyct9n0NKUmckFuy5et66NnHhn+PHj5EdVSPhwQVcGNv+HRCqmXmSiONh+znpBi02yEjYLcERr1ltmJWmRZ0tsQUYA+d2EIOAQvR6fmong618oB9pq0JWP1EsntIhYr3QQhD6F/2ysW/sbQkM+FUSF28yYshF9mv5vHqpuRB4mdxgwHZgHkY1v/Z73RVLgVuwsQrgtMhpog8ZPxE9Cy8NBxUGvmw17CZXqIL2kb2NFO8v68ofXIQ4/UD00uoHYTJPJB6/lG5bOsvZshiPhBE9BMUNxrGaMpEk/2L8o0LAXKFwPrXD0L8OOeK4d0yh7kaSwZVhCaju00fOUJrVu5rj+tstvgtzpfdc3KJ7cJ1CTRBjxYdINHhUDTQfXbEcqzEmQYTgwXT/vJKYrPvnbpnXRrUm//g1eHxyCQolfc3GVqTXwrr6Ovmy+ki0lT8t8b/gdw+uaEgOntcfW14D3UmLriTkiAESGL9/AZyKakJHEuV0N/oT2EnEGmMyXgQSonWOWQnk9TEyC+/R2Mhx2WDqCboiHD18AFbNQvv1yYXIL2jytomyCnRlWVmp1XnNbVhqkzT9O66XNF48F0I9EMZtcfjubpPNslM4mx3llJvxYSGb/Gn26Q2uMNVp7Uj0c0Rbm2jV+WZo0WcmY7vbrV0rkXQ3gleSUQg8bb3JuUST+disj1S/jWA2ZNTdWhy7aGFn0XTdkz0s7UNNAjAEjYhpPMPjJoZL31PzpHg72Dc8pgqH4O/Z60BkyYrfYAkSfP3beq5oHw86WX2kIE0zhcH6mayerg1rvRLsKWgke+rAhrJLurRqru3yQdfEUn3TddAHR8KC4scxDq/FTBPsAyikjusJ8cV66LHER0iciJmvV07xtlf0N4OQD0HBrYP1Fm4+To3uIkMfQnPohn65BPx86zQnTLC6gWNrm+bUpGtNec+F13Tsj02eMDlKEaWGdtsFPiSvtaxdxzJ4mPyvLaFvh3kNa3xlEkVy8UzKpRRIxsdTwKIN9Mvu1P7C2mOs6dZULQ0lCXltgapY13HXAgg+s0NxRMOa62h01yLn7b8yEs5dPxMiBqduBilrqeVpS1HV3KVKnN9MsorW1gXHh7v3uzrBaqQojiIwP6BnRvtP4pBlg5kT5M/xXtDGRTbjkp8mMO0ja2iBHeYxdsqlzkac7N/1ssu4U6PKPohh6dWzstanh1uVEzAhs2oHe/bqxKyoTRTm5jopqUbOFuvn5UPm4Ep8RVsPpIp3qhpnYGm52PI1OekKXi5kvS9TxR6X6fQLjsU0A5b6Y30zYvwSqukRIUTfoO+VAH6DXSUmlBp4G6qLodDTu5UtS7uNfn6h87LS4vCBYF3fe+2uMD/GIAcGGGL/tD9pKAY9n5oxoUfrSFqoEHPJEFxSDXoZj+JspltoklwA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: i/h681NxnEOqMLDD6IoWCBET2jjt1t+aDsvGGeigLak3mmmD5EkK1Jqcz1GL1axFscbeAufoU4RB3KdMU+hfvVagxsX5mO0I2forFIczVg/sbEzTHkDZhtxMkJwBmMjQ68NtfrTByhw3ZXEPVD0ZcRwYJ6u4ANZla1Dtu5adXO+iaCDs4PCZY6wlkz5A3ywlc4m25CipJ1c6t49K8DADe47fzR6acbtNouIHglfVKljO5iCSClaPrpLWm34xat/3NaqojvRtbylCrDu231LEdEpmEjlJSuv96+uRsiX4YdLB1+Miw8luDFQPKTEVy+8Z12QIaJ2d1xX/mj8xoLXIthV19jqRYz4zX+9jAYU5b90DvNjI7yIgXIb+JV4zudOI0Y1fEsX+30ao9jlMRfu53SWt67y6Oalq1SiFZR0DNmCM9vFb0TAB/eeenCeHmpMZG2DrPtu/amuDvMUWJIC65RI2Ap7CLLkeCLemCS4d3QxQp6bRtMdVWqJB1hxRaEuK55ax3lZiQJDD34DP/NsnRS2fqez5rBAdsAAnYu9dY15bBbQKP3tj6bX6hPadwx521bRPYiUh+WRIGG6tozKD4qq19YRHkgEQPWbHUyrp9lrQDPZmjbz3Tto8KuraCk5SX9aHO2X3rxOjy0WhyPKVAg9dEx2CCmBq4mdPqSI9Jyq0tiMyCw/TVTO8yaqB5UA0NvH8zHmDSGeOJRN/nxdl4MbdBHjfbjm6T9ZGS+H5qoKNoTPBMOhdKk6OuxeSq1tA1YdHObrdD06tkW9ev+Uoq1ts3iAO/Q5X4zz3cOrZUTlFTybDUJCS2gEaYegtVfxdsvbuNy8c2YnpK7JaWymD2YsdnVD8nr/ajHCMe45RuJO11cWswheJV3pLC7DTwz+dn5s6kYS7v59GYTPrhug+R/xIgzzLbd3fOa2u+8EeJAI= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8f75949b-a828-4d1c-b37b-08db8c7464ba X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2023 18:32:53.8253 (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: 4Tn1MX6NoQ/PaDJ6/Z7El475W2JQw7ZTKnF/B4vfi7QYnokwvgtF4dPKNJ7B2LWxGYUAGwfgQKulCFZfasu0Lg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB6609 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-24_14,2023-07-24_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 spamscore=0 adultscore=0 suspectscore=0 phishscore=0 malwarescore=0 mlxscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307240164 X-Proofpoint-GUID: RRwY_R1WWK4KNr0ggUCRQyNoxoWEsgsa X-Proofpoint-ORIG-GUID: RRwY_R1WWK4KNr0ggUCRQyNoxoWEsgsa X-Rspamd-Queue-Id: 8F834C0002 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: n7eufugrzegmbeitya7pm99ta5ks9tbo X-HE-Tag: 1690223580-409109 X-HE-Meta: U2FsdGVkX19obkGOpYkz5Cn+BgjgmwlqVNqpnOoJHY7RxWZuvUf5IHAi8cescklHU91BP1AXpGcydLdS6xsA7bld/qvX++/aXyXMOOMhr4U4hgtmQ6oTM/qsh3R5q7XirE9LlgCfd4tF9B3YsHagAjKte47To2ZaB4EV8ETcaFOy+Ok9+UfDYPOFrTGDBsPX0dcChsrJGDaM/emJUgHbXgioF5cYgUI9BjqqUbbYE4lmHBgrW6DPimFds1E+EAzP0i1y2Kn3zOGrESfj/I800eVjhPjzcRAc6zL408stS71oVvpQhqZEwivKtqZ3RmHt8dCKnXtJWzItpqxyCQufU7p+TXQvcUpNu76JOd8O0Sl4A7DOziF8I0ayQa3NERSnJ/C1m93b+NZBtq539ElqXfpzzAYSNIVTtjx+rRANRe3Q/Lswd+tms7uVKaDQvKxYKr6WcM/J+c3YJd23DYY55gL9ONLoi774OLQLTdDUK8CvK3VBimPU1+j7rD2J0f2t9Sitlffze6G7UC86SO+kvqIx9DjiBaX+wLRolvqITfDIyoSoOmW/QW/BYNtlt1LvvgJrAikPCNlzEineRLcUu9Qy1x5ZB9A0+vdd0ST55yf/kjoveGplWrceRIoszJFOsLN4SxwavJfn0kfjRiUHvW1KPvkvbarbu+5qlUoXjckgh++wTDAwj8m/M++85C2EP2/n7zgnPxgcJV0zcsX5B9NlSNk1qyn1Zk6/H+E1V1FC3bhO3COlAkVEMcOMensaEjUWATeOq2DtSeS0gybUxUNqiedWk5CmD1AHWMGSGiXOCmDSheRpKbrLa3f0fRO8qtoKk05ZE++wHG+kugRElNko6xqmk29BuxpcyhAqsye+AZ85GXNUFJEtPRNw/zPgXa+jtlYwEctai/5K7LImtsNfm/mPHYJu2ZyVeEz3CfwvP5tKAegeondhfYuCeWKiVdxsrowtALTGWmwITia 1ubmP08P ffF6dgZtmjDlXuC2251SUHn86BUHn2FYYkkPtk/uDmESushIF4MbhU/NbgoMqqjiCg/zhuHfOTZACywn50UN0qo5RrPODQZOSZ45TdbXD3FINGTgcYgc+LBK9ZRpySMjimCb4WfIQw+2AbxEJ6ejliUfvvd/QVQiMztQlRfb+PJ+Pow5J82d/VulmWYXs9jCgppwFtLTBf2zTyOdgcD1yqObYHqOuvSDNnh5KgQcq3waLQmTSZk4COPzCX7YQB5oe8tJ2H7zeUkFpcA4pXi28lhnnB29UACx7NiZnVYsLaIj6Nj3jrGN7w2moOWCp3lIjxZV0Gk307k72UmQLxsI3pnpTkcssGd+HiJmcooIziArlBUkp/EBQvCxJBypeacQCH70TZd9v6VnCHbNBvEwdxwJBPwl2l5F559oM4pUzs9on+6I= 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 requires changing the loop type when gathering the VMAs that will be freed. 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, 13 insertions(+), 14 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 58f7b7038e4c..f11c0d663deb 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2451,20 +2451,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); @@ -2500,13 +2497,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. */ @@ -2527,7 +2518,10 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, BUG_ON(count != test_count); } #endif - vma_iter_set(vmi, start); + + while (vma_iter_addr(vmi) > start) + vma_iter_prev_range(vmi); + error = vma_iter_clear_gfp(vmi, start, end, GFP_KERNEL); if (error) goto clear_tree_failed; @@ -2538,6 +2532,11 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, if (unlock) mmap_write_downgrade(mm); + prev = vma_iter_prev_range(vmi); + next = vma_next(vmi); + if (next) + vma_iter_prev_range(vmi); + /* * We can free page tables without write-locking mmap_lock because VMAs * were isolated before we downgraded mmap_lock.