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 A6ED6D5C0C7 for ; Sat, 9 Nov 2024 04:01:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0C5E86B009E; Fri, 8 Nov 2024 23:01:33 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0756D6B009F; Fri, 8 Nov 2024 23:01:33 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DE38F6B00A0; Fri, 8 Nov 2024 23:01:32 -0500 (EST) 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 BD7D26B009E for ; Fri, 8 Nov 2024 23:01:32 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id B8314A1079 for ; Sat, 9 Nov 2024 04:01:31 +0000 (UTC) X-FDA: 82765205292.07.3C2B248 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf05.hostedemail.com (Postfix) with ESMTP id 75481100013 for ; Sat, 9 Nov 2024 04:00:17 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=W56laS9q; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=X1RIJ5vj; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf05.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; 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=1731124749; 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=6JSmtdMub5DJlELvAmeQA/LSjhqZDJefj8INChQnBZo=; b=jd+uOTdcv49enytSV0WCmHqHhkCMJQVnjSKJ2htj7r/3L8Q8Fsq++NCaI7ri1ZPrkrRbIl KstdUOb7t5XWvy+R+3Dqh0iRMDhaFlyt0frrYWVjMgO9M8HIPDraZWj3vzDl49yquEWRUF fwiGQMnLJxOmG9amN00csXZLxA9ET6U= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1731124749; a=rsa-sha256; cv=pass; b=K7jtb9dKvmG2dVbreuVeWSQazTvDB3DFOImjCMDDrCvDBx9PtiTuVEHeNPy2ySaRgqzfpa kNtZoV76/M85YuhYlrOPIlSQRKyMPVpLGpuC+TgdGE9+cYuNlAMWGyw3j5boViPg1xe73+ Md51qSltcpvEDx2Dm/hpylRDjwKxv5w= ARC-Authentication-Results: i=2; imf05.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=W56laS9q; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=X1RIJ5vj; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf05.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=reject) header.from=oracle.com Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 4A941RA7003079; Sat, 9 Nov 2024 04:01:27 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=6JSmtdMub5DJlELvAm eQA/LSjhqZDJefj8INChQnBZo=; b=W56laS9qTwbdQyzLgHXJhQJphX2VF5GmJ9 gcjxkJI2eghEJmzwG6iK5zKKAqkDaK+ptu+WopUUW/RUsEdtbniByOhoBHQL+6Gu WaZLbKmRMSX7EEBnD3JpqGO6dY083SJ4HaNR4n0IwpPUNtJV64654rnj4gvl/5/d c+aq9GW9f83iaz2KQ1q3BN8mEfeaeD4p2KyiB4w6nwDkuU9ca2cHQg2Bt2rlUP6m FWFv1/eS99WsKjGekWejDMMrZhkPvenm8RwxaonBfUGSer+IBKnBhbgVBh1FN0g8 IrtUspyMGu9qFWYjk7jIH6ESYmWe78VrbaRl5k5799/WGGExPobg== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 42sybs015k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 09 Nov 2024 04:01:26 +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 4A91XZIF034293; Sat, 9 Nov 2024 04:01:26 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2043.outbound.protection.outlook.com [104.47.70.43]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 42sx65a16a-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 09 Nov 2024 04:01:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RGlar9b3k9iJKIEF0CLtREtwxszU9Nz6RcyLvOsWclyYJpSTGCI4R9LqUZIEkEBvVMC+SMWYyfLmU2u0gbFpZFNSnJSizNA7yLiS5S3/xPiNWrFAuoAc5AVUDnRyfbO4C5ydSIgVCupeUhzRSzhgPZ6tJpmBT7mzlWZTMyrD0NS6Pgam4lyw0tPBakqZZvqwDASy719Q3zZyjGe2Nful5CAxvmKQwAwyo/aUuk5n6bryxzMGd+wXCWz+X3B5fglW+qBs5XG576niZx3y64XP1LQ/31TW3q0/RB4qhTIVJnYE3FIPoSMwYgHPY23Sl4vvCZeqm6b1Yh3ZYsOSm7/Qfw== 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=6JSmtdMub5DJlELvAmeQA/LSjhqZDJefj8INChQnBZo=; b=xIer65ktAer966vVMZPslLJLIvcQT28hGNqEvipuMSlJlvZNg0OttOnBwI10dYoj8zp+++B+8Mx+mxj6lD7v+AkkXNv01OB59OOe8EOVK3edOFilOwWPWCDBlmt3ri5imAXcg+8UqAb+0e0Pjnzr/R/n3pDusANg8kvN4ExmtZzikOSutPevgLGTDAU7V0QCCV4GGxflkjrjFQzK90gEWr3qxnCJvW5xIOo1lF9IlwwkIqM0QfE5g2XGDkU9Whqous2r+YllBOzSJtWlf1p2ChtvcI0S1faiCrWgRprS+rRKHs/v9rJw/mhdKmo0QOhllE8D7b115ckNO/rVKAfbVw== 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=6JSmtdMub5DJlELvAmeQA/LSjhqZDJefj8INChQnBZo=; b=X1RIJ5vj3Ld+BAjUh3MnBwPf1AZdHkBvuOPBx0ZrhHvkLvOIjFuQbYXraqVb6gtHeaEk2w6Wqyf3Uh+erNeQkG3Jb8EfzwcrXQmH0EtJzmph0LDN4uJvaXN+0DkbRSfgA8f44ZhI/ntNuvaoPLvdbZR+Ri6chh/VU9O9i6roIE0= Received: from PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) by DS0PR10MB8125.namprd10.prod.outlook.com (2603:10b6:8:1f6::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8137.20; Sat, 9 Nov 2024 04:01:24 +0000 Received: from PH0PR10MB5777.namprd10.prod.outlook.com ([fe80::75a8:21cc:f343:f68c]) by PH0PR10MB5777.namprd10.prod.outlook.com ([fe80::75a8:21cc:f343:f68c%6]) with mapi id 15.20.8137.019; Sat, 9 Nov 2024 04:01:24 +0000 Date: Fri, 8 Nov 2024 23:01:21 -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> <20241109014038.m3arxtj2pqhqjmoq@master> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241109014038.m3arxtj2pqhqjmoq@master> User-Agent: NeoMutt/20240425 X-ClientProxiedBy: YT3PR01CA0029.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:86::35) To PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR10MB5777:EE_|DS0PR10MB8125:EE_ X-MS-Office365-Filtering-Correlation-Id: a0faf5d8-fe98-4d55-1c2d-08dd00732d50 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?EkNXRxtvNDESzkavPQK23g30fkuZ8fljBudMtheSq8dBa87h3EOvpTRN+Li7?= =?us-ascii?Q?IL4lcxXxlm9TLLu3Do125zyIEUVCVC7SpI3j2P2ZkENhnihRXxjo3J69koQW?= =?us-ascii?Q?eekUuIT1gsMV+tuMtQ1xrfFWsF+56dpQCG0LWvQf2mQgpGowKuyjnSv0LU6M?= =?us-ascii?Q?x9g8vBuHfzWhzpORkSav6VXt5XmX15NB1bW94WSBFY3ak2/ln+hp2PiNrM4W?= =?us-ascii?Q?B/hl5aKSosMJWKIICn5WXTL7DYHJ+Yqew81yLTbvjEuy8NqEP6MTjRMTJaMQ?= =?us-ascii?Q?4sIyKiD7d8qovgb2u0yDISHFjchjVpdsgAXc+evqs5qXo2oZytZlzbpaLuk6?= =?us-ascii?Q?I00hbw50tzdEtu4Y6vBzfGxgkHSZ1xTUMa1726Mf1/60KqCxZwHMEIAhzMs1?= =?us-ascii?Q?p0oUD0Gk6185OZtLQ7ZmCmtipoBWrQxXjMLgFUiM6cQsSEX5Hvk7QXJbwR9w?= =?us-ascii?Q?A75ZTAlGuEbqPUi4TiAE2KFshNwOaQLr9PhtiLZoXA7ljU0/P+fs5NnZaB9t?= =?us-ascii?Q?z/7GPKZW3GYWxCOGwHKKCiuJ2bSTtcGKNNZWSCGAA4KsWbt00iulgAR2dNg7?= =?us-ascii?Q?w6eY3aTFQG5pDJ6YBnF7TDKClynbu2Ae2jmJC03HByLNnRFPxTXpCYaL1ZA9?= =?us-ascii?Q?Iteb82/2O3xU/MNxJ5L0eo/IY/Va0qrv/Rm/gb5fuAX0hVh06J/SIOpXvTkS?= =?us-ascii?Q?WZsffMG4tKzDN/sIA+XVKgqlqOOv9SfkuOc/K5J6w+Uiu8rFjkg78mrqBsT4?= =?us-ascii?Q?MMeufjqEchqwzeWnn5mwcH+2eYi44VkHk21WZXVlqhTJmtROYT+xyXhKQCc/?= =?us-ascii?Q?HjNp4YBz32SAPJJ1HNk88no8t/39OkWY3esd7bsgPoVjCc/opuAIy92nDY/T?= =?us-ascii?Q?ZmPGciouVN4mnEhY2vGT32oW7pTgBjGEInahsXocDuPcB6Cikb95BqlJMys/?= =?us-ascii?Q?9vw1JpvbRnysbVNWmjQW9tBGoc5F6XXu1eqQgp+m+PLhifkG4/3meEiVBy1y?= =?us-ascii?Q?IIF6JCuE89YxqKtCtLIe3R+xCYumAZLEKoZ5+4c9ojHVz3kQyO3MjUERUCan?= =?us-ascii?Q?zPUGu9m1dUCdkcWH00ENtI/zFSxSeD36FIW3gchX5T3GrqKSd/zXN0zv7WcB?= =?us-ascii?Q?3pfiFbJpLIM29nJd5qaPAqq6A8UNO49fjcsq2lvtGsi+S1Fo+rnvn/uKlBWp?= =?us-ascii?Q?2gpoydzKouV01NIcL3IER5TAClidFfcvMwmvpiAkqU6CfUg6DKkzPMR1hnbF?= =?us-ascii?Q?RvXED1PejThQcu2+lMNVjLJyhzdV7SzmknUMPOHGmaDjW4bmlrDWDXS2kG59?= =?us-ascii?Q?QyWUJHL90IPTUROoNu6TUldE?= 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)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?yZX2im7HdAF9DpufN6SDNEullebKvJVkY5MwzOASnxFCLyMWkbvZiE9aHR50?= =?us-ascii?Q?oJYNkVqYBTrrdQ6QBcKvSEQB8pi4ng1jkzxFThPyyuVJP9rQlElMa8UpSyjz?= =?us-ascii?Q?QtE47GCuI27a0ERPAtpEEOWFNMKYQMYtJ4ImT6GPuGZly5RufrAdlmWndBDm?= =?us-ascii?Q?TmRHt3687Dfw6HFEuG5i4C65jztC94M/Y4i4LlGa8OL6+72hPgXyWy7QpOKI?= =?us-ascii?Q?rzrKjfaut8kI+2bLeHhOqkNcZnhKoWGFbICEQ0eaXR9lh4nAGyamwbaKg78n?= =?us-ascii?Q?bDEcHxxIURkkeuxPvpVdQ2t6vBzh2caTeY6IjuKFhaq97zNNgdDPcyAUrUg7?= =?us-ascii?Q?KQF2gajTE3L3yzrRPT7FKeRG95xe0tEMo4vjqzFvVpSuFUmBpVoxw9oHdCuM?= =?us-ascii?Q?5cosKZDQCIp3PlteKWKaTQz+CF7/euBAWmRb1VzoiszzakvZnnbozCJNn/Pj?= =?us-ascii?Q?xHvOz6Pf70PWjqZVD8OhLr7gfXSvN91S4Qkb3f9z0u09H614hk1flWOAnHP4?= =?us-ascii?Q?EsMDixtkOhrOdjX0xXSIRcDOZYl2gLdzjdE+vOkbfKIYQTIwtM3B6xsKyd4P?= =?us-ascii?Q?c+CEMxribGSugYETaJRI8km+kwWl4p2mftsvZmbjlQSJqXxZjqPb6Rsz0mcd?= =?us-ascii?Q?CQUcxz/Ofd6O3xLM7mKlYZOH91phQyJEdD+OOmUzK5bfJdJ/E7re5DSUdYrY?= =?us-ascii?Q?TcjkyD/ht1Jw2Bscp8iPX0W/YqDyNW+VUG2C9IKbWIfDFYT66txuhE6IF4MV?= =?us-ascii?Q?fqgJjz5BoKyGzfrb0qKOPtE3zoNQjy2H+5vV1X7MDRD+6lkCCget9YqFneuT?= =?us-ascii?Q?6P0Y9EYn32J0oMOIe0ZQY5FgosxnMW1jj9WKypAj0+mJlEhnF80r7raZ9Fx7?= =?us-ascii?Q?Wt5yEVBg2HvJ3yR5eyLgfpdJHcaLooPP98iJUc4M/6Pe0Hj8Ca1cAqVVPsws?= =?us-ascii?Q?clx4el/oEwiQrKDNNVygAfqqU4fWKYXHUo9YFgV7E5lAP/hZwgKGl8EyAjP0?= =?us-ascii?Q?N8yX4jET15cchCHQCUvhhSW/J6BWHLM0fDSBNx86pznIRtVXFCz8fh2PKtsX?= =?us-ascii?Q?BJCsrcLvrK6oi0DODX3reVTdZD2Kdqp6mymN7WwdbzOlWLkj2WZLB0GI8Dd5?= =?us-ascii?Q?ZI9qBmxmyCKZuwIk0Dv71uE2cx/jsgDWaCA7jNcNXwAM1YVnRtcLZCpOf9QX?= =?us-ascii?Q?piO5iY3FoIIxUpzZg8MjaXApupgj8wgiBrAiM4FzQjQdE3XbRFwuMbN4XA20?= =?us-ascii?Q?y/K2fZvqa+jxuaUk2MDbe9s2JTWN5l1Otk7doQ9WZfxZavybo0K41fOS5QER?= =?us-ascii?Q?PLJUCSpn+n6GWzFod23cxFrW6Q4DaKGj1s44W5zrFnOnMcmCPYmyuuWp4O2v?= =?us-ascii?Q?FULExklCUHTie0zLrwqsJuVi0Xqfj6E0pGyp5ecJXa9Vp25DSl+ktZkw7xV2?= =?us-ascii?Q?puwAljO6pDp+FL1MHjnX3uQSZzKccRV1MFnpFky8cwoBOgmjCkdOp7XDBLS0?= =?us-ascii?Q?FBJ2Bgdtzqv+vo2bhHaL9M00wpwOpWbYmJuCN+cy1/1MkiwgzxYfzTLwBtID?= =?us-ascii?Q?DYeWdNORoEPscUyJhKX6HnSevDs89z1F0xrGhFDu?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: g4kAUuGUu5akxD+aeywQVPqyacP9UR/q9qFunbpLrnginF7yahwWsnYt9FBX61Z40CJs9VBvg6el0bZ9KPOrfMJz3wRofVVnWXtoMCL9wUk1kE2MP9oDgBn9YrupKIXKJGdGVbmcSnMREXF7TmukZF+ZCKEV86g1ZBs82EBKLoMZsCOl5uOTEgHauv5Gd3KK7dx5Eu1B/fEiEKeEZXpWB7mUwvpcvAMoje7uvqtcfCQj1SckLIEd9WrR1NMd99dyu0LrQaZRyGfDk0sk+5dl+q5uHxY3QyzOgxGOavwJlJMQTXgHLqZJqYmeJsx6Xz/6TyAq/ATy8Ho1UpsyV3ZVRZ/0euAu+IMH1+FgWbBMAmd8dM+Gt5ZWMXWRPs1xfcZ++aK98flHJB4EX14ePzIFwsjawlOCDak4KUT9OCw32tRt84sXfx2VmOTc3e01vvYhhn935VhAL5QvjmX+78OTHIa4TiussUvGuXuvq0w5lWdGGFTBClJoxVRdvjoVq9w7jdkNEY9m8XjEwIcvL4ix5uOwDhw7euonbwtIQJhtFXXYPMdQHgUaH9U1LYMnbW93AsCSSl+FizA93dcVwm1y2jPAeKmUbRBgBPaEy3DKqds= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a0faf5d8-fe98-4d55-1c2d-08dd00732d50 X-MS-Exchange-CrossTenant-AuthSource: PH0PR10MB5777.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2024 04:01:23.9089 (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: wA+UzWZpdNazYAUSslKffq33WGFE1DGCuDBrHv6SuKhwpAwY8VlZlitk9hsMR2UWwppNEeWNJd9uch2NirekhA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB8125 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-09_02,2024-11-08_01,2024-09-30_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 malwarescore=0 adultscore=0 phishscore=0 bulkscore=0 suspectscore=0 spamscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2409260000 definitions=main-2411090031 X-Proofpoint-ORIG-GUID: oIsu8Oc5bs3oqGMCg1zSnces5NOsGK3M X-Proofpoint-GUID: oIsu8Oc5bs3oqGMCg1zSnces5NOsGK3M X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 75481100013 X-Stat-Signature: qy3fr8fjf3a8o138effy7dbx48eymeuu X-HE-Tag: 1731124817-125176 X-HE-Meta: U2FsdGVkX193HRQrC5+fZi+nRJ65k/Nex+UrIm5CjGHXh3jifKUyc8syLX/f4qmQH97F3ddz9w5bK+931AevP77kGf+1w5NSvl5+Uybmdc6jn+rxmj6Et0ysU/IxsV5w6bFI78nNhi/fPK6i4QyHAlfcmKGnuHw01s0y5jO3GKNDPFF2n2w965CW50+CYbDVSg54FpPD5u084oboKP81J4rT4VOCYSLhx9XxaU2L36YppsYKZBnMci4bG9PruGWj4BhHMUjYbDey7FGYK7SbOJ4pFQKP8evEiWW7zg4wdlXBje9wBmRi+7yMw/O6qSShfq+Fx1bnzoOn2hCL9ZgYsPcCMJEFEQpJq9LyyuA9PbbafIZc11NhST2bCtJM/l1ib8ksxlWG84Y7z2roI8+w7BgIa8NhvzycE3w8N1O3u+VEtLC189rOEkUtX75zNphYXxJXmFNz/IvmP9ZJy9wBANOzc0nQaCvGALrgRweuT19HS0apq7F1AtUdkVornPAWEx2AdquRf43W5gTc/iYXVmLBnp7nHi2IfADq3Aiin48KX1J85CsXCSbFOYQ/wi28XK7wT8gNRaK1s4Mt8PSRzRVWYtaIEwFISh9r9vJZhVXG40OZQfaAKkflFc3s63LmS0h+wi9qFDTlQRcepTpd77K8a7YhwyooRFci8770BVvcip+CvF7IVOKx/EkfFeWSV5RTH0lW+jYBSCV9qpJV34nGg/0cq21QmvzxGzBt9MfdxQbCZK6r0pQSzv5vk4FfCF6EpaFnulG6oij6kJ+WhHDIIpEygnYuutvO10o08X5g0Bc1qrHBk3ijaAJ0dwaoidHmhRyuBA/gN00r4qv39Gnj7TJGEcU461ndinw0w7z4rOrfNQfJvAddvI+mqThMz3ZKh7hTh2A5b7czX8jXAMSHnN7h+e8LOMDMnwGbYKCaF5b0H6iStbU3UHKxzhvSQvwwOFwrVypHJl6YJq6 WXZ8Axul LJV6LEMhuLG7wv/HsWu0scoGCqnUR8xEVXl4anFz7cXRFDPQMkmHDvEaIPHifRBLl6+A166kLks8kJNbl58mYvzJuXvTX8eYInQ38bdo/YTXTnDQrZq8nw/rwjDujDJXTcaIyNyR36k6OdD+axdPsfBFpfqZN6hDpIcll7ixNf90kCKXJ3tWv7LrlojRE/Q1Z+eDZeq4sHbFmJlYw02k0V1ikaGZELOc8A7+Q3xP17TjNP0eH2O64Ih2S2jKr8ytThvPTEBy7CXnslKFjiVWNEb/jsmjR1/Cr2Ffdh1jlXOMVTmvtVeuwCdNlaXw6thcCVIPJ5MKuDpmZp6TJPX4pG86Z047oljNAj24Bwul/ssBKD8gNDk9jwH0TSVT+TPiXvKYi+x+ffgNxfYoiB8F4+ak8T+pT4Hwd9+mV2M88Lrowoy0ktPRGtjTzjiYlYVrfjSY5znfFtyA5gBDgeITYxTL/lRe282+5lL98+s4iiK68eS5v/dr0O+iuHp72v4eUwozUgistdXTvXkQEwcGrx5UuXTBum6pPu+mHTT9cTbPbfjMepNqHFX8AZDpRVVgHLIzpimVcSUldqZB1rN+4dqmYiexp0GH0eSVbZovlvDCngTBNYB5btY1Cid8pSQOGDRPrp29ZTRN5yT8dQ6FPN2qqwcXCaE5hQh9Vi3O3wwGsgEbb5blhMph4yaEa2f4VcXgut2zhoy7mhtsol2HwG3UixQ== 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 [241108 20:40]: > On Thu, Nov 07, 2024 at 10:19:37PM -0500, Liam R. Howlett wrote: > >* 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. > > > > You mean "set mid_split = 0 and drop the min argument all together" mentioned > in another mail? Yes, please. The more I think about this, the more I think we're wasting time trying to predict the future. And, although fun, it usually doesn't work out. > > >> > >> >> > >> >> 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 > > -- > Wei Yang > Help you, Help me