From nobody Mon Feb 9 15:08:26 2026 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 909224A5B17 for ; Wed, 21 Jan 2026 16:57:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769014662; cv=fail; b=Nyw+nzkwKxgmVuE4+FvZ8LlahZY+Z4fMdB7cNulimjVXSt8uR3xZERA1vXD/1q99QcnwRu+ten4A61Q2QuOmf/FKcx1XFt7+R+KBHowDyKJwmfIGooULtnlosORNu8vLHEauRx2vft8xr7cTMczSnslennMrbgZXqQfeX0tSU60= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769014662; c=relaxed/simple; bh=J1SgX65NCbyG7WM6crTogXqltdgndXTXjQvDzSbwDqs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=WVioYK4pX/M2my+3v0wETxkLJhLsM2RTDp/vvUTHzZHt85uV/G0bWeEECtxC2OX990MJFF9eZcGs0SISol+Vl7BkipLPLQOPdQ5OOK40vObHj5G8v2Lm4XmHKbIEnW+pSdW9gM/IuZcD+9/50Qcgm4KRVXi2kfnOOK56GfryuOc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=PYbD17nu; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=N25SM7QW; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="PYbD17nu"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="N25SM7QW" Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60LDEfgn3031860; Wed, 21 Jan 2026 16:57:15 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=tgkE4OW0KG6KU/HEahv4pxM8DZ5R+yPd67+MplgFSU4=; b= PYbD17nu4LgR/B5dwOgxjZnQ8pOv0mlIeBLTA5NfJxIgMCoxe7pA3EmTfI5u6PHQ ewQW16V1huU+uN6LCEcwRbGuztMZnACMzvIqsDWSIny80mVu8yv6R+8cNTjXuKRU lKLfd3LNuRNGjyDSRm06/7YmagQBEdsr45tKCmCP/qBZ8a3NWY4OaqqkfRlWJP1j QYpDmmRb6UJHyKPejMSQPzFDw3CwWyPn2N8IJ5erUwf2EsBFdUNYQleMCervOwv8 1XwUmSiidcAh5/0/+q2UW2zXO+c3BhRywOecUTS/rMsZXNynG0lAdlrW6/ru/Pwd UpJEJtOyqoZ9jPh/F+sUDw== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4br2ypx5ab-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 21 Jan 2026 16:57:14 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 60LGNgJk008393; Wed, 21 Jan 2026 16:57:14 GMT Received: from ph8pr06cu001.outbound.protection.outlook.com (mail-westus3azon11012023.outbound.protection.outlook.com [40.107.209.23]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4br0vbht22-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 21 Jan 2026 16:57:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=r2KpxuuMZAqETBvddU9M8GSwMh/y7yl3z3GP+InwNVrDqmB059lORJc/6GJ3lfw8qflvL4hMANt0wJ6suXUrYBN0ZTlznMbqBs+TzfH7AtsIqmbr4ec5NJMm0I3hCTIPavrK745+R1dknTO5U1Q3BhlvqxlBb0/LSHf/WPPh8HrB2D/8pT8gEgk9BloJUvM4JFs3RFScK099bfgx2vPZTITRT3kWOriZsTcn8HyQXwQobiLq5WPax7Mx0XqD6BYFDZbZL6PJVO/y/uElUsNXVVO32yT3WrJ3sA02NpDhkDOVjnkhMig5+fVHwWt0DeXhJQgbPsSSVK6WLMbv04b3+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=tgkE4OW0KG6KU/HEahv4pxM8DZ5R+yPd67+MplgFSU4=; b=N7p8YHUD59gaqkxO0hHNJZJU2Sutydbypr7T+eI9MAlHg2al+ymn+93QrAknYch/PaSo5EkJJtW/6gv3SDJ6BVuiuxb3idECze65GVV1E9gh/PaGAOrrn9Bk4kB9ZHs2syLuE6D3HMyGSeQfdqeTlDX/wFX0Yokg86tgyD/rGK6dsN1KylMpE9MTPm85ir5l0Yo4QShZWLi9FIv18eXn3ScA70nGQfMFLnPTEPG8vdoOtJGMIwvOyJgRr8PN0wfhahNYgaHKbxm8eML1tfuJ0+JFVf9ONRY55s5WuiGoKyN2oVmnt9STwkOwtvX2bJOzzqil1nbPAKBf/VpqnrEeTA== 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=tgkE4OW0KG6KU/HEahv4pxM8DZ5R+yPd67+MplgFSU4=; b=N25SM7QWl+C+ZVP7s6L1TUXabHkr8i1wlyNUXNN0REN2qb68Qxc1oo2mSVwaQzSShssUXAjD1/nfK63xHb8zVFS54Gyiz9ukJ6W+/pU8cAG+0PIPlp1pkGUbtoVxdIOoZ8TRkdoR1dlolNH5kfqqAyFvq+NaW2g/+wDejF0ZnV8= Received: from PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) by LV8PR10MB7727.namprd10.prod.outlook.com (2603:10b6:408:1ed::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.9; Wed, 21 Jan 2026 16:57:11 +0000 Received: from PH0PR10MB5777.namprd10.prod.outlook.com ([fe80::4b84:e58d:c708:c8ce]) by PH0PR10MB5777.namprd10.prod.outlook.com ([fe80::4b84:e58d:c708:c8ce%4]) with mapi id 15.20.9542.008; Wed, 21 Jan 2026 16:57:11 +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 , Matthew Wilcox , Sidhartha Kumar , Vlastimil Babka , Alice Ryhl , Kuninori Morimoto , Geert Uytterhoeven , Arnd Bergmann , Christian Kujau , "Liam R. Howlett" Subject: [PATCH v2 13/29] maple_tree: Inline mas_spanning_rebalance_loop() into mas_wr_spanning_rebalance() Date: Wed, 21 Jan 2026 11:45:10 -0500 Message-ID: <20260121164526.2093265-14-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260121164526.2093265-1-Liam.Howlett@oracle.com> References: <20260121164526.2093265-1-Liam.Howlett@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: YT4P288CA0076.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:d0::13) To PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR10MB5777:EE_|LV8PR10MB7727:EE_ X-MS-Office365-Filtering-Correlation-Id: df9653b5-8cdc-4a6b-cadd-08de590e1e91 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?VH7iru4dh8Yz/9/pj5bDc9O5Nj5656/RawH6bPSs154jmY79NFPob64+zTqN?= =?us-ascii?Q?Ei2XPMHV2ONwR63CfUW4eLjTZF4Pdm3YLIINEYT7q5+jl1VY2xnW5d0bap7r?= =?us-ascii?Q?xEfNQsRnoPH/EgnShZQGtZvubPbD/M4jkcYVivFsDuVmYtHVBvVC5YB+uBIE?= =?us-ascii?Q?rEMLmq49I7ZW28f7EWG6tOdIGzD+ffoRGJGq0lFIkuKcWEPRvaE8waZbz/4k?= =?us-ascii?Q?x2PvGnThcniWOspEM9ovAlVsl+c6N8qOLyiuRnVHVIDNhArG0YfpHDH/ntzG?= =?us-ascii?Q?IXmTDaH4euo/wLwKnEdXgOnI1Xkiydapn4invpW5DZXecDMSDDP8CcToNlbG?= =?us-ascii?Q?XskvHC68hN9nuupBfJUMvfR14PvN7n7IQV+yTnLOOMKEto9MK0q6XDes8Uzw?= =?us-ascii?Q?Se5KUsCNJPlEL9uGAiHkhQpALdyG43dIwPFjYmLLJLNCR+mpbMbSx1aq3Pp3?= =?us-ascii?Q?aLYHZQsrlGilN1HCleOeFDrUOrnhHgv3x8FMq0Jy6mr9s52694bq4Bj4X/Yb?= =?us-ascii?Q?v1IqDZdaYoIMNAQbv8+tcB1vbdwz84oYibHsWcLxJfSsbHQLUfsne3Rn67is?= =?us-ascii?Q?xXEqu4+DmUNQNgq6H27if1zVweZwM5vvMowXT2ENcbnEc13wZdprBoRjcrJw?= =?us-ascii?Q?IQQZS6BG6zb1sWLl2q6+xHj6CUH8aacTRkPdllqzo1U3IEYV7VMYn30fQfDN?= =?us-ascii?Q?NkUVfEYwoQ7ySXCWLswi4IRonPEq9MrCAPW9GTCvaY1RblNviX7Qm41JUvfQ?= =?us-ascii?Q?XZSFpouLL0tejOdWnbfe1iBuYaSQ/egh5OhPkWhdc/bFmQfrCrBFWxUiN/I3?= =?us-ascii?Q?5aoJnvFH6M2ojqr3SS/jS7Us1asteNg7sgShHYwt6RszHQfUJ0TwC+eTFbEZ?= =?us-ascii?Q?kMTf+D9tz1JFYO5vnBhYztSf3bPA6Ik+Kxiz0fHss4iUjdl65Xfm6aqqJ/w9?= =?us-ascii?Q?174+4tZuzhcF7CQQcjyyKGG8GLkaiXvF8mJ7lCaQzLgrw//e/sVr/J0w2gOI?= =?us-ascii?Q?HBNrRqdRs9K0IAoCf0dUh4MSwQR97B6r0JSBWIbQMO2kuKPmPrftqh1Fy/YP?= =?us-ascii?Q?V3N1huDj5vf4e4iyBITuUKe00hUtVQMRja90u/bW+0r6RXWHsj77TDYAs9N6?= =?us-ascii?Q?9dCbUYxizHIC/EEJJPecvv5RLtmQIIC01D/jrJsaZ7eiwF87zKjo9mhYgi3C?= =?us-ascii?Q?xWOFMfdk2jfrVsUtLncp5KC7fqq813VgdpF5c24+LCD/rAmIVukLYz3OxMyu?= =?us-ascii?Q?oybxxcN8VtIRoGOqSyLVbn2yTxPUUH1OGMKwtKg4MwClFf8gE8Sa/h3vsLWt?= =?us-ascii?Q?8EBCbrzFnh0DSp7LNFzXLTsYDx0RlvDxkD6Fbmi59FlrfjQYMh2XiftwRQWC?= =?us-ascii?Q?38VRQ4RBXGNy6QQpo6xHtXzaGU0pWaQO2wx0lwnjuD2nB4ANmEDBEiZis0ZH?= =?us-ascii?Q?dUPWYlrTkkb8kjeWZeJRn3sgq+b+fOiRIYvDHBZ6QIZVd4IR0J88M6haDl3Q?= =?us-ascii?Q?2KYPiH/tNQUE+98xShDB/wmzCUpIGDDWao81c79P/IH1I1JcN48M6aLfHrzY?= =?us-ascii?Q?gvVf+LXO3ncRRXQDxag=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR10MB5777.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?oNz21SDY1xkxm5S+DPJnoIiwNULflANQpwNuHZxhOF3ZqCV9kGwm9ZIp2c4G?= =?us-ascii?Q?y1jjW383hNans3wJDTNr21YiB1hq0DCSdsejTM78+mgvaY9P+KYBbPCNL488?= =?us-ascii?Q?cqNhEPKhtDZQ9wOvzi01rmsPDtU/k1Kt4dtVbDmHOt27AXSxMrlH/WNGvEMw?= =?us-ascii?Q?mTv5I0jm0FThteu5n10wbT5Sd9hOLGlfMD2+VHOJ33cv/QnkTpGLnGxaWaRH?= =?us-ascii?Q?bjF9gd5lZu50Uz1x5FdwA1Zg4ywPuhrJHiOui/lCItbATBCDgvghiT7VkHTT?= =?us-ascii?Q?wm2/4c3+NXvDNyinmyMcyu8eZ5svYEvPV+Kq98eqZg9ACOK+4QQeaXl6aRJh?= =?us-ascii?Q?S9oUCC+CBd5oLoPcV+ZsSldQjqVrT4uepSL+aGMxWfyJ16sGeAkI4hcDb+vm?= =?us-ascii?Q?Ed6dXjUl+Ihw+VKqGQ8DftfZJaRa75gnVLB8EXLR3nWjS8ksffsqYABIwyj3?= =?us-ascii?Q?54rqGOz6wImTBLWdNnG5nzxdC/ritp5wCnXhi1uDznu/PzMtTPq9vyCZNPiD?= =?us-ascii?Q?a3q3H6+6o9Ga/5M7J6CFBJHKKTxQdFz3OsuHf5+OyKSJbHWlkhYrkwXgtQAT?= =?us-ascii?Q?26s9DmsUqhOKIdGiN0ZrgqJRqD3sZmVh4CW3QvZnz6HOYAgA3pK8mUmX79ZB?= =?us-ascii?Q?XNP4do6wPxMwtTuS07dKXoJBt32ZFWD4oVJj9J05tw3zth0eQnDWhHPC6rr0?= =?us-ascii?Q?enw9GUng5PzwslikhzuXkRsGu/D5/IPqa9edhJVH9dpMrzZfZr8v8ERbbHsX?= =?us-ascii?Q?a5pzPfiPbU67vulMlQWyOQXPB1NblmLKDvO419UaxdDyKt5Dp8DS1gRz0qC2?= =?us-ascii?Q?6qSPWOlFgia5/apEkMA8ab072YbLhhawDmjPlAjY8ooGbeSl+Fbw8TT2WApm?= =?us-ascii?Q?CcqaRb9v/SMdG1EJ7Dxjg0+SqC8v2d70diLPQXJya8CkCKZjzwyVAurXrUpt?= =?us-ascii?Q?gFeJpElp1Mbm9Koehse61if24ZqhqnuYrDIhAg2tSRYnXJ8/YrAxHl14Jkam?= =?us-ascii?Q?0Rpb14nAzhRYzQsY4GAVhGoDStDKmFNVRKBhHyBFCY2DxbalaA+8ADWTYaPc?= =?us-ascii?Q?nAC3wSXBRufAsG8qiQSpWonrQzXrzOb1YMR3qTbju9wys/VrzrEfe2UIHq3x?= =?us-ascii?Q?XymKAyKIcmFehIahoTqhs/MOw4N6UqlMOpOrVRntmh6g5eRhJBT9/gol3p7v?= =?us-ascii?Q?0qP/xpfSdcYKPnQrlDuzGHLwp6J08XQGAJ5rjNFRqJjXiNj3BJq26d1orSBn?= =?us-ascii?Q?BlhGxz3cLv204RHtr1yhXsenpzSwxTDK6jXZzTUyxmdWP/EfUzvkyPyXANGf?= =?us-ascii?Q?cfVjFrOWkdrdZeD66qoO7x4dnVxXZmVVIYIvZlM75dt+HUUcQi9/HdoqU49E?= =?us-ascii?Q?lBkb3Q9JIchp/+QlaqF3x0NfStk8xoBt/Xw8n86z+5ffCyiPmVVswD8PODVF?= =?us-ascii?Q?UYiA2EzS0nJkF3sLwcJdtZRpdGplLDGcytaoEW1W+HKbtUHMjUkhhh8a7Mot?= =?us-ascii?Q?xoyA0vXnCp2RmkzeJXcdZZoSeBXYm+WRi4x37r79cNa7+MaUa6VV/E0ryO/h?= =?us-ascii?Q?dXACwM6C2UwTznbKaz0SJDZCL4vkdOlPUUUoISvR3oHzfgrWyMmibalA4VWF?= =?us-ascii?Q?VmILAobLHH5xRpxytZcsNjUakR2gnyEext/vbZ9lL6Ag9hkuYu+zCOO38bdG?= =?us-ascii?Q?XeQV7nIQgx6OA8CsdJdBmmhqAjuxZYFFc87tW8N6Dp2r5EOszMQfHMDwSAgK?= =?us-ascii?Q?osI6Ni8/CQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: qDEdqE1hsrPMHNOIFsMBgPogUq7aCZRIYS9dAuOYPSJPf49rLmN6DzN9O6j74c5S11MQuDA/fy/5tUdUjBnsudr5z5dEthEH1mnSRgmEBzLy6Vcxq0MAkaRRcW7KtOr/5gyTDykFfdIVg3VfU6x5L4TO44em6490jORZIrZxVPZRisaXgOXwxNOPyWzZqUq7kORSF5AdO4flTIPv5l6gB3y/Kox/mrmRvv/L8r82JQH7LWFR7R3qTA9uzdp9J+/jNo/fsBYJhY9RRZIGmGO8ylGVg2TNnI6DKZT5AAEVqSpYLRSjj8DcneTWq8EQBVyTT/FuW+JQnMId6kI2gzboy/F9mksc31V783/m1FQv1m5ZEnhNu24fvgKrKvRo+f067t1U7Eiv+/NQB51/3NHupC9o9Lm8jNmuHUUsl6OaWUYz6zbY4gt2pz7RLuReRYFZM6LfkAvCWdZXpMxA3z0RzhCT3fAf7LY6ChYGMoByWOV+apH/CaOC9LHD8Z1NilEAfEeb0IOYyvLsIurZdxAXfP7UtBfjNivOvGrp2RWGh2WCXpCKjYx8SdAM7p/ru2pahHGlTpnmyGjWGq+jHCNczs/x6M1jzSsD3l0I6YBFIp4= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: df9653b5-8cdc-4a6b-cadd-08de590e1e91 X-MS-Exchange-CrossTenant-AuthSource: PH0PR10MB5777.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jan 2026 16:57:11.1401 (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: yCs0bqAF7hxTIYaYvZ6VGQ+KVw++5NhFadlwxGmTN7F8nYYsdnlKHHWaFag9I56aLEV10w2sO5GgolRVvsXc3Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR10MB7727 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.20,FMLib:17.12.100.49 definitions=2026-01-21_02,2026-01-20_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 mlxscore=0 spamscore=0 malwarescore=0 bulkscore=0 adultscore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2601150000 definitions=main-2601210142 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTIxMDE0MyBTYWx0ZWRfX4FVnRLO9UQr1 wqeDK5zk4UyoP47kFcMAPs+wDIuGv3FNK7zJDMp7jVfeyper3xs9/U8iZJCV7HAneisBS1y9mkG /WGpEvVawmu/h6k3Q3KcwOZDWB3qTllb4DhcTBpqZk8fPO/jWY+b7Echi1S2wNfaFvpDzEWb9sQ K2/0Z+CcCG67et/Nknf/XeOFJh+/ZMbvUIr0eqyXMSI1CxRsWndMyJjdkGTFWnD6AKHTJPGKMPV 7vuZG9MjLOC1XQ5dJY6ywb41Wdk8UJ6t53KNym8ftrfA8l3adITqK0bg1CWmnZNgiE+Yqd1BqmB bbAgbTyrovPStL1/gq7bfEXmJD2ylIIsiCFPsxa3ZJC91lzueZo2ygHpYSKTl0HIRYPEq4sxhhM RRUur2PBX2iuaaZgndW7t70zc4TJndGZNVX2ZXSbFD7RrbthL+TUGQYznXFljsvesXgDk0GTTSK sANm92lGCHXveZRehvA== X-Authority-Analysis: v=2.4 cv=de6NHHXe c=1 sm=1 tr=0 ts=6971056a cx=c_pps a=OOZaFjgC48PWsiFpTAqLcw==:117 a=OOZaFjgC48PWsiFpTAqLcw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=vUbySO9Y5rIA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=yPCof4ZbAAAA:8 a=SVrgk92_VGy3w6ovwu8A:9 X-Proofpoint-ORIG-GUID: a9wInoEQPT0l05YZAy_XLM0uotLSYl7d X-Proofpoint-GUID: a9wInoEQPT0l05YZAy_XLM0uotLSYl7d Content-Type: text/plain; charset="utf-8" Just copy the code and replace count with height. This is done to avoid affecting other code paths into mas_spanning_rebalance_loop() for the next change. No functional change intended. Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 108 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 107 insertions(+), 1 deletion(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 554fdffd6c5b9..a9b7e398c7dbd 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -2862,6 +2862,13 @@ static void mas_spanning_rebalance(struct ma_state *= mas, static noinline void mas_wr_spanning_rebalance(struct ma_state *mas, struct ma_wr_state *l_wr_mas, struct ma_wr_state *r_wr_mas) { + + unsigned char split, mid_split; + unsigned char slot =3D 0; + unsigned char new_height =3D 0; /* used if node is a new root */ + struct maple_enode *left =3D NULL, *middle =3D NULL, *right =3D NULL; + struct maple_enode *old_enode; + struct maple_subtree_state mast; struct maple_big_node b_node; struct maple_copy cp; @@ -2917,7 +2924,106 @@ static noinline void mas_wr_spanning_rebalance(stru= ct ma_state *mas, mast_spanning_rebalance(&mast); =20 height =3D mas_mt_height(mas) + 1; - mas_spanning_rebalance_loop(mas, &mast, height); + + /* + * Each level of the tree is examined and balanced, pushing data to the l= eft or + * right, or rebalancing against left or right nodes is employed to avoid + * rippling up the tree to limit the amount of churn. Once a new sub-sec= tion of + * the tree is created, there may be a mix of new and old nodes. The old= nodes + * will have the incorrect parent pointers and currently be in two trees:= the + * original tree and the partially new tree. To remedy the parent pointe= rs in + * the old tree, the new data is swapped into the active tree and a walk = down + * the tree is performed and the parent pointers are updated. + * See mas_topiary_replace() for more information. + */ + while (height--) { + mast.bn->b_end--; + mast.bn->type =3D mte_node_type(mast.orig_l->node); + split =3D mas_mab_to_node(mas, mast.bn, &left, &right, &middle, + &mid_split); + mast_set_split_parents(&mast, left, middle, right, split, + mid_split); + mast_cp_to_nodes(&mast, left, middle, right, split, mid_split); + new_height++; + + /* + * Copy data from next level in the tree to mast.bn from next + * iteration + */ + memset(mast.bn, 0, sizeof(struct maple_big_node)); + mast.bn->type =3D mte_node_type(left); + + /* Root already stored in l->node. */ + if (mas_is_root_limits(mast.l)) + goto new_root; + + mast_ascend(&mast); + mast_combine_cp_left(&mast); + mast.l->offset =3D mast.bn->b_end; + mab_set_b_end(mast.bn, mast.l, left); + mab_set_b_end(mast.bn, mast.m, middle); + mab_set_b_end(mast.bn, mast.r, right); + + /* Copy anything necessary out of the right node. */ + mast_combine_cp_right(&mast); + mast.orig_l->last =3D mast.orig_l->max; + + if (mast_sufficient(&mast)) { + if (mast_overflow(&mast)) + continue; + + if (mast.orig_l->node =3D=3D mast.orig_r->node) { + /* + * The data in b_node should be stored in one + * node and in the tree + */ + slot =3D mast.l->offset; + break; + } + + continue; + } + + /* May be a new root stored in mast.bn */ + if (mas_is_root_limits(mast.orig_l)) + break; + + mast_spanning_rebalance(&mast); + + /* rebalancing from other nodes may require another loop. */ + if (!height) + height++; + } + + mast.l->node =3D mt_mk_node(ma_mnode_ptr(mas_pop_node(mas)), + mte_node_type(mast.orig_l->node)); + + mab_mas_cp(mast.bn, 0, mt_slots[mast.bn->type] - 1, mast.l, true); + new_height++; + mas_set_parent(mas, left, mast.l->node, slot); + if (middle) + mas_set_parent(mas, middle, mast.l->node, ++slot); + + if (right) + mas_set_parent(mas, right, mast.l->node, ++slot); + + if (mas_is_root_limits(mast.l)) { +new_root: + mas_mn(mast.l)->parent =3D ma_parent_ptr(mas_tree_parent(mas)); + while (!mte_is_root(mast.orig_l->node)) + mast_ascend(&mast); + } else { + mas_mn(mast.l)->parent =3D mas_mn(mast.orig_l)->parent; + } + + old_enode =3D mast.orig_l->node; + mas->depth =3D mast.l->depth; + mas->node =3D mast.l->node; + mas->min =3D mast.l->min; + mas->max =3D mast.l->max; + mas->offset =3D mast.l->offset; + mas_wmb_replace(mas, old_enode, new_height); + mtree_range_walk(mas); } /* * mas_rebalance() - Rebalance a given node. --=20 2.47.3