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 BD46FCE7A96 for ; Thu, 5 Sep 2024 20:13:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5C3626B008C; Thu, 5 Sep 2024 16:13:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5739A6B0092; Thu, 5 Sep 2024 16:13:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3C56C6B0093; Thu, 5 Sep 2024 16:13:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 18D9A6B008C for ; Thu, 5 Sep 2024 16:13:28 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 80DD440908 for ; Thu, 5 Sep 2024 20:13:27 +0000 (UTC) X-FDA: 82531784454.27.A0BDD2D Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf24.hostedemail.com (Postfix) with ESMTP id 2A9FB18002F for ; Thu, 5 Sep 2024 20:13:23 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=gnX7a+rt; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=jA9q2rdE; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf24.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1725567204; a=rsa-sha256; cv=pass; b=3P+/CbBoceZsvZ5bL6w8UU6qrCZqiQ2X3rhl5z/lOuqy5/DhzRmRlgJU2Ymzpme9Dox3rE m933EoqHjfzY/2k4aDX77XlzlpUGZksuV3w9M3CGjpLkGRvAl+n1nMGfq/JsNTVsOA4gnJ fWVj73q6F6pHPIJH8700NHz2Ow20psU= ARC-Authentication-Results: i=2; imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=gnX7a+rt; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=jA9q2rdE; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf24.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.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=1725567204; 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=7h89qoiYMuCHSlUNlo3aAqeI4rtO8IpVXdMK44n1Rxs=; b=yZnA0gyg5amO1bzlnqIR5vWcpelW6BH8ewHjx5nC4MkLDp1E6YnIjyr/6Lct2NpsrP0/Za 1Pwk/chkUfeU+tk4+pG3QCswHqV0JpA5q8bpnbTEd5twApmLSGu3qeg6K3+Leh7tNYdZoP 7phbwHrEwYcFxHpurZheF3q/kf2epNU= Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 485IXUpG022946; Thu, 5 Sep 2024 20:13:22 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h= date:from:to:cc:subject:message-id:references:content-type :in-reply-to:mime-version; s=corp-2023-11-20; bh=7h89qoiYMuCHSlU Nlo3aAqeI4rtO8IpVXdMK44n1Rxs=; b=gnX7a+rtndFj9BB7zj16txrQvVQw2Y8 oCQ5ONrqxDVx6ig1d7b2gerXq3z8NYpyOqXe5p4lhknQ/ZWykEvfdbKRVzsbFYuK Y6YfNJMQT/zSx0MH1u4+tc4WLY61WhA3iVWk7cgKkd7Rcnc2AuCEveP6xgqkb0Nc a6FUJypcg7qma6dnMTWV7kRVkFiLGAYjBYl64+wY1BTibov9n8IQmW0QA/d3bK5c P7n4plw1JPipUbOtXogvvPuPsYEEz0ta+2d21h5unyQ0wZDNgY83wZvMtTlRkRHB kmA4Hw4jaiMczJ4ORB5K8uJ1nw/reFwH2xKoudfHN81z+Hy2b60k9UQ== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 41fhwnr751-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Sep 2024 20:13:22 +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 485KBrdP006694; Thu, 5 Sep 2024 20:13:21 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2169.outbound.protection.outlook.com [104.47.56.169]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 41fhyc4anu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Sep 2024 20:13:21 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MSgEYs8OWFptgNcSUO/LJLOHbKdiDR3oOyo45JroaQAe3YhiujSD2qw5IGq3w1aIQ5YpxgftVFaoCAMa8MMDgExBTyjpF4nJUFxbMDK4yEFrDRquenNZriJblpFIFHqyCJkX7xnOx4S6wnJzlO2sCYGX3ewFeWitVqZKGtJ0D8CqVs6cJGDAf6Mt/jeczrySPW+2AnBIFFDpJwS3L0r1rlwlHJ1I9BZrHTmsbTUPUurdZeLd6T3OBv6g+rrkXr+QJF0lDqZPyqAIWVv6M1tG9GNaHA6zV0obMHBSUA3ruRJ/IiiJxXL/DAWb4+8UMkv81X2OtAy+JcFbYE7KiAZaxQ== 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=7h89qoiYMuCHSlUNlo3aAqeI4rtO8IpVXdMK44n1Rxs=; b=QmydF0MZIB8LHeKTdcflH8VzLCxhEpEVXZDmDrjJNFDWj4NBLME2rPKtDcxt/Rg4Z2UABhTwhQ+aahDNon6lUVGVH8jb/TXZAVIEYQwB/j0RaHMkymAG+jWiKNuPZ9AMpFAJoS6654xEJ5hFbU2gSC9q49ff/kZg6zUIWQiuZg9Jpf+MRoI2UoytJOaS/5Zb1S5Ed1tAukYp0aRqeSbEOFXOCQZB271NJ+W+xd57FsJHD77B/b9ob14DDVGlIOtvPw+TZFk+dcD05Z6Qvz/7y88Zg3zA3tZSxfLRSfOLgyYZwoxpoL7FlJluimXZHJQIM+Z4XAxCSLks+QotNZd/Pg== 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=7h89qoiYMuCHSlUNlo3aAqeI4rtO8IpVXdMK44n1Rxs=; b=jA9q2rdEajmdangnsPZoaqW3lRSm0Og66rOaZRNu0wi+UJhfIWyx1t6wCT4RC9u4UWumxnLY3TXrkT0HpHOOkAhJYuMOYwQBOqWk8uL/4e5HWC2ruBeG70tpVQfHavTJdroeJVGFIz2X1q4Tx4f6mTtFAfn95EbHqnBSKp/HlSs= Received: from LV8PR10MB7943.namprd10.prod.outlook.com (2603:10b6:408:1f9::22) by IA1PR10MB6782.namprd10.prod.outlook.com (2603:10b6:208:42a::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.14; Thu, 5 Sep 2024 20:13:18 +0000 Received: from LV8PR10MB7943.namprd10.prod.outlook.com ([fe80::a8ec:6b6b:e1a:782d]) by LV8PR10MB7943.namprd10.prod.outlook.com ([fe80::a8ec:6b6b:e1a:782d%7]) with mapi id 15.20.7918.020; Thu, 5 Sep 2024 20:13:18 +0000 Date: Thu, 5 Sep 2024 16:13:15 -0400 From: "Liam R. Howlett" To: Wei Yang Cc: akpm@linux-foundation.org, maple-tree@lists.infradead.org, linux-mm@kvack.org Subject: Re: [PATCH 1/3] maple_tree: use ma_data_end() in mas_data_end() Message-ID: <7lu4ere4h3lmpwxwgyhlymk25bxj3iqisjdzcsyymcxmo74dev@sv76tlhchbee> Mail-Followup-To: "Liam R. Howlett" , Wei Yang , akpm@linux-foundation.org, maple-tree@lists.infradead.org, linux-mm@kvack.org References: <20240831001053.4751-1-richard.weiyang@gmail.com> <20240904001525.5zshbivv7op4ana7@master> <20240904075819.5vgnelkxxj7myyn4@master> <20240904145305.dq7jolrwd6fp6dmf@master> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240904145305.dq7jolrwd6fp6dmf@master> User-Agent: NeoMutt/20240425 X-ClientProxiedBy: YT1P288CA0005.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01::18) To LV8PR10MB7943.namprd10.prod.outlook.com (2603:10b6:408:1f9::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR10MB7943:EE_|IA1PR10MB6782:EE_ X-MS-Office365-Filtering-Correlation-Id: fa2949e9-0667-4a74-39fd-08dccde72e9c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?cbt1PowgEeq1q6rFJxTJnd0x+ZUH5ZDBqU6tJimTA73V2TqKpm1HzEoag6Ca?= =?us-ascii?Q?aB2cCeX52gA/PolJ4knuKnzI/msbaDl2MCfoiB2UwR/6kp2mbK/6D/HrkiJw?= =?us-ascii?Q?d91vOgo9x11+e8q24ot6KSrli2ePPqf9JiqTRa1Vt8wKSV0u+/ac11gTN37v?= =?us-ascii?Q?n1DbAoFhluuGnU7ORQeaoFWZQe736OUUrv6d+JGxUi/tWHB5yPk4oW2QB534?= =?us-ascii?Q?zM46tsXGyDLeFco5GaUzq2twy7Zyue22axf3NM5Kob2LevOZsv1TVL/r6aL4?= =?us-ascii?Q?bbKXxhpWKxNHFmNI9TeC0UGJ0tJ4dScMVUdXWsvsxuT50uWu+tZooaVXcdE6?= =?us-ascii?Q?8UH56P22XmhKR45PUtSGFA1DHvFcKIFNuIEa3po6ivTf6gxu91+YbZL+iSje?= =?us-ascii?Q?b5JC0HDcI9w0KdoPlP7ZMVlcKn7oOu2k8eC+Zomg7Dnq9q1ePcQ5wTRcy0Su?= =?us-ascii?Q?LTsCDRvcy9CfjdpEA418pLW1in2aMRib6dv8oUrFu2hdAQuTGhbM5S7uhziS?= =?us-ascii?Q?DsgNjiqBCmrbf54r/I3Dq7yVm3UeAyTwfo4k1kveE41FeGqRTw2vWk+DjarD?= =?us-ascii?Q?tCoABfs2HFhh+97UcXMkbAhFC9hoab9UCXWPZIMB8kHhGlvF5623qoZrxcqd?= =?us-ascii?Q?libLAitHANK3iV+g2phOtrReTz8uEMJG5fEVs48OyMMNc6il7bXCzkwgDlM+?= =?us-ascii?Q?1WrDocksjzAWbWZfuJ4WC/ogCI/0dZ9a7IGSHBZUNfDT0zAeMkSHeAb9BLWx?= =?us-ascii?Q?wF2bwX2PbGYiCDodwsynvni503UBni4f0SqtVFG9f1PqD5Uzkw5MyCxm9A3Z?= =?us-ascii?Q?JWlLqN25moVNcsgYfbFYkmLyvEVquKosSlLp0KvFHVyLtkRbTqBC28dAbEBb?= =?us-ascii?Q?VEjvNzzV55jvfdwzhj0gyQZisX/jKHdIWGrH8Xipctklfsn9iTMT+4n1F2dv?= =?us-ascii?Q?76AimtsZ0/zojvSRquDOqLeGAXo38V97OzvVzfXH8aJnbarmOLbDE6/+XOu5?= =?us-ascii?Q?Vql6b6umjlBQZdTPC6DirmOR46fh6Jtek6MWdUh/LN1r7m2ZS7afZi92cVnQ?= =?us-ascii?Q?nDK531Ziuy+9VdLuMjvJEi11OgQFUEG9tvL6+1oPQHHMNncxDOcQ9xsPqpRH?= =?us-ascii?Q?eXH9T8laDGAKkE1epgjjz3BBcZKd+ODbCHxD6xrXUxCxgUBDtf4OxNSDXFNb?= =?us-ascii?Q?8ptOMUTAON8U3y0FiUkfVMaAw24Eahr1XOitt2yUV5YcsaU0C/giKTn/dUrX?= =?us-ascii?Q?9nEddDYxdVvVqTqrUP/T3iXda1+4zbtbzvjE2FNTLokH+AeZVtR5NaqKab9/?= =?us-ascii?Q?33GLS4IJwrGYkosUTfKeRKFoovhigmQKfCnVekZSfl335w=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR10MB7943.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?S0fT1kdDajz6NMAdrkdQYUuFsPjpF1LiqxmDWgf7L3qG736u222NH2Ce9R+q?= =?us-ascii?Q?aKxma16Nu4Hm9tYHxJ4TE3ObNadGhM8qjAFQ3mTZ/zxlQa+vKFLF0B8LXRe8?= =?us-ascii?Q?Q9IIBy/SyIYzYRMgGf9sPG3eEqRB3VxKtvuoMkViXGiJP0nd0kuiez/hZjcu?= =?us-ascii?Q?3vRL4RhcH5jetPNA/gnT7nOHsvkSz0FDjR/d95uzn8pu4wlYmGQsdhdKlXru?= =?us-ascii?Q?0/fVV42BczjXOuolrTRlTJQ2XCvk5HGp33dkEQW0iVEWNAWm5hAfKiTfDo+2?= =?us-ascii?Q?stWIIAmh6Uw6pEUOc31e6uo/EFEH5zKYprZ0IwYj3B/Q34clyZ2NBzbqpbOL?= =?us-ascii?Q?cXgzcLhZhpdg2EfIGYewNtGbVb4+9mM3sVrnrV6D5CC3zNCGhIDvGXJBCkl2?= =?us-ascii?Q?yXw6vu7Ivvb0ikw1WymSH70TDEWkzhpyCHC2ZLl0teXof/hx9KwQsOD6KYGv?= =?us-ascii?Q?pRrQqrotR14x71RJNBGA5qLZMJn78M3QI0OiM7pCT92SPsBtg91iW5Bx3JjO?= =?us-ascii?Q?5jo3hxFVS4xwDFadjMETgwLjOFfPWll+goGHRUzA7Ey4Bk4XYF5tZ6sRQnnl?= =?us-ascii?Q?axsnoeiuN02fZAm8sw2b/LaE/JAzoz5IJPWJJDYkZXnKFBs/AvjfXiGrAJph?= =?us-ascii?Q?mAwozAd0CRvQB5j5bO394XEtKHobHJi/ZpfMrpVxKrfoZ5aFhh8wGMyIKHET?= =?us-ascii?Q?Hy9rgXvd1NZpeumRR7wyxj1quO3EYpRfSVaaYO8Ttrtg2UmxdFFDQZ+JA+p1?= =?us-ascii?Q?Eem5F4fgCrBQYEizH60iJUgFcMVDAgalf4soTBlu61Lkv9ipLNvHp7l5tEs4?= =?us-ascii?Q?ZQB51/PTZBMeOVd6fGb38qq9P5PY1gROq246+WRNHUfu6byoqjGVk04y2MlY?= =?us-ascii?Q?9io57Syh0ImqEZeemEl3C39UDhjLnhF4xBwnMToOGhpVovOUEqz+42u5VJUO?= =?us-ascii?Q?tXnDb0DuDJ60FK9BMcf6n7qLgHyVEONS/dvSlabB2mC1vOSVfQcv33W6omnF?= =?us-ascii?Q?0xTixnYRYSKyVxbVnKHmtSrax2hAmoR18tzT9hHkgdGSoHVnBoq/l4bBHOnb?= =?us-ascii?Q?xrOjpowTFoyCznSyMRvYilR4GzsG9MPThr7jFrnDwLOFLg6ocQSNI/z0jY3G?= =?us-ascii?Q?Oe2Gl9OEh3wPJHURZzDk9ksI8F2ru+3xMLZ63vZCkBOUgx29MLuTWkI4Nryw?= =?us-ascii?Q?sfuK2m81/qStjEwle9/8xvLCbTFmRXWuFoU+qUzKTTkiksTxLVhKzn0OeNC+?= =?us-ascii?Q?hu99Ui111UpVpqj4P+uB5CK97NmwQV7OxaS0F9M0W6/StfolChnfjOIdZJTb?= =?us-ascii?Q?gTCN9m2mzaMfk3Eo20theJSK5wm0YA3ZXgkbNsbfRHQdLhfJDEv2u+qvZcAz?= =?us-ascii?Q?jv0WbV0np9k03twEGjZCe4T4bTkgcJT1SUkp/nWC4caWPm3fZ/xByAA7/2VN?= =?us-ascii?Q?0WSwiHGtDyOYXcR4ar5T1C1AODdFbL17WTzX3JIQpA4I42JxRkSc8HeuHjI7?= =?us-ascii?Q?TfB5rMTjuY2ptA9Q+s4m73hK7QYDGwUBXaT7zWWRu+0L57YYZjUOZZJ/rcl4?= =?us-ascii?Q?vm+cGUTmzUB60PZiy3tnJ9CPEzEj8HyjHvPTqiYb?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: ibGIgIkzd4LXiEQRuFqZNJ9aBPCo2C27Uy2ZKlrypFH+gKgHSIAwE3feQUSm5rxcsE5t8QCEVav4tfOmx61X3lnv4TspH31W9FwYuztFdZ4wdNKw83JjDqbFxJ4Zr6mKzIkGgLaKVYSq8/1jv/BhJoHbOB9J+nsvN/Fiia/jHVviEVtTta6GG41SuXazDN9FIzOspoP2pypA+b1GPlvDXZUBIvpr3GrzjFX8Rx302JZHFH3CSwUlMbQOp7T7CiCt9kLXo1Fin4/9Ex3CZRtY/in42UWnH4KQoGmDlflVahaLBMXSSlDDZPCVbcjCL79Dl5bg3redlg6z/7rz6YcdHWQIvS4EHrZqDr4MfyvJhrzLjPqT6mOM+m2NN5bDvba52cWTu1gkkqq5fvn1EaSRwmJAR1WHeRe14wTwgAMM2+lhXBw2AJsTjPMMvsYafpD9qIkeQZpb86quRir0TyGQ8LVFFOS8DsVmxhts5fABbesQkMSq8BH30PLR6XtgFeYvNg5h83vde9DrH5giKWgc27AhAU4QIT8bXXxV+ePzKaB2Qx+njSwm47uDVXkghKOAUrfqRl5JJDRUZQFn06wb3ReTRyFGytgQdCTXbOuIUMY= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: fa2949e9-0667-4a74-39fd-08dccde72e9c X-MS-Exchange-CrossTenant-AuthSource: LV8PR10MB7943.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Sep 2024 20:13:18.4660 (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: GMvEnQr7rDPnPuGi4/g0IEbaFLKOjcIRVPDKRidLl7x8L9B9ho/IWMoW4S1qCl/Af30k+f7fPBuJhiKJg15Vtw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB6782 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.60.29 definitions=2024-09-05_15,2024-09-05_01,2024-09-02_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxlogscore=999 mlxscore=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2408220000 definitions=main-2409050149 X-Proofpoint-GUID: y1P8IFZGazG87HNV4MNNNwjIngrMenKj X-Proofpoint-ORIG-GUID: y1P8IFZGazG87HNV4MNNNwjIngrMenKj X-Rspam-User: X-Stat-Signature: hx5gk13ic9db4ozeqina55kfgofd1nup X-Rspamd-Queue-Id: 2A9FB18002F X-Rspamd-Server: rspam02 X-HE-Tag: 1725567203-435230 X-HE-Meta: U2FsdGVkX1/gsQAuKofJ340tv1/lQr/iOHzJ6uLJgKNb+Kov8hviQqMkIBkKgMuhZX2HyAOBSk+8MGqsKT2vkhUULCi2pDvcHq7qAiUhYmBdpwIQatKhNUZSxCFNbnU6YhqCAYxvx/czrySznGWrd029PuY11+q+fJAeTOdaeL53qY6gciSJWZhU9nANmfh0EVM9DXDBaLvbDu6i+3/DYq1urljzv/Ca/+jkvC+gUw2XnhiB4mCGJTIIq73QXb1m2tAltGXV7Ng84xNTPHHIYrYhyFvrdQGOlz606U79RlOg/YSDE7Ijpf8K9F784fjYpBIJEQdI4hioxufDcIPZUV7QWetoZiknAa2GBAW8WiVK0VKovK0+p/HL2oIdAnHyirqgSdtVm4+LVhbQTRDwJpKrT6kqds47B7bTBoqiNUZSPAkNZJO26PCRMiKBhZWR1brwE2O2RafHjcFAiNlxE2rC/Q55opd+TUjQCcbbKIhyRwdv4Tmrv2GsC75mgoHGEVir6RwsW6RC5SAFH2C0TIF3/o6llXx9SIRP44n35dl7svSlf2NN0AlfRIQQyuiHmM/x+hNoPCjU0h2I+2o869GJbA8tGcYrsZFU6GQXODGeLW512erX8O+7r/QKm/xtEp8H/DKuKlLaHSz47KPUpD8sw4sLtc0jYro5lfYwMPO2z662QBUu36WYOI3n2djkDi72pEnerwfEQKx8xs0HWrKUSrHySixPHXOVTvAU5qg5EPL8kdCKFIBLL7rG3dyC3osXQZxPrEGoiVpNulXYBAWJodAMNMmdWzZXHn76RE3Uv5VetopK6Q5lY+Od6xAUHlB6YQZlLGR6tTIU2Mbssq+fdBWKUVx1+v/Lr9+yyDLJxEelCEzrTouCKf/0w+5E6m/b4jff7A5pfpN3ZEe1seRpuHB2fuCka0Og6lMvAtOjFHBj0rqIX+9Nl21Vb0sJvJ8fJQEC8j62bEQua40 eJkIs6bG uOpSrCtd72mKriGlf514vHMvcf2jDNsm36mTzZt55RSPyAdYnagBts54SxYYqJ44ApY/XxxKy7Gt0ihOFyGkrYDnibRPSQLZpnhG3+GVyXpQw4m2MZ/eltJeOHaDPGcoulThTzBhhKPK7X7veMn6Cb6/Rz5GmURdxdlCCYC9t2BzxQATIJMFjFSBo4sV1tfCzsDN7s9fGW5YiCAjWH38vH2Y7sSw+L+WTphkjIBU9W2kUsb1C3MzTErsXJHPIvPqU424rxcbhMnqucRt3vp9Unse9uD32K+rtscVied2WIVwQ3XyGd4Sisng3Duh8ik+MnXT32bLsuivcP4FnjHzDH0oHM4PWwNMT8yN0k8JrrmsFg7dPI5NBzmGaEETkiqbX4V+YCov8Nqo6DwzqLnOFd9R2J9sdnuEXv8IHLyNblrMsNgyeJkh3SBV+mpYiFRyIZr+71oCm8Y3ur08rHw41aWCPuztu5GE2xWdXDUujJ0OhRaiooGhTrbVQXK6i5QRgup93cnA29/Uwnl4iJwbWam/bndobBmcI/+Hzb82u6rQYIZf+DfdVqMzS9d6SPVI0pWLfDm+pJbuf8blEkT85U1O6UlxoeBI5KUCItdhGWbYGqSnCiYunVynOk1VlyQnUl/Q6I6YUCNkZUXI= 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 [240904 10:53]: > On Wed, Sep 04, 2024 at 07:58:19AM +0000, Wei Yang wrote: > [...] > >>It is only changing code for the sake of changing code. And it looks > >>like it will be slower, or the same speed if we are lucky. I have to > >>take time to verify things aren't slower or add subtle issues (maybe an > >>RCU race) because the code looked similar. It's just not worth it. > >> > > > >I am trying to make the code more easy to read, but seems not helping. > > > >BTW, I found in mas_update_gap(), if (p_gap != max_gap), we would access > >the first parent, parent's type and its gap twice. Once in mas_update_gap() > >and once in mas_parent_gap(). > > > >Do you think it worth a change to reduce one? > > > > Liam, > > I am trying to understand what kind code change you don't like. Any change that cleans things up and verifies the performance would be acceptable, but your previous changes didn't do that so the burden is on me to verify that your code isn't going to cause a regression. > > Is the following change worth? Not like it is right now, but this is worth fixing. Test using the tools/test/radix-tree/maple.c Look in that file for BENCH defines at the top, and examples of the benchmarking. Before you submit anything, run the testing to make sure it all passes. If you are changing anything for cleanup/optimisation, then write a benchmark that will test the runtime, add that before your change and run it in both before/after with the results. Look also into the perf tool to see what is going on and where your time is spent, then you can avoid optimising something that's not worth optimising. > > diff --git a/lib/maple_tree.c b/lib/maple_tree.c > index 2b310dd3addf..e331d086eb7c 100644 > --- a/lib/maple_tree.c > +++ b/lib/maple_tree.c > @@ -1595,32 +1595,33 @@ static inline unsigned long mas_max_gap(struct ma_state *mas) > /* > * mas_parent_gap() - Set the parent gap and any gaps above, as needed > * @mas: The maple state > - * @offset: The gap offset in the parent to set > * @new: The new gap value. > * > * Set the parent gap then continue to set the gap upwards, using the metadata > * of the parent to see if it is necessary to check the node above. > */ > -static inline void mas_parent_gap(struct ma_state *mas, unsigned char offset, > - unsigned long new) > +static inline void mas_parent_gap(struct ma_state *mas, unsigned long new) > { > unsigned long meta_gap = 0; > struct maple_node *pnode; > - struct maple_enode *penode; > + struct maple_enode *enode = mas->node; Set this with the rest of the configuration, before the ascend label would make more sense and be more clear. > unsigned long *pgaps; > - unsigned char meta_offset; > + unsigned char offset, meta_offset; Make this two lines. > enum maple_type pmt; > > - pnode = mte_parent(mas->node); > - pmt = mas_parent_type(mas, mas->node); > - penode = mt_mk_node(pnode, pmt); > +ascend: > + pnode = mte_parent(enode); > + pmt = mas_parent_type(mas, enode); > + offset = mte_parent_slot(enode); > pgaps = ma_gaps(pnode, pmt); > > -ascend: > MAS_BUG_ON(mas, pmt != maple_arange_64); > meta_offset = ma_meta_gap(pnode); > meta_gap = pgaps[meta_offset]; > > + if (pgaps[offset] == new) > + return; > + So every time we go up a level in the tree, we will now check if the offset gap is the same as the new gap? Doesn't this mean every level now has an extra check that was previously only done for the first level? This is an unreasonable trade off. I don't like what is there today, but I don't see this as a meaningful improvement and I suspect this extra check is going to cost more than the extra hot-cache check that exists today. > pgaps[offset] = new; > > if (meta_gap == new) > @@ -1640,11 +1641,7 @@ static inline void mas_parent_gap(struct ma_state *mas, unsigned char offset, > return; > > /* Go to the parent node. */ > - pnode = mte_parent(penode); > - pmt = mas_parent_type(mas, penode); > - pgaps = ma_gaps(pnode, pmt); > - offset = mte_parent_slot(penode); > - penode = mt_mk_node(pnode, pmt); > + enode = mt_mk_node(pnode, pmt); Essentially, you have replaced the penode with enode and reversed the order of setting things up. This seems reasonable, as it reduces the lines of code. If you undo this change, you can move the check back outside the loop and avoid checking it every iteration and avoid the double check you are trying to avoid. > goto ascend; > } > > @@ -1654,24 +1651,13 @@ static inline void mas_parent_gap(struct ma_state *mas, unsigned char offset, > */ > static inline void mas_update_gap(struct ma_state *mas) > { > - unsigned char pslot; > - unsigned long p_gap; > - unsigned long max_gap; > - > if (!mt_is_alloc(mas->tree)) > return; > > if (mte_is_root(mas->node)) > return; > > - max_gap = mas_max_gap(mas); > - > - pslot = mte_parent_slot(mas->node); > - p_gap = ma_gaps(mte_parent(mas->node), > - mas_parent_type(mas, mas->node))[pslot]; > - > - if (p_gap != max_gap) > - mas_parent_gap(mas, pslot, max_gap); > + mas_parent_gap(mas, mas_max_gap(mas)); This was optimised to skip updating the parent if we don't need to - and the parent update was called elsewhere in the past. Since there's not much here, we can probably delete this function and rename the mas_parent_gap() with the two tests here for mt_is_alloc() and mte_is_root(). ... Thanks, Liam