From nobody Mon Feb 9 14:03:16 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 A7DD6320CAD for ; Thu, 15 Jan 2026 19:38:02 +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=1768505885; cv=fail; b=Y2CgVbv0ijn9WsvN1N8kSUdy1/UzSG8oEXtFq/oSSOQCzCL+szIOqMnI74bEvUO+aenbdl3F0014u4lTyGsVBKYieGvOJskuK00utFjvev3jyqnyH/nkRUDn1/rG1YH8NiDi7iRMI/HdCkZU+vPjZMFsKBS1QLO2iPcLU5bwvvo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768505885; c=relaxed/simple; bh=IylYrEX11vq4GvyNbL5g7FP1t8pQz98yzMGAy5dLxro=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=iYDpxQ1h56GCuduHuJjL6zQlFdqZKxZ+Al9wH8J1Xu4jSUKnDWCLc2yCkxI73HfT5mgS287VbLXlYsKAIwxqMwhRqOOqbxIx4j91sXtMMkUFadTe5Fd0L8v+vjDYFIPt4wcaV3oVFS7ZVzj76pSikJl3XFmcBqb+hL+M9Y2JPIc= 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=K/UDY1S+; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=U/Ogvh31; 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="K/UDY1S+"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="U/Ogvh31" 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 60FFgMeB2419471; Thu, 15 Jan 2026 19:37:34 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=NqrzJO1V8LqFDJIP6UrYCZfgqmwYLROgIq4mr6GOn7k=; b= K/UDY1S+BzrkmUy4krlQovk68CB0qqDaD7Lr05xFj/me0MntOFaC59ZEvTRS7TM5 Tr5CvtFGebd2Jq0CTUKO/SIPjW78yaOL1YapwS2lIsKPvFZSWmo4RmQ+Egke2c22 VOcYwvIwC59tKGCN1KhsK3IDmjLNlnbTVXQoq5OXDunZATzA9438o6pHlDwyB0Ea +v45OdyEFhrztkV8xnTdulIk9RnE7bKmYxLYhRTLa1XdUrf2ImxDeIH0jhhxDcr5 XZFtSGAl53mzC6UEgzrRr1CIp8xgVh49K1XGGF7gfDz8AepFTupy9ACn8cj7bxgp 2aeNrX0MycwtIv0V9ux5Ug== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4bkre40j1d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 15 Jan 2026 19:37:33 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 60FIbfU6000463; Thu, 15 Jan 2026 19:37:32 GMT Received: from co1pr03cu002.outbound.protection.outlook.com (mail-westus2azon11010056.outbound.protection.outlook.com [52.101.46.56]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4bkd7fgkrh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 15 Jan 2026 19:37:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XHd75wh66IImYEdY7PSFEcczf10jOa8OqcwNswFys4bhzIt0gDeD06QNEnI6fzIldSX+aSApFJUz0+n5TSaf2QLi7crlukDsJ+0lbF79PtCQ+iLrkAkXbRBycxA2Plsyh5cR7zlwEm7rgzux3rjbJtU5JsMBKn1aa2CYi1+9WtIO+dlT9VeoeZek9zlF+pW4qb/PmU36LDYr606wANHMY/PAZBWehXEjU8339yMLuodAI2YkVqvTOu1TbTEzkzsaC9q+v7w7d7Gr7LgBFrn5TiE5fpO6GCHbt6VIkcc8CJSOQToK2/FTtNrd0f4nfjGepFgcT4JN69GMLz634Y9/Xg== 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=NqrzJO1V8LqFDJIP6UrYCZfgqmwYLROgIq4mr6GOn7k=; b=aE1h73HCq8MkKe5GBHPyWhmzp9Cdt+e/sh4fsHwZjxZj+Ccx88+bw74cr7T23foFwZ1+W5g4stUvh+4ZMJJY/TjWPrbOw1M/ikWXP713FDSflj+p1nZaI6BGiU28U0FjdSkwI1itW0dillJG/kD6LSvc5eDn+yqAui18udQbsMruNGHHS7Mj88IWWqPkIJrKqsG1agMN6vxJasq9rh87l5NJBY+36WrpJoCsCdgADUpzDAaNB1MOJiK7nZHrDGOeT7fTqhWHCzfOeZd5anw68gRtPUeygzqYvq9MOXBHCOO13iKQD5C6bQKwIOFyk1CRHYpufq/+TcRsgyy5Fl/arQ== 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=NqrzJO1V8LqFDJIP6UrYCZfgqmwYLROgIq4mr6GOn7k=; b=U/Ogvh31Ah+TTBGj+BCtMjfOUiQcu6E25JFQoRHt2LIEiDzNvuLTcUwit694Ma9F4gEIPCcDWmAwBFLb4cNkvmXuCY8oVsPnkh3YS0uV7AaWOmRNMSwE79OiyQiRicfb2TfzzBLEHV/jheFhV/8scRblmjDvp1x70Tk5mRPnKHg= Received: from PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) by SA2PR10MB4507.namprd10.prod.outlook.com (2603:10b6:806:119::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.5; Thu, 15 Jan 2026 19:37:29 +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.9520.003; Thu, 15 Jan 2026 19:37:29 +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 14/28] maple_tree: Introduce ma_leaf_max_gap() Date: Thu, 15 Jan 2026 14:36:33 -0500 Message-ID: <20260115193647.1695937-15-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260115193647.1695937-1-Liam.Howlett@oracle.com> References: <20260115193647.1695937-1-Liam.Howlett@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: YT4PR01CA0347.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:fc::18) 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_|SA2PR10MB4507:EE_ X-MS-Office365-Filtering-Correlation-Id: 2b3d62b9-f7dc-49d7-fc20-08de546d84bc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?FS+CQOAKe7USjb4aVnJunYyd8YjNLQq691AsrucEUakI4aFDenb2OWi51lrg?= =?us-ascii?Q?en2iQiKjx2wPwyE3fhlOsosYcdvRoDphncKQNDUBLNO177/AMxhCvozxC5h8?= =?us-ascii?Q?WlPFzr0lrpXcJdyHtdszKCWAmfGab94zpQ09DqIEEAq4X3i/DQYfjkLY/YkZ?= =?us-ascii?Q?oiF89Kqu8WQy6p/2GRgF8FXeM/iBAvWzTPj8ohp3bklFYm1YY82Uo828+M4h?= =?us-ascii?Q?OqM1alBmbpszgqRQPcaPIpq6RUIVV4F7Sl3/PEYzcRerz/B1Zo4FgYhOt3Z1?= =?us-ascii?Q?NKzr0aigAPa4Wfw6zEgt7LTfPKrTmCloo+p1oCIdFsja3HwVclNWomPBsFjr?= =?us-ascii?Q?t1eT1whtCcxRqvIkZc7ATosnDK0ooXWHQ+hCxhdxFzbNeYNpl0em1dAy30n2?= =?us-ascii?Q?zJj7bhwimiDbfRDqzQBUb0nY/q/SKwJzZg8sV4G0lS/3GUafhl0TAkotiLiU?= =?us-ascii?Q?GCtjEnO02RGE5ECQul3CUiShWL0lv3HkWcj6qcRtjsMMFxVUhNmxVE7VxvPs?= =?us-ascii?Q?0Y6XjSPV69UXU3mn5t5SRo2W8H6obbfCt+RWnembhvr2hTPYSzR2W9H75ONL?= =?us-ascii?Q?CX7ByBZYWNXrTvMLr4msJyUUAkMMemFyNdt63kEcn9LRPt8wrSlQpjM95jxt?= =?us-ascii?Q?D7jwbmVywNr7ZS4rIrHDLz3jtDtswKdHa5FeAVcoA4NPB/MHQ7Nd6cIGNAW8?= =?us-ascii?Q?cby6DBWiCC4L+3SbrdKxnFf9C5yh4LJTE4XC7AgtXJzMTKgJ/azOGmOWm94c?= =?us-ascii?Q?N6Sf19TjGWSu8RKOTFyUO0hztLfYLfihUfQX0xKNUtu8ceXrdY/5SCs15GSw?= =?us-ascii?Q?JLRnuCC5i/Y84nNMdbQcoBQHbalnB4a9nXphbiK9LxhK61JKfdpqrxvmAUOg?= =?us-ascii?Q?zlMdyKOB3R/O4/vZa11mak3aLg9sZEkyyB2zTSTsrjNFO9kUYe3AgG1PG1//?= =?us-ascii?Q?0T3XbTdSTJN18hzogu94jo435t0O7JDkEb7nByQ8rNipHKgn3g5nmrwTlgu6?= =?us-ascii?Q?S5IPpXtHUR1MNIhQqigOaRHbzPNX4tj3nN9VdLUM+tWMG72Dij6xD90MVUQb?= =?us-ascii?Q?j0r8O+JCgoiXZbauGn1Yj1CxLjvDKN/jMq+JObFqDlA1exAXIHdiHUgy2PaX?= =?us-ascii?Q?U8GdQvBMupCIW4Ab3LhWQ03iC6OKFH6Tlq03OCkBwujXTPeEQR6DwgrIUP9T?= =?us-ascii?Q?4R+s3XBJ9/JNbEQ+gJqVcjQL8KPbCci+sF4TNbhdAAhNzx12N6j+jj3Va0+9?= =?us-ascii?Q?UtPF99x03MbFSTQ4QNGt6XnLjzFhLTTrKmRvyyWbrN11wlo7Kkqprk94vbA6?= =?us-ascii?Q?JIQBUEXujFb7TAj3GLRwbzhB33pRgFcYekKDfLdJr84aLTCcC1A8oFdIVEyU?= =?us-ascii?Q?IcgZA8s1P5cBTfp6/Rh5wwYOsF6MZcK8iTsRxq/o17YaC3oBpVCWmqAUDh/4?= =?us-ascii?Q?/QvlIPBJ8Ej4/2x9h5i9dwJD+rROkMKhkPVDEyGcZecRKxQO+HFZM7ikvnJb?= =?us-ascii?Q?9a77lhSZ6ssGPauQxexnvG1c+ReCfet/uqZWscq02VSVMrjbx2Y/w/lRWngO?= =?us-ascii?Q?lJdFFyZiqoCezS0BYg4=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)(1800799024)(366016)(376014)(7416014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?z1MSv8Ze4WL1tTfJv5kVssXaRr3wu+ToSfn62qLQLgSKMql8JODlWSOa3Ssq?= =?us-ascii?Q?L71UYYioWPQ4/EhooG9eJ4n0IIZiCbWRo8eJd3WY/zRSgC4C3YjbQlzjS2Y/?= =?us-ascii?Q?KpFuBdqOoFZanbITaPVXi4MHeoNG13O/UJ1oJ1h/TNhDwkUENx0EokJbCV88?= =?us-ascii?Q?umUTfnW8YItj9Jgs/TopA26fU32XK4DDZY6w+0rsUJt3odqS3lfiwYEIcNIj?= =?us-ascii?Q?wnQFMdGxP8PGfPugZQmDaaNmAASY9DkPKFDYuqlJMXgGSBv0SZxiRUe3s5MB?= =?us-ascii?Q?ulNZs27XSD6YdR3pm6EXXqs22dcp5+Tx3IDgB4xkLeZb9GYOO2Yr/iBdnLOX?= =?us-ascii?Q?JpW5+q7KtmagXYgBVTKheUMSBPAZqkpaMsQnRh9T8H4AWC0RUtJ6VRUmKn31?= =?us-ascii?Q?3XYHFmmVTyFefdzqM4gcLPPGlFa+6XUiequDCdemLtwD/CZngtoArZM9Rw3v?= =?us-ascii?Q?zJUYL5C6A8pSsvgkEmyBEQzXhov5RY2YePAHUZ2+MggBzLc30S3tZZZgWObZ?= =?us-ascii?Q?ZlMQ770WPh7NtPL1E3I06aSLKYOOYjhHTxV+jhmym7UOKp3O//PQWmDIGM/l?= =?us-ascii?Q?okfAd5i/nGQfDTE1PnV3O5TdC3NhVzebMn4CQnWfwjcePBHC97+KA/+duCyQ?= =?us-ascii?Q?oKQeyINgQJxqHED0jkgdxyVeUr1Y/fGlGwc7rrswu8dkEEL0lQ6Ge/q4Hplt?= =?us-ascii?Q?sDMFeXS/aNZBS33lXHn3Ufo+3FL03Bxn/jmuIErHAdB/mqvq9UXRbnJbq8jL?= =?us-ascii?Q?LLhpYCMG+h5Xd9Dne1Y7iKkxFaP+uNDqc9zDWzZ81zHCCJymYwpG4s/fO/x0?= =?us-ascii?Q?FM11DZiUVHuFbnyQWqesxhI5JkD+BNOL54Y2U8zQ5xbza4PO3IBksKUzO74p?= =?us-ascii?Q?n28pGWjYS21GgjtyxbSFfEQUg6O7yWav+bztXASm3blIuN66X2tTcl0XaLtN?= =?us-ascii?Q?ulzogWftWBBypGv5bbiyESMOHi7wATuGoDRMLG9hdiqfeNu/mjYyW7eUylhm?= =?us-ascii?Q?ZO2g4KzAi2WRZBtBMQFRECeI4vwH7wsqWjHUaQ1VABHs86NzMteO4UaB5xRB?= =?us-ascii?Q?EodapRLRKq9Cf1CRNHPftIoopAhHqwarXKp2pUR3ukNjaajmUs/kRu6CG1fl?= =?us-ascii?Q?Pv4/AyICpCliXd7RNVRE4vguqtjMYZOFJKWlKdPxhox0HMmz1RVdIJaZ1Iyx?= =?us-ascii?Q?FamKKr2zEtdwcaXyFgwuetkflgQnIFtZW2wM7f7fQJGObpRywt5RofpiqKM6?= =?us-ascii?Q?HaGj/19kE8K2iAk8OdH6wVCigVIdRqCbZ/plU5in3E8bMXxElBuMRO0vEEJI?= =?us-ascii?Q?Hv90WSLGvy9uepLzooMkw6kUtQrAvhllGD7shjH2aRLutWME4D67CKeti8BP?= =?us-ascii?Q?2KKWcGdTE47dHH8PHXWT8VQneogf6NHn+SyI7VajU8NtyzD/SIcLSHYcqKXN?= =?us-ascii?Q?CK3nGO/4VPPhCaPfXnT2Sbaed7/oCIYCH4cMnjWOrGsHcLM5CPGCHcdoAXex?= =?us-ascii?Q?gGUUPhddZvkrA7wrNFq7qPnsXyrvH3ghnNbHm511E4jcXUabmzcsKNGNj9iz?= =?us-ascii?Q?Gar2oNSN9tDnpYq9BU+NALaxrzAWF8xnTs4qi3uMym/rwydqphHiDDZOhTPM?= =?us-ascii?Q?mp1kCZNQJb3ZusWJ933I/wqOPD0ScRQt0HEt3gJt+vYmTsG1A1Bp5J7QC7NQ?= =?us-ascii?Q?/olpTXslPKY5lf1Wcs42yccGOy659ff9eo0JVCUmrGze1bXBa///ZxxdLHpa?= =?us-ascii?Q?uSK54H2qSg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 3WiGOkCUv3TK1ANgRTsEUN5hUuGxy2hYyPEVq51BjDsBX4a1kGt8wVks3ttcqjsxs4xOi9aIHuvsn6IIdHs+lVVAE2DNcPwg1N7R21c5KF9iXLc/E+xrfy6z4FA8tMXO5AeGi+Jwc5hSEhrIaRpVCGwpUT6CsH7zjNFZORWlcC5I1ZR5W79qUu1QhmeMpvK9KmaF6mm4+i3wz0Z3FapD2ytFEqjqeqP55Yj3nYk5HMkdwtON+obs/6bHw5LXozak9GJXP9h1suq+RyjvOT8FEFds9OCA1Rl6ZJSIKLrOMf1xaV7TYlLZL5qMWmp4GaGY/ohGAwJRgtRtmq9pDV2CXB4wxTzil6zWQ/Yh7neZT3nehDRzMJLkqABkdWid7uUAM7l9VxpaK6YFDuURX69znDEDRomrmzKez0IvdsxZZFa1j1hGszkZPkLekzBwZs+tuPXu9C84Tf1rG62joPorci/zecz4m9NLAe46s9sWAV9RT/VDSZybhsYgahfHzeU03c71QA9FmB5wUboKQDiXDXTGCxVT20YITFuqCl9BjWsvL5xElk077SGKFEiFBWnaezNiGfCNt+LGum3uVVP2Q4YuMeRc9t755e+qJoD5hSE= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2b3d62b9-f7dc-49d7-fc20-08de546d84bc X-MS-Exchange-CrossTenant-AuthSource: PH0PR10MB5777.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jan 2026 19:37:28.9217 (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: +ItZbDxtQm9EOCsefKBMEef6enO/ZfACc54WR06ruX3UnU5tzd6jafgBmqRxWzjEyuKldHxCMlRj8DUHZhCarQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR10MB4507 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2026-01-15_06,2026-01-15_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 phishscore=0 bulkscore=0 suspectscore=0 spamscore=0 mlxlogscore=999 adultscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2512120000 definitions=main-2601150152 X-Proofpoint-ORIG-GUID: Hn3L7TFFDqBgyXU635Q92PAwfbyQ9rMI X-Authority-Analysis: v=2.4 cv=YKOSCBGx c=1 sm=1 tr=0 ts=696941fd b=1 cx=c_pps a=e1sVV491RgrpLwSTMOnk8w==:117 a=e1sVV491RgrpLwSTMOnk8w==: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 cc=ntf awl=host:13654 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTE1MDE1MyBTYWx0ZWRfX4XFHH3JVYY5n 2zxowJoBkWQg1GKuBdAXUqCpgkbVvdrZdVYVlrcP5uQvYwMMeS1Zt2xkyOROI/dzM+6mLa90WHh tvEMzjJ7O7lORSaKbIm+nL3kCayW7ruvkhdmUxUZ538C/Gzg9e6kkNna0Wg8RKT1v7Bq3NFy4ml 9+ksEfzAswmOouAFockwivpSpS9IBswet9eHGb/SoW1LpSnnWoP3lOGXQnscqbfL/RV9tpenBnq 9EBQt82OVn1S+4nSg2NaQBSiPh7fLjsZSh4zL0eyMrhKrfhgp9n8632LcpTyb0lzNvB7aUvQ5uC frG20BB07OJ24Jucy7s/kPrqdApAVFFSqid0ZuqmPV5ZFDboMfaGSJrxMBC/Jv0/6jSFpSLjfwy LjCmclxGJeXwD5fCAsYOF10LvYpjonAmF5slBtCDAKZpCpZCHzh2aeW14zk77V78ISYLfPSj3pz iomJP63aS0PIiCiz7/ZX/7ZptVlNdrJ/QsHG2xsw= X-Proofpoint-GUID: Hn3L7TFFDqBgyXU635Q92PAwfbyQ9rMI 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 4dd1cc73cd27c..366202dc22343 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