From mboxrd@z Thu Jan 1 00:00:00 1970 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 466A4D5E120 for ; Fri, 8 Nov 2024 03:19:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B337A6B00B7; Thu, 7 Nov 2024 22:19:48 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id AE39C6B00B9; Thu, 7 Nov 2024 22:19:48 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 90E4B6B00BA; Thu, 7 Nov 2024 22:19:48 -0500 (EST) 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 6F7A66B00B7 for ; Thu, 7 Nov 2024 22:19:48 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id EA9AFA05F8 for ; Fri, 8 Nov 2024 03:19:47 +0000 (UTC) X-FDA: 82761472206.12.532A7D7 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf07.hostedemail.com (Postfix) with ESMTP id 82D274000A for ; Fri, 8 Nov 2024 03:18:53 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=lZMXrHi1; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=MlxJLfs1; spf=pass (imf07.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=arcselector10001:i=1"); dmarc=pass (policy=reject) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1731035816; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=U4XcBMg0uVO2qx+oJeoJHSayh/ZnAU2YncLxBq7nc1g=; b=d5htqGnFb9/AymJ6+Lsl2gtOm1zUsr3o0e+3FqbL62YuzqVhVvjUSdkp14yNlg0sbo0VZi UF/pIK9ETN0RyF43shlwFaXhb080OkYKjleJrE4Eep0mcKtv/Gf6co/8uUruqzVtVpaZHv waIqoyW6ZEuAvxxLgoiYOlG+XC7TuwY= ARC-Authentication-Results: i=2; imf07.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=lZMXrHi1; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=MlxJLfs1; spf=pass (imf07.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=arcselector10001:i=1"); dmarc=pass (policy=reject) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1731035816; a=rsa-sha256; cv=pass; b=dvAN98yERzrOs7O+PA9LbZsFb2lEze9iGhxzV7bbgxYMXqzMZpP23/r5lMMJY4QuExTt2b 4acjFpy7B0XLVZ/AF3wvQTonY+69h0LbSw/cYfcBUa6RyBdNr0yKJvaKy4mYGnUUg5Q33p 6FQReLDlzC0QJX/ey7OjKDWTByIeF7o= Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 4A81geIq020877; Fri, 8 Nov 2024 03:19:42 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=corp-2023-11-20; bh=U4XcBMg0uVO2qx+oJe oJHSayh/ZnAU2YncLxBq7nc1g=; b=lZMXrHi1RTJSjvcU7VaHyu9hnhus/kguXf vtnN5vIy7fE/UydBR+lwwVVqFcZaJQtiSQFt+yrRmZPg4z5jg0c3ylL6u2fNUWwD UiFy2o2jXikED4njk0NDdPgIRRCdI3ov8CytvJaw398OnfHXeQeX1z3RwC/TCugR gYe0lW5C0vKLw3OT02E6MEP0NyVWw8yJO3wAPdpmKKU4wxBPgBDhq6uejDRSj48D YOWghuWjhsCkJSiGZmFkx8fUOwr2Kd8K0D3FL3CO5mvOmD8W3QTo11DO7aJcePvo Vrbv4GboIwSpKyybxRf42qnzWC6cnh0ydllBDjfMxqEliodLpWGA== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 42s6jtg8tm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 08 Nov 2024 03:19:42 +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 4A8348PF008413; Fri, 8 Nov 2024 03:19:41 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2175.outbound.protection.outlook.com [104.47.55.175]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 42nahavfm2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 08 Nov 2024 03:19:41 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Ozu5pcXJ8mdnRiM/m/L8b6sHZvw9Gq94AfHppmwviWwasD4Y+IhLG9nqXIFO2m1dRNNi0C3pcELBo4544DPII9qlrGsNdeAeS2mmaw1F1mJ3dUQ7Q6YiH424UBM77Vf2r4L1S0pQSZUvZCpxC2zk9X9hV/Y7/xJBkzC3gfcJ9dhkpWYnqSt3LHy3hQ2/fp+TYZy4pMteu90wUn3bYqvLDEWqIG1dIWMB5bOHk962DxMLhopPyzZfDsUvY3fGuNdZCo0/G4w//y1T9yrdNa2k2LFSMrkBst8InqDuH0N7eW19t4Ul1Tr8r4uoZk/VDRRmLGl/7yvmg1TlHX34QdNDqA== 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=U4XcBMg0uVO2qx+oJeoJHSayh/ZnAU2YncLxBq7nc1g=; b=IYLGN5qjAt1bti8q06eC00Q7i2ykyJKV0khXfAhLTDwdy5Eki8w22inwSUljA74db0fqdM/cM8Dt/4RSx1bSeAC4Y2kGJzytdz108KufnOls+4u4VucSjggD9HQalfk8uU0mgjCYFOMk3tt8jxE16kvA6Na7IsweU8uxhu4iNrxxoXy1kxecwpUwKimAZefUAksGe3iKPQEjyW9DxYJpz9/QSVuD+OO6DwVqebJk4PreFwkfpap6KRqEwiQM/9yqDZ/ff6bpI6GluS1WTxLSxf2OMnfSPVi9mSGBOLA3f4vVo+kcTqG+Yfezq6CZaKlpSdB0ye5NOD9xUEnogx1eXQ== 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=U4XcBMg0uVO2qx+oJeoJHSayh/ZnAU2YncLxBq7nc1g=; b=MlxJLfs1pJwIsf66nSq2OrzF9ihmuXvzxfqCciggVcGmUXdP54Y0bCX4CUfohySOJRrvkKGD3XfwyqDMA5DkNHfyjemG6CtY9mUglP1/STbQvw8rj8DyDE9pBhupSknLqVcr6q09wBF0pMNGD4yYkuYQs7njwrnhhvwJPBHGMis= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by BL3PR10MB6067.namprd10.prod.outlook.com (2603:10b6:208:3b6::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8137.19; Fri, 8 Nov 2024 03:19:39 +0000 Received: from DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490]) by DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490%7]) with mapi id 15.20.8137.018; Fri, 8 Nov 2024 03:19:39 +0000 Date: Thu, 7 Nov 2024 22:19:37 -0500 From: "Liam R. Howlett" To: Wei Yang Cc: akpm@linux-foundation.org, maple-tree@lists.infradead.org, linux-mm@kvack.org, Sidhartha Kumar , Lorenzo Stoakes Subject: Re: [PATCH 3/4] maple_tree: use the correct min to calculate split Message-ID: Mail-Followup-To: "Liam R. Howlett" , Wei Yang , akpm@linux-foundation.org, maple-tree@lists.infradead.org, linux-mm@kvack.org, Sidhartha Kumar , Lorenzo Stoakes References: <20241020024628.22469-1-richard.weiyang@gmail.com> <20241020024628.22469-4-richard.weiyang@gmail.com> <20241108025542.whll2orsuj7aru43@master> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241108025542.whll2orsuj7aru43@master> User-Agent: NeoMutt/20240425 X-ClientProxiedBy: YT4PR01CA0059.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:111::9) To DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7933:EE_|BL3PR10MB6067:EE_ X-MS-Office365-Filtering-Correlation-Id: 61f88dd5-9567-4aaa-c800-08dcffa42dd3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?bqMncM7Y/ZO0LaAVJP4N/+z71Kdreumh4Jt7eFupFWjlk/eAYjNVRozuqfTK?= =?us-ascii?Q?zmXZxVrdiYXttgLz7WauHg4UspyfLW8atHd5N+6j7MAfmRSzQsXXsnKXFe1a?= =?us-ascii?Q?GX48yFJSfV0f0uwwg32cIJsKnqgw+1fGNcwoqO7jp0T1fslrow1o9xK6fvFG?= =?us-ascii?Q?IO69Hjqd7kFMYnyGGYZJkvkXCA0LwIcVVPp9c9xzQHoVVybdTkFYBW+/UUBj?= =?us-ascii?Q?+uYOvMdxh5t0LMDs+YompT1eREjcSExlnJvZ6xD+Y12GhTG8YLpNHrLIrURM?= =?us-ascii?Q?+UyAtLjXlRnSyUWsrdA2gTZObfl1fZsAggRs/3y2ki3sP4TT0AlPK43FcddV?= =?us-ascii?Q?oyp/+4PGpuLPIWExzWeNWD5HtF5ad536NSr5fLF99Q5b/5ijIsy0+wNH5vNk?= =?us-ascii?Q?RfRfh0w49ufMoACFekXG/ID9HbzN8FIgFZbAOMojc7PJwULE50V0C/WnUrig?= =?us-ascii?Q?LEf+pzoBD5bgy8bCsAuX6tiLUWcBfvrTDYFOOMMaCZ9lH+ftpQ6CPGA1JbYn?= =?us-ascii?Q?o5EN2kgWTU2OqV17nSt7Fi6tXzfwLGzaaSWBGEQW/7rzfPtmcdPn0m4Yc17+?= =?us-ascii?Q?HdM7b5I2Hn+vbpd4k7g9ZY97XqZlWXmjVBmyf904OZZTtjD0rPFB2EAhC+un?= =?us-ascii?Q?3KGXe2arxqJ8he5iJpz5+F/fWxdhIMevnuLD6wFoTu4va2Yfo0TwH+mzpHnh?= =?us-ascii?Q?AqcET7PpkHKLQiMtXiAYMRHyrviNaO8WlWDuhdC9FhZzjoJ4f1SfhX2rzCmn?= =?us-ascii?Q?Bxv1unQAkYGl2REHvRIOjT0uaQ8iSlW3qaAFCncPFg9GyNRdjt06ZNApMz64?= =?us-ascii?Q?aGJdNN2TdH8UWlqWFJJJMLJFleV2Mw1PTyJKP2dPx9X+dagr5ocd2TLn8zVL?= =?us-ascii?Q?Obv8QTG9b9WM7ABrtki3FTrl+UsM0QzHOFSCAuzhZsMRrJ1G69xSnajpWe4w?= =?us-ascii?Q?KuxvOjLlqWj3gkR5s/94TsDKTwRhOioDxIWR/wEXkfXSFcBNUfLjcuqS2lkZ?= =?us-ascii?Q?c1UEc9CUUb1AwLIz9bMq56/JLocBblUJ/yqGVxYTItZnPVYZ1GFNGltTjn+U?= =?us-ascii?Q?U1ElSgbbOBqC1QH7i+jkLbqFJJmfTbIe6WdURg2trItJSzufa1L6SAXufaiv?= =?us-ascii?Q?1MxMgewCjc+cbGz/dmP9rI51KUAVq/vh7685qOUWMY5rTOhEb2DiyjDC2M+2?= =?us-ascii?Q?xRW47oSnV0MgUCZdUJbZna24EtqXmHP2jP8ISQgAajE7PjOTZ2kf3bOV0z2j?= =?us-ascii?Q?3MKg5g9q6fWq/dxFqx85md2cmWKTUxuUWwbtgvBHgAf8bVyiw0Zwg9cog80V?= =?us-ascii?Q?lzjIDzKAnPr61hXfV7DdOIo8?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS0PR10MB7933.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?d95MlAAP5+lLXS5NayJG7Dr6REMsh00zAruwpVWDaJhsJMVArLAA73uN9ONK?= =?us-ascii?Q?YTGyuaTQGIBT6y1bl0Vcfuup8oKkysaJGS4a2yyE44malyhWfrS2znCshAEX?= =?us-ascii?Q?h7qGRw3jplIvMyYXA6XHZeP4CCMAL59gLBJYm19roZ+lCAmL5EObzgTP9nAB?= =?us-ascii?Q?9V0KpkWdVunI2Omis3KbTkw+urSIzwDOOKSzl0rvs7yk7pBSENm1ubWgU3r2?= =?us-ascii?Q?FT1nXQ1ULQuH784kD6Kd7Wj3Z1fXgSZ+tF9zFxA2rgG+7RXDf+nsbU1cbDBC?= =?us-ascii?Q?WoCsmkReHDT8YwZ5P8BdHMHoD/aONgLe1JM3s4pg3JKJ18a3ACjqEKLBn+w7?= =?us-ascii?Q?7dl+dK8dvhM9l6G/ACycHCTET02pKsw1koGA8ToH+NptfQB06WOBV6sVZuzU?= =?us-ascii?Q?9auceZoFtNz5c/IMEszY3OlveQvrZ0PaJ39GeqLTFNsyehH899YfrA1rXOkB?= =?us-ascii?Q?ghVSDJcaZO98E3TMhlGNepJHxis4GCgDLVpd3XFHifn/e+YHlKglLrEhqgC0?= =?us-ascii?Q?wXMnc5KQN80jUO53D4oonyZpeJijvqkImlQ/+nTDTyBDwTF95XX9lJ0o+kDK?= =?us-ascii?Q?j5HzAi7H5M8Vv/cc3SYW0OEis0D+sHaaDWGeJl03q3cfzi+6P3SbJqgNNuhO?= =?us-ascii?Q?Qt8CYlyMeYvTi40l0/+xWyQzwVKk8QeOZY+2kQspr86TlgtPAlxsghflonN3?= =?us-ascii?Q?QxrJulQ/jsgitXmYMMgtJP20ptdDig/qmxAFlDYUjdSvusdZG0Zao0H6brOF?= =?us-ascii?Q?0ZMmcjb1xT9U5sUZqpnzBaURzuWjzfqCRtvRcFdN7cnINsI1nTv1PxuNWFEl?= =?us-ascii?Q?sFWcQCiGXB0GbnV7g2WS/T+uBG8X6Ij/sPtvTMvNmhKNpjrtOTTQ3ZFXhwyD?= =?us-ascii?Q?VoSha1U5ZzAcZcIgy8NeNeH94q2ARItZTCk5yB8HpEGb6+LDD4WM+inFucFe?= =?us-ascii?Q?eY0sQ8e3xxnfVC47+WU2j66mbBObjZuKcbJR3+/E0bsQMczh2bJlsg8VKPBA?= =?us-ascii?Q?ybJadO/FM3oW2NMgkuOxWxSKR3gzRu3tad9LRUe1cn8LNBPtJSGDWXrsZbjv?= =?us-ascii?Q?RvDGTL7cIoRl0VKX0Q9fjFOr8721GC18IoCjQE/lkucKeRr5Wg79dzU3Srus?= =?us-ascii?Q?o3N3QuI7y7RCKN/bUFRWL8Fw7k8XqSsVrgXmr0AJqYAKB/8WZY82wAM32/Pj?= =?us-ascii?Q?mYekhW+oSxE0NMXiniFqVDgRlC3u+w31TyRoPKGBTYlzEdJfD3tZ99vyjf8i?= =?us-ascii?Q?xaf+yJS1KSevwlHsRC/Bztq2w4ciEbRZS9XJnIMvy1pBssf1NdY+14gwl0JM?= =?us-ascii?Q?Gae3qV7ointmnOPKOp7nffnnMnOfKB5DwUE0Vk3+fgZWQrSBGU3WnFGFBBso?= =?us-ascii?Q?i0sb5EMAT04eTSJw4khwRZCNSdY9RAJlWm3jQ4v2uG9HLEifC5J61WYzHW7A?= =?us-ascii?Q?tEiEu3CQai/3sGluhQg42UKPERRBjvNLZfCWtjh3ysjvyV14vDgI3z+L4iaQ?= =?us-ascii?Q?J51vWm5gi2g5Nf2I9zzc3HU1thwrFkPG+0Q8fjdAin/LLmqcDlnlia0If76B?= =?us-ascii?Q?NJHJUF0L0SC+n/94/1v+r+v2uCynSnD3GrBhI9sPP/MLZ3jeimSZiWhdABWo?= =?us-ascii?Q?4Q=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: valD62PiyeEVno+5dEaC5XLl+GQgx0D3rtGowqvNjJVGqfDYd9Ohv5kj/7xDFdaqEx5idxqYmwZt983es0UlhLpGQlgSg/fTeGecYiP37acdiHZ2QGcjUNYPI/Gl3jYABNTAVPY3sFimNmzVMWTkq81tT62iC3ljt74ENvuajND0b/RtKagENtfsT/pWJUyi46YXaZkgOjfOMkB9p7tSZvHevhGkIf8i882N9AgZCCPOPd25EhAvI3UhY0HPKe+yzoXthrCmZG6J0YyGrZ3XPrmrKQEc74X1AdQ7vagkAhtGH44gq9xnkyti4SjihtflL7q4FeYleHjBbyd7z/9yXNMHn8ix5CQNSkv4kBisUCqqGb94BRTwkj0AsQkvX7S1GSMdxgJ3tzh2yg/LysTAlKyQQv8OFKDIcVq9NDhWe07vyV6SRtsHC984+Z8L6zCukyUg97HYmqApPKCXc6AnuUmAPctRVh/aOaRBLVkyxB/doeICn9xMoTGY5GdK8aQp3PTPetAi+TLMUlhPcG1YgakruihS2dI0bajweOgHVw3bWUpKw+wIHt7ubFoyzDu5WSPBAn4DbGLPK662v0fa6V0NInPmIG8j81eBW2nuViI= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 61f88dd5-9567-4aaa-c800-08dcffa42dd3 X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2024 03:19:38.9565 (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: XjLScymnaald3uPa7G4cINa5ZXrkRNhi4js2yz3QCH232HgaopuiATXoueduSNRgrVl/PHG6dwGmu24JAGTq3Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6067 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.62.30 definitions=2024-11-08_02,2024-11-07_01,2024-09-30_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 bulkscore=0 spamscore=0 adultscore=0 phishscore=0 suspectscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2409260000 definitions=main-2411080027 X-Proofpoint-ORIG-GUID: 4n5Giqus7bY1L4U-oLtP-4KUNLU-xq4Z X-Proofpoint-GUID: 4n5Giqus7bY1L4U-oLtP-4KUNLU-xq4Z X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 82D274000A X-Stat-Signature: i3sryr3undrhtktm8gapych9pjrw8sfp X-Rspam-User: X-HE-Tag: 1731035933-435310 X-HE-Meta: U2FsdGVkX18lDnWSvWm6msbgIb1fzX/TPtI44LITjxNxQNfoh+Tb8yKiQr5fE4TOxMH6MrC9rQ8+JxRsjPificz6QT6wokOSXcT9gIFXRp11ViWXbJ98QDf/R1ngsAeZMPeqT0VaSgPj7UBQBqvWgcthiuB7pN6zkc2iIYYsvL26WAN4W8FEeytApUHIf55tfXzxwiCFOhk7m3AbPLp7vNO5Vd0BUEGOotIbAkWPIr7xuj/uU+cNIobBQ5UK+t1B2mDI7UR/DVz03ZR4ErjRE/0WfXgTUgJAs/0cg76aCb0lAIg1f44RA1W/IKMwGhQIH8B8n5V6/4reMaMGQ/cC63PzRBMcfpnORxxUXj/wVDmbGG77yrp+SpFEaKW5wOwEOSaGYLeBvQAWzYLpEwsSKbqLMwZBj9ZwYmhAR8XBMuVKnm0GOp6RMtTlJhDkoDq2e/xcpNxKiAkGREPxWAeNeRCHD/6WHQXf4tClQlGOhQ56ogaxC5eFoifwr8wRIt1vxHaFgu+RGJikcSMwemsWaxBrP19fmjcDzHPl1QC3aRWPMDlGXT0zSsKosE4CuaAITPa22PLRVWH1yx60oDdN0zUHDBqnnRREZ5GrSGw2HGxEFiMMGsS8Jffy3u7d4ZQQFRtHmBP2vKMZPztOOVdCuZM9D564T1aYtCOMlTG3RkfUH79myHx8s8l8fiGElvC24BLKW0u/RSsVRTeuhLUa43KitVU7K7rNQ+dpDynxrFjqU+cTJ6GYL1QlvxU8lSrzhprx9NFzlwyxiCrbJ2I6djYaiP+4myTiJZKiISc9C6mo72HEeL3E2T/bKCCTd4acNLEpGzqCeyYMb2voKwdDECZjkPxmANb9KaoiRqFKaGLNuhPIRjieX8Xi25g/cwDrzeMpfIBV08oyebC41R39Qvnece5gypIlHSU2ee4FcaA7Z2iPSIdWVTZHmL6D60mOWE1XGYvNN3CddPJ23IJ jxKK7FAY Vn97jgLlSAQb3zngswxNVvcSUwWasW9mnMt+6b8F9x9Nlfe5Zc/n7lSLQ10DI6IW5n8SM86QayYi5bIVw2mcQNaoZuWpQTUmsMR+1roMC1DsInDwKNYhOyJIEAkASXL/rm8+ECyqj7dXj9qzkLc6iWYZ9Fe/h/Ju5vZYdQw35RGie4u0Z8HHnX94Z+lhaj1tQGyjBekToLTvNo785JHbr4UUzO80+LTZB/JM7g0EFHp18O7ywbAkjrKOMkHu8Frshy2cn5UOe2z3MOjM+g8X2PdYgWIlhQ3vaBrpNtbwulY3YTfsqVpNMqSiAWav3yhKxdRmGWr3Fzgfe3wa0JCd0YRGjUA+m3k3ZAkKtp0BAXspCwy03rbRAC/GaPJVCAzXS5l0dxx+JCaC86D8mrfVgody4DiFsR/eWgJ4MiI1p5oI/cYrCCbHYF66iHqp+75iHlQvmJWppd3fyAMu4QN2U22TS6UVD+WXAwSCK9PinGAYu0aKlc9G9cBMCdGF4V5zHOOkoCytliLcpSrgr4RCo5F8PTjNfJmmkz86Tr5IgswFzKx/fTN8GUd5U4vh9QOzSp2ZJEH6KF7ZtYWhtdce0Sf951HrWi3iknxqbhGhgKFGU8x3i1EGoFR2yefm6emdEb/0FZ4KyeMOuFZi/6wUFPX7lHdCKgUeIoaT2LHuuZvPXuu1+vPL/5rlJou7h0+GmO4TwTMx7FconMEU= 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: List-Subscribe: List-Unsubscribe: * Wei Yang [241107 21:55]: > On Sun, Oct 20, 2024 at 06:00:35PM -0400, Liam R. Howlett wrote: > >* Wei Yang [241019 22:46]: > >> The check in mab_calc_split() is to make sure the gap between > >> [0, split] won't be too small. But we don't pass the correct min. > >> > >> First we may encounter a pivot[split] smaller than min. For example: > >> > >> mt_init_flags(mt, 0); > >> for (count = 0; count <= 240; count++) { > >> mas_set(&mas, count); > >> mas_store(&mas, xa_mk_value(count)); > >> } > >> > >> On splitting root for storing 240, the pivot[split] is smaller than min. > >> This result a huge (pivot[split] - min). > > > >This is fine. > > > >There is an open work item to make it more accurate at higher levels, > >but it's not a problem as it is. > > > >Each level upwards needs a better 'minimum span', meaning that the node > >should have at least mas.min - mas.min + level * something. > > Don't follow this. > > First, I guess it is mas.max - mas.min? > No, the idea is that we could do better if we could keep the data more densely packed. If we have singletons (all range of 1), and we have 10,000 singletons, then a parent node with 0 - 128 and a sibling of 129-257 makes no sense, there is nothing that can be inserting into the parents last two slots - we can't split singletons smaller so we should have done a better job at splitting. If you think of how this grows today, we split then rebalance until the left node is full and we have to split again. This could be better optimised to avoid multiple rebalances by doing something to push more data to the left based on the span of the children and the nodes. But we'd want to keep enough so some modifications to each node doesn't cause a rebalance in the opposite direction. So a minimum span of parent nodes one level up from the leaves would be 16 * 10 = 160, so when we split we can push more to the left to try and get to 160 while keeping the right node sufficient. The math of the span would change based on how far up the tree we go, but would be easier to maintain. I'd probably still want to split it 50/50 the first time, but it might make sense to push more on the next rebalance. so 10 => 6|5, 6|10 => 9|5, but maybe it's not worth the effort. I'm starting to think so, considering it's been ineffective to date. There is a chance that the active area gets moved to the more-full node and ends up splitting sooner anyways.. All of this will probably change when dense nodes come anyways. > Then there is sth related to level. But I don't see level is used for > calculation. Would you mind sharing more your original thought? > > > > >It works today for leaves, somewhat. > > > > To me it works by coincidence. Seems like it. > > The condition check is: > > (bn->pivot[split] - min) < (slot_count - 1) > > while slot_count is a constent, 16 for leaf node. > > And we always pass 0 as min, the condition for leaf is: > > bn->pivot[split] < 15 > > For the mmap world, per my understanding, we won't expect an address is smaller > than 15. There are other users, but I think we should just drop this attempt at fancy stuff. > > >> > >> Second prev_l_mas.min is not initialized for the first iteration. This > >> means on splitting leaf node, this value is mostly taking no effect. > > > >No, it is set to 0. Not initialized would cause random data loss. > > > >See MA_STATE() in the header. > > > > Right, I want to say not initialized to the value we want. > > Will be more careful next time. > > >> > >> Since we are now calculating the split of mas->node, we should use the > >> mas->min instead of prev_l_mas.min. > > > >This sounds reasonable, but considering what this number is used for, I > >don't see how it is working as well as it is today. I will need to look > >deeper into this. > > > >> > >> Signed-off-by: Wei Yang > >> CC: Liam R. Howlett > >> CC: Sidhartha Kumar > >> CC: Lorenzo Stoakes > >> --- > >> 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 894dc5e9436e..c2d4b188646c 100644 > >> --- a/lib/maple_tree.c > >> +++ b/lib/maple_tree.c > >> @@ -3357,7 +3357,7 @@ static void mas_split(struct ma_state *mas, struct maple_big_node *b_node) > >> if (mas_push_data(mas, height, &mast, false)) > >> break; > >> > >> - split = mab_calc_split(mas, b_node, &mid_split, prev_l_mas.min); > >> + split = mab_calc_split(mas, b_node, &mid_split, mas->min); > >> mast_split_data(&mast, mas, split); > >> /* > >> * Usually correct, mab_mas_cp in the above call overwrites > >> -- > >> 2.34.1 > >> > > -- > Wei Yang > Help you, Help me