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 BA9A2D42B8C for ; Tue, 12 Nov 2024 14:46:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4ABD16B00CE; Tue, 12 Nov 2024 09:46:45 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 434046B00D0; Tue, 12 Nov 2024 09:46:45 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 25F4E6B00D1; Tue, 12 Nov 2024 09:46:45 -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 F0DFC6B00CE for ; Tue, 12 Nov 2024 09:46:44 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id B1ED180238 for ; Tue, 12 Nov 2024 14:46:44 +0000 (UTC) X-FDA: 82777717428.01.A475939 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf22.hostedemail.com (Postfix) with ESMTP id 2A73DC000C for ; Tue, 12 Nov 2024 14:45:48 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=ivrtt0C9; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=l04JraO1; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf22.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1731422625; a=rsa-sha256; cv=pass; b=Mlj/NoAK/iNNlJXeaoCTy/1axZT93SOghwXMZ8WvzrtHfC4LBgTCEddmpoeaQsbRPzsiXk vLj3MijtcNY/dp3piLWFxPPFr7iEJr40+Z4A4f7Njb4xz+Cq8XtNvpxYugG/Wj21PVBk1L Twf00chrRBY3v+vyzm7jZnGoc0+IL7w= ARC-Authentication-Results: i=2; imf22.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=ivrtt0C9; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=l04JraO1; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf22.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1731422625; 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=l1iUBO129gEcC2RqdiR0q8phmvkLnvgnLRTjTOJrsis=; b=7of/JZN3dokCF7PbDWFGixr53UTqA96O5NsGkN4JikyP7djD/XSega93hnhjKnFpI7sm9y ELEjI3kQdEDtsEqbMOL5mSH/J6nwGYGi6AR6FoQiBO67YWXelnPM1vFt4AY7z2iNJbW/pa H3+F6kVA0XcQv8LbUHI7gwffIKpJae4= Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 4ACDBZvW019003; Tue, 12 Nov 2024 14:46:39 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=l1iUBO129gEcC2Rqdi R0q8phmvkLnvgnLRTjTOJrsis=; b=ivrtt0C9OS4Db++ATwjY92s20BeQ44shse KEGc4Z2VhCgh6oDLUunGsEbanq/umuiX38hsJ8KClYcZHpvbxIMhRLl+XKW1ErcQ LEaUtpkkk340DFIhOE3a33ID3pEfQ4lVM39rKVIDTRt95T+xMT8gH5DFsQJyBb1b qZXfrRynharLvCZJ9sCpYJAoqzIXZlff2B9uFqniBKuAPBFmDL/WlpP54Xdy8yab Rhcu4Q74Fx8TMOoIfLzUbv7ynDrMHLomg6ehRmDT1AUyWxV/i3aMuxty9w+JNYGV 0mhh5nN1URq08AxaNXLA9Nzbn9rGNm5y/Xub13hHUnPLgKAVPTTA== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 42t0hncgay-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 12 Nov 2024 14:46:38 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 4ACEWhOY000373; Tue, 12 Nov 2024 14:46:26 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2047.outbound.protection.outlook.com [104.47.66.47]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 42tbp7a69x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 12 Nov 2024 14:46:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HeqKuRtyRCHm7yyP1qiZduOZgam12GlYBjwX/18rOpo60FC9FJaNoTpn5dmIC0FhJI67khlufXvlx0XC8wywtIoEatE+MkEL+lVhL9Ij23y+VKaG3JajGCNc01u/7u4JmhDoE5UG5HXpjTQl5AWC5igSc6R4fo1l6PyWXFRRNTvZuJgsPyy9tIPDM9lkI74/U2O6Q2CTnS9GDLL8AJ6UnN0BW170pLK2F8+y7d6DIltKSCIYKS7ZKxJUNU/Wv1J47hgPK+4AiwmlUjGtGsDj+rHS0TUeQXPzEV0ofOft9HvlMe4YJN+ASVsyH1TsAozwfksp80MBqkv655TG6zq3ZA== 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=l1iUBO129gEcC2RqdiR0q8phmvkLnvgnLRTjTOJrsis=; b=sMY4BnFD0imWACjkfEYzG4Agv/ou+TkcPmImQoKMeBPoBV7Pvan/88Coc7XEUAYpryGR5Bdq9ISkMB9CgPweiOCAl5UpAOQHXWUH1ntfsbl3XfnE5E81kPH/3O65HbNUKi1BmZJgb1PNqux+snVI+0n267gzc6fPTTFmBdd4wL5a6XCmstru1jBaACIwA50tGb+CfwnXEk/E5dwOQst0DCzlw5kjQEpgagkTTsjy844moy9bXXBNiXTTyvQFJ1pXKNahc7HDKSVrFjVehnG2x/w4fruzyY/VVJOwkfvLBnYiRFtKgf+u6rOBCg9KHyWMmn5UEycp+4jzJ92X3+ZGGg== 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=l1iUBO129gEcC2RqdiR0q8phmvkLnvgnLRTjTOJrsis=; b=l04JraO1e0FXxmMclWSIVMBX8Rc6krL560/9e3fAqL3SpyHZRf/Wb+GjyE8V/m42RSlFFcwByZcJBxUV1YqlRQKXs1WUFb3Bfs55yUYDkslr3aVytv7LhKU66fmVjL6yRN1Xd5PU0f/jPOREjQ4m04kNiGt5X3+7+NqS54XFsFk= Received: from PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) by MW4PR10MB5883.namprd10.prod.outlook.com (2603:10b6:303:18f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8137.29; Tue, 12 Nov 2024 14:46:23 +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.027; Tue, 12 Nov 2024 14:46:23 +0000 Date: Tue, 12 Nov 2024 09:46:20 -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 v2 1/2] maple_tree: simplify split calculation 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: <20241109134410.31792-1-richard.weiyang@gmail.com> <20241109134410.31792-2-richard.weiyang@gmail.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241109134410.31792-2-richard.weiyang@gmail.com> User-Agent: NeoMutt/20240425 X-ClientProxiedBy: YT4PR01CA0236.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:eb::11) To PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR10MB5777:EE_|MW4PR10MB5883:EE_ X-MS-Office365-Filtering-Correlation-Id: 689cf012-98c4-4e68-44f6-08dd0328c6fa 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?BafPC18dauo8ejkcyB3mN2Kl3tooaQfWi6mAP5Z9jCI2wSX/Lvscb3HDYsI9?= =?us-ascii?Q?cl6dWK6QXpqLftQOkRRnYfqjZz+4dr5vDKJHuDKxImd9KYwgZU2L/6oPwCof?= =?us-ascii?Q?bAlmU/dIoiIkbZDPgvA+ofgPWNvfSwbOP0x/S9TEOQJOL+AWOcMNoW+KHDOY?= =?us-ascii?Q?dI4uiU4u3NSGc3gNztlOWlshNasyx579hXrWyKKwTRgTF/jJpyo+bkThSXBn?= =?us-ascii?Q?tJFVx3uakHqhUPGSy4RCMfp+vj3bGHgjWjmaC9ZQ+LGDWS7gzVcIoLFNgUgq?= =?us-ascii?Q?FwMsWckYhmX+wTCTl/l6B1b86UqzBt2W66dLsYUVnMRB2vTCIMHfoGPagQW7?= =?us-ascii?Q?OXati0K/VfD+PN8nB+4OTgTU8lwAuXqS0Dczt4ijMel1y4/LdSKND6mmIO03?= =?us-ascii?Q?vChPDKHb/qPXdw7Nyl7R+7bBv6kQ8toAu0C4qaqXtSQpkTVX61MaJgYpb2fa?= =?us-ascii?Q?4VEDzy7Je+kcoAIinmLvKH+/UN46VCQampypS/iGN3yxm6ykPe+SxlsskbJE?= =?us-ascii?Q?DFpOz5BrH9UptWOLhgqLWyxw9sAFihQ/QKhuYYjqnFmr8zfbRJeY4ofX+wVW?= =?us-ascii?Q?CdyiHiWlZkXUN/qfGTOxPGdANKf6yCP6fLbxbmRr0O+XOP/mSZkv+ryOVqrO?= =?us-ascii?Q?sF4VDs2mv73vzmFCamOC5yL+yMOqDghYn6hZ25eAn8d0uv2YN3TqnyXXgJXh?= =?us-ascii?Q?U78ogvA3FNqmC2aGNB9WV8v4QrD8M9ujDm6NS7qd0DU7ZKQTz630ZKT5nTXH?= =?us-ascii?Q?Qxct9yfohDrOGc791ID40cqGsCcEptlP6/SIZGcMjjZzyfxxS3UwM44NFdma?= =?us-ascii?Q?ZNwM7szTtgqe2l5ogMu3XR37b+pHecpWofqVK6rr19Cr1L0dFAP/EMI2N6ha?= =?us-ascii?Q?OAX7wpMzFFOC1VRlGq95lz7ndhgCnAFd3OvLV1F/7wR9tE3g+LUQaPvi+pKj?= =?us-ascii?Q?0ti35HAkZlgfdzF3tbNl8Th7ynYEI5wxERVR1DMBDuau+h6zTJxkrpgUzGK0?= =?us-ascii?Q?WLpLA40S1dKXwBlvNb8gfBN5OQ9ez0+TR8/NhYM6C50lG3UDuWQutHqF7ZHf?= =?us-ascii?Q?TYIieZXph6Z5WP/A5/oxY1Ij5UPwHlLoRv1PNixne1pjtkap92dqdspgjcXp?= =?us-ascii?Q?jCTiNzdqKrOaFcl/wE3HxXdJ9Zcq/2C2NSFzceFTtJgutABAB39qjKSPcOxD?= =?us-ascii?Q?UGDyMAy6FJUHtmsiTLLpFBlEdDArTGbdHcADmzd0A+jv+6bzh3oG1bzhpFaW?= =?us-ascii?Q?KkIJy1hRTjvNPLgWp/ARDbz81m4+VfVpwvLk4K5XnEr2vtSQ2KQWGqV7bivJ?= =?us-ascii?Q?gE7GoZk8sXVWqGdXfBUmEQj/?= 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)(376014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?9bdQIbGjLAxJDXnoPLVVDbetJatfi/uxLM9AiXSJScBWoA53KASHbh94i6j+?= =?us-ascii?Q?rW0MOSz1W8wwOfe3B7w7E0bkCrV2j10LPiSM5F64x4bRN7ewnChFWLu4BnDV?= =?us-ascii?Q?ZhB9O7lWKtUZiiYMjFHVcE13+G5eUBC8V9uo5dJlaDJwZXkqpohYJa+vhIqU?= =?us-ascii?Q?xJswaawD03rtn4U5LLwvUHuaXeG/yLgWDPxpYCFfMFNWTX77U1ibaE7HpVEj?= =?us-ascii?Q?eEls6B6l+iAgI2yq/EI/TxD4+pDnJHHaOv1xybrfrttDJBrLNPzKqzdmlLHw?= =?us-ascii?Q?c5jovKha71PzbjP0bLSbbkhKdpO/QzD0yyA9ABXkAik2UCR6bkh2dXG8WIFw?= =?us-ascii?Q?QsRCsPrMdegVEaRcmhyrp+fqVl87EL0mKs5KA4Dmqffuvkd4nhP3C89ofjIP?= =?us-ascii?Q?HcbHwGNFEmWH2Ly9gQNVy6pc4TPmi+sqzKan64LgaiQftDHgXCRfIA6rFfM3?= =?us-ascii?Q?0485GXjZ6LAoKtjR7CaWdAflvDnscGS98IFjYBCZWs+Z21OqO3lQFOsE4B2y?= =?us-ascii?Q?viiUwFjYujLHjBVhLLq08VT3VsxEw2GubSjKyHG87UaiAN4W3mGMjJ7aHDoc?= =?us-ascii?Q?MZqua0zhqcNozlkSH3xgwRzR6QeemcvMHKjgA7tV757s+MAfucmluT7wuWag?= =?us-ascii?Q?XQuFhcXmmIhNN79DdE6YC9SH/tj1Pp5+Y24c/OnRT0j3Qo2UUkaOekXX8USp?= =?us-ascii?Q?U/y4dNM3+Vuvq5bBiNgDIozTDVSuhCg9pqTnJhQNZOHJmUFRlHkQDiiU5hqb?= =?us-ascii?Q?f0sXqM4AlzDKH0o5okgdJlkSpET8Q6xQQA+0tEvE9VgBwVnoSGO4aYUhLxPy?= =?us-ascii?Q?/61gWWOF2edgiD1i5/z7UDhKqIOlrM82oEja0WAsKrddjINXUTGfkpVCpj77?= =?us-ascii?Q?ac1g1Jqqoz1wtxMm8tPDg4aGGc02aqa3v5zZ9hW8oxVXB2MOeH8HMXqOEJ9P?= =?us-ascii?Q?moUo9TQVGvBHAHTOiZ2u0kGy0Ab7oQwC5CLlmgnPVGIQbtUMk4NKH98X66Mm?= =?us-ascii?Q?hD4I78sD1E+BkMBojrZpe2s6K7RSz9ktSeiRIiw4HVsykh3FM5WddWihfd9j?= =?us-ascii?Q?VaMgwFRR9gCT0DIIn/PoPWtli+ZcIPOVEGEkqDZpvS9A3IkZVvebjmlOfJFF?= =?us-ascii?Q?yllFC05VWIJpoCwWYVH6D2vKCuqB2iB8ItDLogAKUElGaGzcbmyIvFHpatSn?= =?us-ascii?Q?9Ld2GmQFQa7DwWcgeesddlcHbxML387uXQBOkg6WvVyiwDfCqZkzzAG0J79b?= =?us-ascii?Q?kJITmlfWCoId2XN0nD1Vocdlpw3WtBqUbl6kjBR798rGfWpYhOvZQmJt129D?= =?us-ascii?Q?uwPdGGruL2sFudwhrY3QsUgaiTHpw0V4RdgbRuJ2EGMkZIkdSeR3RAbvYKYo?= =?us-ascii?Q?kKGV2qyTmgMIDAulJLUtW7VdR/PuYTTI0XrUrTUFJfg/oOcArmdEteDkGosh?= =?us-ascii?Q?iDBYYsEPZNTFiLnpI0mQ3TkjfG9hVg9WVX92Hn7xyxPiM6EHE4CZ4Xcq6eqO?= =?us-ascii?Q?1cqYZKyrAlRwhrErPzkPsTpbB5j+pA9ln1FO+ZxaZRJLqkaCcBJTASCeImea?= =?us-ascii?Q?XnVF4GXeswabd5ghrDMJkeC/xM7i5gtK2MOwH71m?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: ARueHfc7B9oa6uYF+tB6Rpl3hJWogDuaHVkp1618fHCov6sQ5PmKPXvUUD8vWBMzgxFH60zKeRh80pRaKnbUxv9c4N3uYPQTicHXwr4JBB0sIZZfbYrD6oJOrdJssIOaY92iaPbMJisO05jsVfxCpOBMMjSgphP/pFxwnk/JUIFNt+TIBQdxCRljx3tJVLZi8gbl8rFmee0+GzI+CG82i4jGJL0bP92xIL+CvLYfcaTaZ01J78corX6piVM7QKDhNRuzdy+v3H0HniQFPyhZdzcWw9ExR536VLER5t4ks3aPQ+7mqdFgQ+nVXpWst4P+A/fa/gWslWjZygf8d3O1kP7IMc3s62TRKNy6T4HHG1JYDeG6q1maxiekObrXKr5Nj1kIZqLBCDUytecI5/sC3Fvm8TdWkV8cAcaCgd9TkL3qeGwgVPwkT9N7HPDcjGYO5AdzQCZKHK3XLSFZ1TU+9YPJPQH8U9Iik0jEGXddajTmZ0mQxasTAS1T+POztCQhQdNwljT/wUlarXSWEBOYOjwvsLjnazwsnpoQlMX0IP8dMDUgL/h0E9KGxrc9MtuR6Tckgk33N6IfcpsJ05chWH88AS0kWE/ONtMp29XR17w= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 689cf012-98c4-4e68-44f6-08dd0328c6fa X-MS-Exchange-CrossTenant-AuthSource: PH0PR10MB5777.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Nov 2024 14:46:22.9844 (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: AMlal8ahfqytLbWFLBK2To3IbYlXEQzlIBkV+eWGtGYoV6cgsSobOoUX94sLHcjVb1oCLuLjxxxpDe/kvwjkcA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR10MB5883 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-12_05,2024-11-12_02,2024-09-30_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxscore=0 malwarescore=0 mlxlogscore=999 spamscore=0 phishscore=0 adultscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2409260000 definitions=main-2411120118 X-Proofpoint-GUID: 9JBIu0XjuEzpmhu_UcyrSS_P2WTPZPcO X-Proofpoint-ORIG-GUID: 9JBIu0XjuEzpmhu_UcyrSS_P2WTPZPcO X-Stat-Signature: fpr7y1se76khcgnwtd9wihr3speg76jt X-Rspamd-Queue-Id: 2A73DC000C X-Rspamd-Server: rspam08 X-Rspam-User: X-HE-Tag: 1731422748-367745 X-HE-Meta: U2FsdGVkX18hl+S1nyY1KhHCL6zIkuStQ1hQIsE4ztgMeufG3nEX55bk70ITg52HMQGCJBwANaDzrEDZywjhdmxtxP6aH4515L91oncU/ipD1BZxsdgLkdw9DlsUjoiPPbiDWGCJagv9cALzHToSrvYKKnZKyWuNBI8TpMUDgC9NH8IyIxHBFYWIdjH7fClccCqLQ9vRCuPt0D1tK2ACMnWHu7FmsHKZlPNGnLdLb9H+Z/ndJn3LMFmLXgMmkEZ0yIr/JuMbOXH6uD7nDm0AlKtbmqbEycNFfekGjrvPkJGkDlMfQWnjhpUukoZ9gI1mj5mPzp1SC99FCro3YRK+TeTLstJrsYzhPhHg8VtUbX/uEI8ZQRm7S29KjyiQtNMQwa2mQCwqejX4c7H+xxEvoVUkwkCMBFdWxFQJYq0z2iFkjWBjcT8CoraMYYa1jCcgZ2PI9bvJQddVljpLntUo8W0iDiNf3B4czjslcKsFgU2DhArJ0pCGKeGPc9rDdbJqbq2DGp7booUQ4oX8ex0DGqaVbZFAHpMhABcwvyoUDZodkiv9RFUmGC18g2FWyawAeXWxDFQaUhVOPEzrnYv4YL/+DZHGgtlT4WbfeFN/lTtLKpYOOcTbDKTRGK9pFpR20mltHnEr/2pJDaGH5lBlF1hYxXGeDdYPUyCxGlwsfKd5n48W6+gPDntyTv1ebed3UCKpatYTG9sdkXCQRkN6RQQlcD/JaRJ3FAYai8VWwkyoX/vAnI1M7EwMJEwdfkBliiXHfrveBhLhOfp8Uzo37n/JCcQZpC9AIZ+0+HtVFjrCzveZnLaduEAK20M+J4S/wZ7RQds6ifwt5bOb7/vg932Hdxqe+3iR4LH9IFp64SPeJymeqErgK8fqCFHggt4AfrDuWK21uA9PTJVVA8wWvWau24LjfkiiY66S+AV6VJxx5y5gKhOMS4Hfi0FKyoZ16EHw5UVpp+A9eJ2VqEC ztkYhxD+ i1ZwVNESpMDiGZIPXF7O7yvx5HqeajlbQ3a+Zz30RdkTyw5jeb+cwIRfMoRpIkoRfKMFvf/wcjw8Qyc/XuZHzACPK3xRSnDgp1WGGick0Dfk8myT9mEmmOBzMfmHi+9MEScbeurppRQpPraEzeuOqZ0MlvDbn7yOmlWwMpLsRmPzFNyr849J6fShdbZyfA+n2j5KR+1In6LKK9WS+hCdsP7WBQpjVtW8YhvRktmDYsmk49yv5i/MQF97LrC9uO3nQg0zvreCVgRdj507ZA6Xvo7/MA1Aj5ksNhEwOAzCn0rXV7ly28FveX5D/z/3XDb4yZS1Dt00MfRDcRgZLDTXBG8FhfzOnxXbKGUQ/nrVSA6YDUSHh2RcuGHjnIsHXhHDyykPK+VtJLOEN3wtlag7gqNstAxCErYagityecgnL3yRDrMVsulTkIU+FpMTEYRsIJyhdvgXebwobiCyIAYVGvM4fIaPlPCOdkYljhryNVTlWRbkkPA0rGfySMAXqlwG2yHN+4S0eSardvm0SVOlDo+WztXjd2gywNSZOewOjY2FZrjxbi7CuP4oq+Ltr/4upbhP/WvFHnSKNg9vPEZ2AqN9jxrapopw1/mIYPh4G47vT7F/9E8xWcoAzmvI44YL7cFEFMKIBKwJPc7n8OWl6OmidMqK15Mpe80HBQJHMxDdHQTuoTT0OAazGQdHhfjhRJw9Pti1NvzkyTEDgQF81P0hcpw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000003, 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 [241109 08:45]: > We have been too smart to calculate split value. > > The purpose of current calculation is to avoid having a range less than > the slot count. But this seems to push too hard to suffer from jitter > problem. > > Considering this only matters if the range is less than the slot count, > so the real world implications of the calculation will be negligible. So > we decide to simplify the calculation of split. > > Also current code may lead to deficient node, the condition to check > should be (b_end - split - 1 > slot_min). After this change, this one is > gone together. This comment is difficult to understand. Maybe something like: The current calculation for splitting nodes tries to enforce a minimum span on the leaf nodes. This code is complex and never worked correctly to begin with, due to the min value being passed as 0 for all leaves. The calculation should just split the data as equally as possible between the new nodes. Note that b_end will be one more than the data, so the left side is still favoured in the calculation. The current code may also lead to a deficient node by not leaving enough data for the right side of the split. This issue is also addressed with the split calculation change. > > Signed-off-by: Wei Yang Fixes: ? Cc: stable ? > CC: Liam R. Howlett > CC: Sidhartha Kumar > CC: Lorenzo Stoakes > > --- > v2: > instead of fixing deficient split, simplify the calculation > --- > lib/maple_tree.c | 23 ++++++----------------- > 1 file changed, 6 insertions(+), 17 deletions(-) > > diff --git a/lib/maple_tree.c b/lib/maple_tree.c > index d0ae808f3a14..4f2950a1c38d 100644 > --- a/lib/maple_tree.c > +++ b/lib/maple_tree.c > @@ -1863,11 +1863,11 @@ static inline int mab_no_null_split(struct maple_big_node *b_node, > * Return: The first split location. The middle split is set in @mid_split. > */ > static inline int mab_calc_split(struct ma_state *mas, > - struct maple_big_node *bn, unsigned char *mid_split, unsigned long min) > + struct maple_big_node *bn, unsigned char *mid_split) > { > unsigned char b_end = bn->b_end; > int split = b_end / 2; /* Assume equal split. */ > - unsigned char slot_min, slot_count = mt_slots[bn->type]; > + unsigned char slot_count = mt_slots[bn->type]; > > /* > * To support gap tracking, all NULL entries are kept together and a node cannot > @@ -1900,18 +1900,7 @@ static inline int mab_calc_split(struct ma_state *mas, > split = b_end / 3; > *mid_split = split * 2; > } else { > - slot_min = mt_min_slots[bn->type]; > - > *mid_split = 0; > - /* > - * Avoid having a range less than the slot count unless it > - * causes one node to be deficient. > - * NOTE: mt_min_slots is 1 based, b_end and split are zero. > - */ > - while ((split < slot_count - 1) && > - ((bn->pivot[split] - min) < slot_count - 1) && > - (b_end - split > slot_min)) > - split++; > } > > /* Avoid ending a node on a NULL entry */ > @@ -2377,7 +2366,7 @@ static inline struct maple_enode > static inline unsigned char mas_mab_to_node(struct ma_state *mas, > struct maple_big_node *b_node, struct maple_enode **left, > struct maple_enode **right, struct maple_enode **middle, > - unsigned char *mid_split, unsigned long min) > + unsigned char *mid_split) > { > unsigned char split = 0; > unsigned char slot_count = mt_slots[b_node->type]; > @@ -2390,7 +2379,7 @@ static inline unsigned char mas_mab_to_node(struct ma_state *mas, > if (b_node->b_end < slot_count) { > split = b_node->b_end; > } else { > - split = mab_calc_split(mas, b_node, mid_split, min); > + split = mab_calc_split(mas, b_node, mid_split); > *right = mas_new_ma_node(mas, b_node); > } > > @@ -2877,7 +2866,7 @@ static void mas_spanning_rebalance(struct ma_state *mas, > mast->bn->b_end--; > mast->bn->type = mte_node_type(mast->orig_l->node); > split = mas_mab_to_node(mas, mast->bn, &left, &right, &middle, > - &mid_split, mast->orig_l->min); > + &mid_split); > mast_set_split_parents(mast, left, middle, right, split, > mid_split); > mast_cp_to_nodes(mast, left, middle, right, split, mid_split); > @@ -3365,7 +3354,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); > mast_split_data(&mast, mas, split); > /* > * Usually correct, mab_mas_cp in the above call overwrites > -- > 2.34.1 >