From nobody Mon Feb 9 02:51:18 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 B0578388863 for ; Fri, 30 Jan 2026 21:01:21 +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=1769806883; cv=fail; b=j89tVk2K5KiqPp/gr3Llw5aphmag8L1sZmad2TKiMqIq+gFmuChY9QgE0ueI+txnfvgygTGq9chzEVb8C4hmxJ/3Jwd9MheIUINRncT1HWPsgXvZ2q4EJuuJqRToK4F2z+97+Fp1Kz/p4/A6wC/Px5ItoqWv+LjxRxY8xDXaLec= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769806883; c=relaxed/simple; bh=YmRtXBhufaSugN8olQGEzXV50mM5LSmmSbzPfMY43h8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=LWdflPwuwcQqGT06jBSAJGYpCMiAMqSCHd0dwCpwWDP2pMLIKr+KzaaIiwcnlH7VG+s0KrHVULPdCf8rtSVzXwHsnppO/Pq5FujMxNSD/7IsYX4/OLjX4PPM05VwQFUvnvRc1b5QmQrmJNnD+u8XzqNcQTfSy87GsNwsANL8K9U= 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=qhM0L+W4; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=pmN+XkmV; 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="qhM0L+W4"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="pmN+XkmV" 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 60UKDSp83338145; Fri, 30 Jan 2026 21:00:37 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=a09mnnTsWNk8ZDi1O5yzp+1ctxr1LUvOzgOJrfdz7X0=; b= qhM0L+W4GWcgvPOMpq41b3r/+2s1aPxYtfrbH5THd85Pfar9IhXqUWuPR9rhF7my 6119bKte4t1/CHsiWiWmuySEJ5ZJ8fP0VPS5pHcLHICVHVn8oF0go1CV85wQlZ9M 2gSf95jgXhTzpMlQhSqz8RrWX19vdwouf1JBNo5r+uW1wRcvCgZFzaTsZMjufgqK lAHPsj3eAKSgKQVVtJKghToub0ujnoPx0kx7AVs4p3W2ET7IiCOZBkRIKIWxX9Wc JI0FVOyaMAPUrM9G7s3y3lEPgPsgTbIx4US73iAK6IB6+lhKpZkR/4wdmoDZO9UH 9ELiEoPx7LWan/OLuJ1w/g== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4by39rdw48-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 30 Jan 2026 21:00:36 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 60UIkbKJ032726; Fri, 30 Jan 2026 21:00:36 GMT Received: from cy7pr03cu001.outbound.protection.outlook.com (mail-westcentralusazon11010008.outbound.protection.outlook.com [40.93.198.8]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4bvmhe4g0t-5 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 30 Jan 2026 21:00:35 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZXHWMuMew5nxCRl9WbIzlXFTfak7kDsJOPKfoB26aUwaBlVBeUVMnTvzIr3sP0o8pA84ixAET6f698OAFzA/566vQDc1GKjaWBZHhGn+V7J7yUnIGaWVI5pMC7PPQ8JmZPMqHkMRmGtFaGgHaWbJu5A4THB/AQIwjuMqZ2x3Fw74KYot+TMsq6VZLku1Ey9D/7JAlcS2GnA0NTPnwIk8mDG8FFBiopkOCYO1vJKpB4bOc535ko9PbG5BKiRc2640tD1MTxfCWKm3qhgBqogAgL3IP6/6YS1ka5OwVxIqx0wvsVRZi/ZF3hb9w+Dl3o9Rt1VLRTleZNkpCAzLkUbccw== 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=a09mnnTsWNk8ZDi1O5yzp+1ctxr1LUvOzgOJrfdz7X0=; b=lOfEPkGaQvhvZYhTTNeXikwX4ZiflfvgbNdfUsnL6VIQuwlevrR/oitj6FLQVXg2WP80LKTKCZEt0dLqWaqUY9mg9ReZYmRix355jPhYknXIKDKp5FPGXFC1r7Z4ohJsrhwBfgTy88iM1mUB9DhU3KIjJPrjxBSvETiQAoK7WQGperVaoQ3jCT4toQs17jAmKBlul7a+GffMOW4jQVFH4Tg1LVr0rVINop/OIQ9oBjinXaM8q7hTInuk0y+F5r6vHOSO/shV8BBXZ7mXtcO5wWS0zfknOdQW+Cr9eNr9ZxjNl2iW9pVFvTk7ThBZU3eX+r2qMsv71vUF6GR3o1vDIQ== 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=a09mnnTsWNk8ZDi1O5yzp+1ctxr1LUvOzgOJrfdz7X0=; b=pmN+XkmVxy0xhDM80Z8Edx7cXlC4h4KgO5bJjMOMTq2uJ1R335sugobcw+79hiKGxFYSZNe5twxkI/1Rw23yIDhBidrndmhnGq5dwt8KT80gvCdnjLIR1GbYLiAqsGZiecjZO/vrU89TKsLAg1W8RBL6t9uPx8aUFjXZgyxfiVI= Received: from PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) by SA6PR10MB8061.namprd10.prod.outlook.com (2603:10b6:806:43a::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9564.11; Fri, 30 Jan 2026 21:00:30 +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.9564.007; Fri, 30 Jan 2026 21:00: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 , Matthew Wilcox , Sidhartha Kumar , Vlastimil Babka , Alice Ryhl , Kuninori Morimoto , Geert Uytterhoeven , Arnd Bergmann , Christian Kujau , SeongJae Park , "Liam R. Howlett" Subject: [PATCH v3 15/30] maple_tree: Introduce ma_leaf_max_gap() Date: Fri, 30 Jan 2026 15:59:20 -0500 Message-ID: <20260130205935.2559335-16-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260130205935.2559335-1-Liam.Howlett@oracle.com> References: <20260130205935.2559335-1-Liam.Howlett@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: YT4P288CA0078.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:d0::11) 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_|SA6PR10MB8061:EE_ X-MS-Office365-Filtering-Correlation-Id: ad42c22a-368a-4d68-a247-08de604299a5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?eDdkVIhuNfGXNLOf0gVfeV/BiU4gBzzuXgA6qF0GmB9z+71l8T2GNjTamwnR?= =?us-ascii?Q?7Ue6kQoMRvNRFDlsqb8NZ1BSTx1gSv1hnrT/68PynWKj6DmKA/vEEZ9RNKku?= =?us-ascii?Q?EFfLN+rqravPu7V17jDyWUVVJgWtv5GkF2IcRZ26+D3gmVClc/czC2njrVKx?= =?us-ascii?Q?Xq0mZB8cHIDq7scUgtupR9qS5j7ZEWzURfsSYZHTqHtbUl+/lCPm317ByHUX?= =?us-ascii?Q?pVd6Pft0dYlRfGMjUDuG51hP8Qv58ISI4ghEA22wryLTk8ZJwgfG1dMfEZ8w?= =?us-ascii?Q?3R5wpOP1xGKjc5wzvZB6FMNGvKSuCJs6oL/ALP9Z++4wnnj/3FdAhRsnV2uY?= =?us-ascii?Q?HSy9cv/UmkhjQbGsZNCE+3oSnMIuQnhuGM0kC3qkXLu+hI4U/9gYKQAwgnUo?= =?us-ascii?Q?fobQJGWJtUhO5/ioP/TowD+NlWg3K/4381LCd9k6J9mgpyphq51O55y2aehp?= =?us-ascii?Q?QmUwI4q0Xfv0UuMzL+LqgyLsDLVXQngnP4vG27uZZEmDr2/q3y+UcgaSmcR4?= =?us-ascii?Q?4FPIwhob2PXTew15gGxMauQCwkb3l1KeEQUNY1JOC8iy1/TJvKI6D8nTH/BM?= =?us-ascii?Q?wZtX/n1ZAid2GDCzC28LQDHGUbqz5uoGrVmOMrbUG9Dx3CPl0AYmN3SHUYgb?= =?us-ascii?Q?u7d2zO5qjt1IMJlisk0t5UvpVovg5S3n3d3zyd42YA4eodEu08h00d7+iwL1?= =?us-ascii?Q?+5W//k640qRn/3q/O8u4+3Cj2L45CFzABBnViujQFP6eiecDDu4vwMqkl4PI?= =?us-ascii?Q?7is6j3zL8Z8gZ5UdpIEJsFGpJjRdOVRqTDdfGZiOpTvQ60ZisCDMpxXliFsq?= =?us-ascii?Q?rmqCoOdUNhNLVH5lvZyICf0yl1+9EnuZK1qUVfhJGGhXB25IgjiOK9MmuBD+?= =?us-ascii?Q?v23qyLvCgpyE4RGRu9k/kapZHOBay/CdzFHVP2oufGJv3t4pyoitgauJzckB?= =?us-ascii?Q?6umJ/T10s3HLI1MBn14DwtGK9eFlxc83cZwwOHnjYzC4yJKOjTzxUfaphsvl?= =?us-ascii?Q?omYK9QvkZLD5B4fsfvdyY6Ph36+3f5x0++d1zWPGzTE8Q3vF09ymHs1/j3to?= =?us-ascii?Q?gZRNWBd0weDZwhdGZRkkeqV/SDwol+JWlCY6xLwRq7og2SAE3EmMVy1ka5F+?= =?us-ascii?Q?IXqDiNbwHvqaUj0j17+xMWqxDk3NWFmk0xCGZdoMLFdYYswFieXpMfZiiKo6?= =?us-ascii?Q?lSOYIdwNAn+OOoiijSBYQclNB2Gr6ja1rPXgSXKxn1/G3ZO8UuDUSXDMtAYa?= =?us-ascii?Q?WhTZK3HEFAs0BfPCJMOoUcteRlx1HqabyVhU3KhX64BCvWRxaGdoogc4vvMF?= =?us-ascii?Q?lBY7RzDTQILzHjsPNTLydbWLkvcyCRWOK7KBOGMGc/MQrJ7FI1a8h1UP2+WV?= =?us-ascii?Q?skBqONSUSxbStTV677uxWOgX5S/2Vc7FIuZ5x/v6q8joRtbQD/I4s4MqQmvB?= =?us-ascii?Q?kaYXY/745ZoeXD/9sUXgMRNt/XpS0aVVVA8yLETEmUgfH9MPBdOReNJ/6zFb?= =?us-ascii?Q?8fF1VP3H58ieCk1nvfpQdtx63nNYlHYjhKS+jmpwLYzmNhafSG0gSeA3jJNP?= =?us-ascii?Q?CG+c0JCOUoBcG6IVh84=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)(376014)(7416014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?QiSl965y9VQt6rgnq96RRO6GXc+2qGigqk69zzU+0yAiBoVi7HUY4TW6/oCe?= =?us-ascii?Q?RqGMswhoW1EjYRHDCCAKShFsjZvER3tjBOkkkAD9DPSAY3sWSm4jHOLxN7Xr?= =?us-ascii?Q?ZBd17FeNMzh65Xyul4O9wlsiEWLaPphaKsmXSLQ6KH7PNUxTCcLODMc3/WGN?= =?us-ascii?Q?Q23oBvUisQ5z/HmjZ4AdXsmxbCypuhgXb287xb7Ni64IDnsJyvegrxo35IDF?= =?us-ascii?Q?c7RNRuHQvqYz1ElhtsCpiIVGfkJHOWPIJh7JMsBv5EdaxAqYb28g9Msffn0l?= =?us-ascii?Q?0Cc56WjsVTlhl0/2AxSei8YQcFyEaaQtDMEP+0GTLSy24dbMbyVMT94T9kgQ?= =?us-ascii?Q?EV9PvR7j3N4zWJC3jZzeIsBC2WywgOCJe8N0lBZBAu4wk6XSyCWMlBzzpEBZ?= =?us-ascii?Q?CwvnZ3RdUocaNIX0hzMdzEzt5zvj/ttVpI8zmKWKBhINUm61ZJ1IEyByMAiP?= =?us-ascii?Q?YxwvrA1tE2xKU+7yi+4fczDNVSfBEgMQtfbidlAyfi5ocRZ/hbCo0MY+M6Gh?= =?us-ascii?Q?wMq8gb8lUCEeQj2AYq4vil1wP8UDBO7VrBfQ0BkAlLL4MV2gxJ+QXzgJteDo?= =?us-ascii?Q?UFCYo3ZRFBj1dky9+z90QLO9Je2buSPlJhDdOerwM3DZqKBK6s8jnfzUyjZI?= =?us-ascii?Q?infMzB2rBLyMj7tX4Y8n6OUecEweJAue/H9Ca9uNZCFigO+i/zVc3mC/ByXD?= =?us-ascii?Q?tv7O+HJ5on6b2H3FswdU+hTzpNvpih1XfP/I6rBy/5MgWD8/VJ0e8ELieCfr?= =?us-ascii?Q?1h8eyuy8RNPHvt6LygDWVZwtyzGkNsLMHYjZcPsNhtq68kMGW9QUZhHCmCMX?= =?us-ascii?Q?PMtI3anIF2BwfH8ZZh/5soFHtTjRAWto2p/V6aq8V8Knd34C3DGN+JbRfbaq?= =?us-ascii?Q?DK4QdlZ7CAnsauLbLOKOwnJaV7WbmBSTxRGjJZLjSRODo9TsCJSSa1NbIyfO?= =?us-ascii?Q?Kwa7pK+4LlZytFXbnTdJZtYblaqfVDUSSbHR9F5dB7S9vagX6HbOOuauHTs/?= =?us-ascii?Q?4bTxOxVB4B9f8R7Eo+Hy/po0n32RV0cbOOMXYO47IUH9nmwbWSPKgF+Z+UuE?= =?us-ascii?Q?SzAxwJsGS3LVywR6+tCIs24C4thDUaz/FipG/oRxEOhBkdac1YcgMZcPXeir?= =?us-ascii?Q?gT3UtZ9ncJjVraDZOifasnJm2OnZcQ7YavkpDtRSbvnH3Nfj8oUMeL06RZxG?= =?us-ascii?Q?/PfELocApRZmjYaKbQNLSq6jyQ4oQcqOSHb3PFhnWTkJ47dw6HpCbLH/bcBG?= =?us-ascii?Q?TRhrxQTuMR33iN1X+F/995kVkldxrpSJt3XDgK0IkoCV8iQgXqsBg+1s/suP?= =?us-ascii?Q?bF51ey3rjSDRy4M1Lfqm/Kd1mLUYMj7xfmkg3Q6/u5RkFad5c8h+9CGqKzvp?= =?us-ascii?Q?jRyiE8fTUvzgJcS4aOrvsJJwQ9UIoWNAVQY8prIyBaN/ee1IDf7h4oBUwnBd?= =?us-ascii?Q?4fwssNrIdZ9WMbnxZ1iV54QWHgIPFTluE1L5N5K52L7KMJ7K/0v4qZ23VuX3?= =?us-ascii?Q?XE1ZVZfJBTdDn27XPTYs8GPuvp9oK6d/2iwwBLWnTCSE3OVdru9NHaeXC287?= =?us-ascii?Q?FhpFy0ND16h3icM4gmqi39jomrF4zhgLzG+LwR+nFkoyqYgE5qTiT2OKYiPV?= =?us-ascii?Q?FAEIoya5J6V4h1RJPvp3FpKsOSSRcCBwRYt5qXyEggfNTZCgUZbaH6sYce9B?= =?us-ascii?Q?PrpoBZdwToa30tVO1MRKd/qrMwREh/B2nUrPMrcyMwRuBgjagKVGZRwPZ7AB?= =?us-ascii?Q?CWdhn4IdWQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 9n64N7BJ5+p6wFGxDM8JtOp9gjRj2SMY7RrHh25fp2EU0yMBHQZtFJrmyFuwPEXysw+x0yQEY9x5Td0VZCkZ1Mmz26QbQty5U2+0Cu1VTLPr2SXeObtTa7ID0AqLbcxzUZd2vVOY9uz5Fhk/Tjzta4AnvuXbQK1ggkKphtN59LxGEuOVevP6+UAjA0fE11KvnwhPWjpUxap1rXuOXWgsvY7QzJ3Agur5mo53WVSb/H6legvnxLdfnKTB7kL1DhX9zm8T5brFX5RPhlj/BW/Tf2ITHAQ0xmOGC0ZNo2gVVFHDctUJIokPAVnvtd88zHIgy7YRI+Rf6ZiE7OaNaqcoEB7pj6gZJLgfvfnGHZslVdYCh4RUU11btLHVANxJ66PilIKMOtofHKhrx8XXV5Hj2Z6d7r0eE20qOX9XIeNqglUN4V2+jFWByLoBxWD9BGoh6ukR7QtC9XlAV1gpq4q9U2FJNMK9fjkvBT/b9y/DUzKIwPCP2p5ZIQ0miBBojJ7WpXte5BZXfUqAGF7F7QxyeoFlJ1h7TYJTDWvfMspTSkL4hCQFD5epb3PyAGTC+K6EAyeoFqCFW+XQ9M32Bggiv/HJRP6shfJ7eyX7Sh1bssI= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ad42c22a-368a-4d68-a247-08de604299a5 X-MS-Exchange-CrossTenant-AuthSource: PH0PR10MB5777.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2026 21:00:29.6201 (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: MJJa4M5VejeUPWVo7yvhNfZE1Iqjt33GZpZ7i3MU6iWszMR29/GhKHmOBXu2xd7M1d9kIk3Y46sxNX6sxIdUSA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA6PR10MB8061 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-01-30_03,2026-01-30_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 bulkscore=0 mlxlogscore=999 adultscore=0 malwarescore=0 spamscore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2601150000 definitions=main-2601300172 X-Authority-Analysis: v=2.4 cv=LaoxKzfi c=1 sm=1 tr=0 ts=697d1bf4 b=1 cx=c_pps a=WeWmnZmh0fydH62SvGsd2A==:117 a=WeWmnZmh0fydH62SvGsd2A==: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=-3J-9aNdBi9tGdEVLXQA:9 X-Proofpoint-GUID: JwCDEaAwPog_-JOh2GCKsOB2Xo32psU1 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTMwMDE3MyBTYWx0ZWRfXzhCn1JBZHRhg ridEsm2woTjZzEScoMFXb1gSBz4suNcO/+s/+4sTecJ9ybAai9nPCOPaZKUmB/m2Vnpzad3ZMNH uaR+wfU1s+zciO/jURpvKzJWo4G6wXqG2VmJ0D32LJ/HwWuQsAT15mZyydFndG3gE6vuQ5CBtSA M0vGB+H0U3S9ZVMxDyhd/VRJo1h3OQA/NSh0CVooZvHZBQHi+b2Q/qfB0lC4OUAkSJsUG8BGpuV kpUJOEWcgPDms16M+jOs8Bh4TnKp/g5cDhT2RL5/CFeRptyMT3mGMf4imZzVFxqRBLk7cJBRTTK 9sKPoMLyYJ4pXI4Ma4GgzuoNO5FeOnZf8Rw4X8qH1FDHbhbbh8eTlPNXJlU7ODQBi6rm+6Y5ptB QTiP7Z8ygc9/55IMobRXGuF4TnfqN26yaCtn4/xlQZHpo2cumrO6JDylb/Fn2NbRtn7eFiaQ6UQ FmRLCIRpIJrlJQmemww== X-Proofpoint-ORIG-GUID: JwCDEaAwPog_-JOh2GCKsOB2Xo32psU1 Content-Type: text/plain; charset="utf-8" This is the same as mas_leaf_max_gap(), but the information necessary is known without a maple state in future code. Adding this function now simplifies the review for a subsequent patch. Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 48 ++++++++++++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 0d6f810a4a1fc..499cae720251f 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -1315,26 +1315,14 @@ void wr_mas_setup(struct ma_wr_state *wr_mas, struc= t ma_state *mas) wr_mas->r_max =3D mas_safe_pivot(mas, wr_mas->pivots, mas->offset, wr_mas->type); } - -/* - * mas_leaf_max_gap() - Returns the largest gap in a leaf node - * @mas: the maple state - * - * Return: The maximum gap in the leaf. - */ -static unsigned long mas_leaf_max_gap(struct ma_state *mas) +static inline unsigned long ma_leaf_max_gap(struct maple_node *mn, + enum maple_type mt, unsigned long min, unsigned long max, + unsigned long *pivots, void __rcu **slots) { - enum maple_type mt; unsigned long pstart, gap, max_gap; - struct maple_node *mn; - unsigned long *pivots; - void __rcu **slots; unsigned char i; unsigned char max_piv; =20 - mt =3D mte_node_type(mas->node); - mn =3D mas_mn(mas); - slots =3D ma_slots(mn, mt); max_gap =3D 0; if (unlikely(ma_is_dense(mt))) { gap =3D 0; @@ -1356,26 +1344,25 @@ static unsigned long mas_leaf_max_gap(struct ma_sta= te *mas) * Check the first implied pivot optimizes the loop below and slot 1 may * be skipped if there is a gap in slot 0. */ - pivots =3D ma_pivots(mn, mt); if (likely(!slots[0])) { - max_gap =3D pivots[0] - mas->min + 1; + max_gap =3D pivots[0] - min + 1; i =3D 2; } else { i =3D 1; } =20 /* reduce max_piv as the special case is checked before the loop */ - max_piv =3D ma_data_end(mn, mt, pivots, mas->max) - 1; + max_piv =3D ma_data_end(mn, mt, pivots, max) - 1; /* * Check end implied pivot which can only be a gap on the right most * node. */ - if (unlikely(mas->max =3D=3D ULONG_MAX) && !slots[max_piv + 1]) { + if (unlikely(max =3D=3D ULONG_MAX) && !slots[max_piv + 1]) { gap =3D ULONG_MAX - pivots[max_piv]; if (gap > max_gap) max_gap =3D gap; =20 - if (max_gap > pivots[max_piv] - mas->min) + if (max_gap > pivots[max_piv] - min) return max_gap; } =20 @@ -1395,6 +1382,27 @@ static unsigned long mas_leaf_max_gap(struct ma_stat= e *mas) return max_gap; } =20 +/* + * mas_leaf_max_gap() - Returns the largest gap in a leaf node + * @mas: the maple state + * + * Return: The maximum gap in the leaf. + */ +static inline unsigned long mas_leaf_max_gap(struct ma_state *mas) +{ + enum maple_type mt; + struct maple_node *mn; + unsigned long *pivots; + void __rcu **slots; + + mn =3D mas_mn(mas); + mt =3D mte_node_type(mas->node); + slots =3D ma_slots(mn, mt); + pivots =3D ma_pivots(mn, mt); + + return ma_leaf_max_gap(mn, mt, mas->min, mas->max, pivots, slots); +} + /* * ma_max_gap() - Get the maximum gap in a maple node (non-leaf) * @node: The maple node --=20 2.47.3