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 2FEDBD3E195 for ; Sat, 19 Oct 2024 01:56:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9C20B6B009A; Fri, 18 Oct 2024 21:56:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 971BE6B009F; Fri, 18 Oct 2024 21:56:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 79BFD6B00A0; Fri, 18 Oct 2024 21:56:05 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 540736B009A for ; Fri, 18 Oct 2024 21:56:05 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 03A1E804EA for ; Sat, 19 Oct 2024 01:55:53 +0000 (UTC) X-FDA: 82688686164.29.EABF546 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf14.hostedemail.com (Postfix) with ESMTP id 19A1F100004 for ; Sat, 19 Oct 2024 01:55:47 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=gUJFPoA5; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=WxVZQRW1; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf14.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.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=1729302814; 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=WM68ij7wse2HOPefHzaSVY8/SBPTRnWV2S8FJ3HNov8=; b=AJCp6OATvTrrmUdxafrDG8+OqCDR5Eln3Kb/uxkBT+OzVAbG9AAij6ztvzUlwlqptkeKOV GVq7zo7e1F8fJLx9eUkb0TE8hsk+K8xqwwwdJr//RYBRJnLVYxBexMWAuzEw2UGWapZm8p sFHyGAfXeQrmq2LhjACLFfihQ//g8Co= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1729302814; a=rsa-sha256; cv=pass; b=slkkugVjVh2YeC6WaURGLW6pntOIfrCPYUcyb6aoA8gGUixj40sypD89Q2CMhrHizq+/9+ mo5bHH66gSEkUMDldQXzrA39tDm0jcwCSGpxvf+HGyXQyBj5Dv+NHsBQ5RCgvw99l4H5Q4 QwOuqxdPmbOYEdS09WU5iIRSSYfMZnQ= ARC-Authentication-Results: i=2; imf14.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=gUJFPoA5; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=WxVZQRW1; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf14.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=reject) header.from=oracle.com 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 49J1iVv0010784; Sat, 19 Oct 2024 01:55:59 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=WM68ij7wse2HOPefHz aSVY8/SBPTRnWV2S8FJ3HNov8=; b=gUJFPoA58VwlKSYl3LGeXReeZ9tq7py9yo BxdZzMleAa/ZmTPJ68Y1rbU62pRXU2anVCovr4OXWkltjgkYEkXjzG5hU9mKT9gm G8MWGTcamZI445fYJpsdt4uCdxk7Q0w5VMPN1zr97GRavohQ6kGO5z0TspOxKto2 dhd8Z2nbIysUFldUV5kYZhUVovxx90YTFpUDtGVRT56cgwi9eUrqQkJsPQUAnJfe 9PjqRVCYBJOv4d5m5TwMv0nVdXJkeGCA1lHjltQp6a7ogCq+gTSYeQiPG2EmSz+a P/vzAKNzzx03S8avPNy/MURQD2GCCBQnM4uHKUzIm+TP5hSep41w== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 42c3c08067-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 19 Oct 2024 01:55:58 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 49J1XKno035265; Sat, 19 Oct 2024 01:55:58 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2045.outbound.protection.outlook.com [104.47.70.45]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 42c3758ag1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 19 Oct 2024 01:55:58 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AZN9NXs12mawK7NaKG47E+qmW+v06BzwNZPHxvZAvx/f4tqGRKAXZfiIRtL2twLdmJQ3X/qb/g0m5c26UoCwX66loruei8tY6ZmryEngPGNT5RpkEobePnBgr/oq/5iTQKcHVKxIVqYqnScOa/JIEcm/c2fYP3VxdNm5o98j3b4PUEYczprX2CnFYx7500s3rsH33Pn6KXKzohfCmZQYVsN/HUvnwPOxhWG8deEH/3l6s6IMGC4d/vWBbqdYY4Av3ngBg7O6Bxbxxxq3PVT/RIRlskiPY7456uxgj6uYSaf5N0XD1zR3FSTKdxD9u2r3EcfpSjfRsLGUo1sXwFO21w== 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=WM68ij7wse2HOPefHzaSVY8/SBPTRnWV2S8FJ3HNov8=; b=rI06zii/v4MxJTUHvowm38jvRbBUKt1UmUkMksCGgiLA910TxiLuqxrZcc9s/keLJKn96GoCNlB/g0vlxvmY3J9VxPvUNI2AuZtO9hiIZqyehm41FWuYbxGjZMZ/361yFqxyM1VNJ3NTV5S7CLyYI9IumjW3Al7kbyo6yeQmvH3f+hzIPgHL9/mcwd5ab6REzuEjp2XS2O33TuUpfNIZNmJujsGQREAO1292LVZBUdlV0BPAYTMmK0CUlV4vP2NIGLo3Sp5vIRQtKO+hdTNsR7BSj42H1gadBU2Mtn1C9fvhLtVtEAtUY1/llqBRM84uaEGfEndMN7Bp0379P2FZAQ== 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=WM68ij7wse2HOPefHzaSVY8/SBPTRnWV2S8FJ3HNov8=; b=WxVZQRW1v81nrY1OZTOp9Gbp9mvID/Sqj6IiOFuKivAol6iOiK4phvYxdOBDvTF7aGHQgjakkebyXCUWmiQd6DviLRa8XBpBJqn7dzA43j2yFJfAweApOY6lc/0Lk55mvqpYV0gnjY3cup5xWmAQFoTJxHJpPlPW70mgusakn2g= Received: from LV8PR10MB7943.namprd10.prod.outlook.com (2603:10b6:408:1f9::22) by MN2PR10MB4176.namprd10.prod.outlook.com (2603:10b6:208:1da::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8069.24; Sat, 19 Oct 2024 01:55:55 +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.8069.016; Sat, 19 Oct 2024 01:55:55 +0000 Date: Fri, 18 Oct 2024 21:55:53 -0400 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 v3 4/5] maple_tree: refine mas_store_root() on storing NULL 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: <20241018023943.13860-1-richard.weiyang@gmail.com> <20241018023943.13860-5-richard.weiyang@gmail.com> <20241019005929.ed5wuhbvdhtfqk2o@master> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241019005929.ed5wuhbvdhtfqk2o@master> User-Agent: NeoMutt/20240425 X-ClientProxiedBy: YT4PR01CA0309.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:10e::27) To DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR10MB7943:EE_|MN2PR10MB4176:EE_ X-MS-Office365-Filtering-Correlation-Id: b21d7017-1d3b-4edc-6e09-08dcefe12b0b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?v1x/vi6bAJnoSovTi9hy1GGVshd/+ca7ChOqb+8Xl4mB66NgCm0tGaY0uZa9?= =?us-ascii?Q?IuRJtGHdkGdEG8qgQVH0hCKPpdbmS13+if1DoYncoM/6A/litETXT2dpVua0?= =?us-ascii?Q?OfFGAwBWZ5CJ+K5UqL1kLbm7i49foGvfs5NrL09puDXAe9fxc8mQAYPW1K31?= =?us-ascii?Q?mE1khGlVzZ1nNVSQKtc8HJ0YkNXLnJEZi7V/Euu8agB0eMi/cFzT2jlScfnx?= =?us-ascii?Q?zXU5iXWjucLP4+N/j+P6NrmWptIbWgtXmIB5d7Ylg5xhzZOjHDK0ZUtPypbY?= =?us-ascii?Q?h+RFngomUpxP+1cSw1u1GAC8VHErydrr4RTy28/wLhJ6qhgJR54j13IOumtC?= =?us-ascii?Q?+qaGNGWIpo+tMmSXeQswbLtkTuTscn3LJfoU5b9/J/1fGbI3xUURGAGKFmnT?= =?us-ascii?Q?oWGfNsu7J+VX4CL81nOVjA2my9EJ6VSjekw+P2Oj97MKZOcBUCRSy1dxcw2Q?= =?us-ascii?Q?VSevSPM34sZdqh7EAIcGeP+zLZz0p0ebSh0mJ508NcgdosULlpUT81bH7KMb?= =?us-ascii?Q?oBQn1Ts/5rlYr7xD749wTtlIKhU1TTb1oB4jV6/eUZkzwkf4DauZzcuMWjuD?= =?us-ascii?Q?rY2xfJmzN4ivRjN62xnJJ+MkEtRVa4UOnsGIvwo6GcQAKvUBVuayCE0uOAQd?= =?us-ascii?Q?6PbFkNnprp9CjTsOeOLx+KP4m2gZAkbqqGoHyv522Rag57iimdkPAuFO5CeL?= =?us-ascii?Q?Xzpgr7/u83QnXvMuKi+iF+YYkW1VFGmxSyGhiBC9L0IYitcK3NKGvccSWJYd?= =?us-ascii?Q?6YawebepMWG5tg+n6sLzO7iqgwtezpfzVHRbwVpot4EfLK5Sf1/H9MrJqkAM?= =?us-ascii?Q?ho30SV0bSXemY0Mmh9NhFFho9ttqDejydUUBrV71zfYEd1j0nHRkJEg/Vld3?= =?us-ascii?Q?Pv2x+v4biaFAU4ysVpUWdaY/Cc3rMA9mcjQUBD/KRIBaMDLcOTTUF9DM+SrK?= =?us-ascii?Q?z6S90aWJ+bZaJMvv5mhOoPnKP+DDddc2T71vcjLaRvT396B+ynd/ln3Z+2WB?= =?us-ascii?Q?wSIZF4x6rF0j4U0H8Q2Uf6vQufOENk0Wh8P8RAQyASt3UJ/TivdYxP5NXwa6?= =?us-ascii?Q?sruh//SWEVFaCPAb1FnUEjxs7Xkwa5ELKoHxDzWut61vjJn/3cGBkdBOrvHK?= =?us-ascii?Q?Rs50NrFjEbhN82CCxKYTTlmaX3qAom1Jn6mVHtq5Li5ePLIaLqDa52xN3WtV?= =?us-ascii?Q?qAtKp7mqxo5/8Ogn2vC0slkJsRBSfSZ5/L7foQhnD9NLoCbz8OlPQwL3jxIv?= =?us-ascii?Q?QwlcoB8XVRS33ahBbS4Oq/BSr/5QP3b22dBgUcheEbdmmzAvARAb41LZ8YhB?= =?us-ascii?Q?o60=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)(1800799024)(366016)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?0oqkvhkL4FD1oQvsRek8ZirFYKVU6LRRG+wNUxjzeqvxFMxyMXq+oDsMG1Yd?= =?us-ascii?Q?fDNxYvURprJTXBOcINEw5W/vQVNJaunFRsqEi9FtrWivxMJO8S6s2FwkgWkQ?= =?us-ascii?Q?xD+Xef0F7+twijTTm6o6SdxUatdEO+TfzkUBuhRPr2yzdyWTD1TzUKhkoVoP?= =?us-ascii?Q?26A+Xcra6uSE6eH93MCHoPzAKfEk83tNZ85ppCp3jSW9YTpie0TX9tI2ObEa?= =?us-ascii?Q?oJlnt5QR7EoM9T2x9ZtHjC2ZnNcSCy/2ew0tobDPLwNsAfvthEDzhOeq28Zz?= =?us-ascii?Q?q4YG7pNOCnKdW24fKglQZLueQ52y16kGdFyKvo9hHJR1CnP85rlehD7vVOce?= =?us-ascii?Q?7h183fCLM2tphzytJvM5MgM6AzwETEO/btr5nWxzV4cIPojw7ASdPe0yeUQk?= =?us-ascii?Q?UQqicJxkBnI5vzlngYfZzOwv4Ux8mvE/BlPFE0/SY5kHuuwu08A4JAEsUf+9?= =?us-ascii?Q?1nuJqRKe2+P4ci8T/4b5yaSUjajbkHZ424u+tWEKu2mgkvnjXGBzDbhq9FW2?= =?us-ascii?Q?wICikGpJ41yza29a6wUuZWiOQb0TNY7Fa6seJtd0NZ2TAl3xKSHpr1/mGQP2?= =?us-ascii?Q?g+LXxrx6BkCyM5XbfFjMNEYVfI36703oAbld9PkwqnIb0cKzisKNDYzLwPd8?= =?us-ascii?Q?3BO9wg0ubUgttiwmOw2P1/6/cK1CPT+vU46bmg9NA0+wUIOCruCVPZkl00Rx?= =?us-ascii?Q?7N3MMcblJy6HhMsVkCe1FPQK4E4G83peJCmDRq6961WFGk/O9kSLQJdXBLvh?= =?us-ascii?Q?6a3rFBGGCp1tpd5aYTHRpXvhCaVlZmtTmYlHDZvJlURWB9lHso3ZZq6A+CFO?= =?us-ascii?Q?mc9k55O/sGjhzM01MltorOVIJeL7k/TtPsnkdzwTRQtSQBvqPvemeELC0hJK?= =?us-ascii?Q?dyW97yc8VOLxXoLD0v7d1q+TXpi6X4Vr6uzMT32+YXrDhFf59r9FgIi3HycL?= =?us-ascii?Q?XEJ7Lrz6pH0CgUztB/j0oRA+Z5yNz5lTBYMWVRgNUB4NBgkgFQ1qTQVQ0InW?= =?us-ascii?Q?5GP4GY0yyjknVoTSB1pIhFz6ycUeUtoc6vFJ6MAAMM0XzdBCB6SwthdgSi+M?= =?us-ascii?Q?KGdA+DB263cuLRga8W1NqkK5vdz7eVYHpMhueUmCa4bJI4d0j4pXFq18ChBF?= =?us-ascii?Q?KEyp1vMVQxOczowyavvRFhJNb8MR75mzBUeGn3ZhmCnLZh07BFh8MuQtJw8R?= =?us-ascii?Q?flMhPVQS8SD4pwk/Y/ntNLbhfOTi3UoP8m12zSoG9UVvakb5iBSA4ma9CGFN?= =?us-ascii?Q?9z9NC7kNUJVpzl/PDpUDuZi9TSZqO7+LRvdhcmPvRIzUaGgPQolS7Ql3R2st?= =?us-ascii?Q?9ggGtGRkQVKU5pOWCK5HnNs50To+hqUrREMF6O+E7sM2R9xSPhV4TXbraMx7?= =?us-ascii?Q?dMTGmC51OKi/0q1VgO/J1RN+5obKsI1tJNHwWHYxDYG1Agyu1zv84SJmgyzg?= =?us-ascii?Q?4w0Uuks9cG+KnFTgg+jKEXnSnkMHS8oXhWyQlRQ6Xrar0+Nz/G/cYWFVoN8S?= =?us-ascii?Q?E9wOH2dTAH3+JCXJJFTNntUpiMwWjvY9mIfNAI4Gpuv7qe0EKztyjFaERCWP?= =?us-ascii?Q?KEUpopgJdVH8NMmDrl5pXjz+vhvHqHsxmKHlnqxPWsyP6YKM1J3x/YSSde8t?= =?us-ascii?Q?Zw=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: bIkspjyK6puT7dlYzMuzXmp1c+TznMHlUkoHesZLqX3vRQZEwjAUVk2yTwWD18t8tVLKLA4cudkafiWYVm+lZOxaGuyMnFUz7kb9VZnmwl5Q6uQgWjVD4hs1pmHDdPOjfTXKxVCzgKuFhlR591XIapxy0VEYYcTrhMS4aYAJdeEKINOVICQhSaMYkzw1Bx9AMax3TwZr1HLZcbhyP2+sXBMtwr7v2Pr2p4EuVlEV/3U9Ziy5iqSx3oidf3fmsdEson2tOCaw3Maq/Vfpdd69VSvBV/I4PkXGUEORj67SEKghgpkz/10khk0XoqkwLMw2y5FxU5YKpyY06m14t+3EpBDiHYEd+Ee/fRhVTn98/PgHQKYKhLdggKXfjStkrPe+IgYs1TgfPGFuhXYjYG5H02pXjMdYxTcqDLvXGOEwG0rKTKtMRQwDjbgZrQp0r9ojpPY8FrFK+OXQHH9fvFv/pcVeEQ76vZWLLRA851o8bw+PmE+55dmbqkjziC/Vwk9lbKSsb898A79Teb5eGWB1ym6cYD2UDuIISz75CmlIZDUcPjfsILovvauE2upuXJoMGKYnKtUsw0nm9VTltCDvu5HgtkthxoLPjr0NBamRKXY= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: b21d7017-1d3b-4edc-6e09-08dcefe12b0b X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Oct 2024 01:55:55.6229 (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: /tjBMjodmGpqGgEf8JGfeWosae2fEq+gTwLPFW1T0Ae6h3A3/LiAU7w11c4jz9K8zNgSVF9FpWYrNnuSem6h7g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR10MB4176 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1051,Hydra:6.0.680,FMLib:17.12.62.30 definitions=2024-10-18_20,2024-10-17_01,2024-09-30_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 bulkscore=0 adultscore=0 mlxscore=0 spamscore=0 mlxlogscore=999 suspectscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2409260000 definitions=main-2410190012 X-Proofpoint-ORIG-GUID: Pbaw1YHZ1G2i_NTicdkf6AuhmTjtb8gv X-Proofpoint-GUID: Pbaw1YHZ1G2i_NTicdkf6AuhmTjtb8gv X-Stat-Signature: y6sf87rwomfpou5r7ckb8yk5ybokm5nw X-Rspamd-Queue-Id: 19A1F100004 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1729302947-454073 X-HE-Meta: U2FsdGVkX1/r34/UtGzEZFMastZru6A/Lq70lytiCc7O29ONo6ZI8Yk0CjHxZmPLCQ/NJ3vyCpv9GkDTyEVwuv8zVjgKNbWPVDbnHU1X8YK4IfSc8zBrvMHpzOIeDBb9KYm+7ZCGIcQm4/P3B35n2K2Ylm3je7DvAy7pJfZh12tFbcg/HvsPrkXFy5XqarjINm0Sl8eJnAjIZoIS5VuOl+pjzTVUGyIe54pZHWqqxDu2Rvg77hh7BBjkN1ODE7mQIn0DOHWkYzGqIFUzDW+0+dOeiPJphyE6Q05R7qpZ6TKhdwYDT2FOvmyCcWbKTAhtd76ndUfvOPeejvir62NLdoZMF09HkExv3kI7/xp58oqbGs/pKGz7ayE2N3As6USG39l0oWQGXmBHisdSM17fmbmv4kN++LpyYJOffMtyf6BZzFIRR0cgteuGajRFrKFMNVbf1ZEnkBUsRN9SSBxiJU7wUaU6hKB8n5zIsLPbOAGWuV7gdyr8G1oK4pAmr0ZJb+QmlzkjoEMqBRsRNnfuRdzNq5XNju1Uw+SUUiiXjUUr7SQCCRVcjc+StorlI1gGv6EDAYEM6xb9l9iyC/shgD5BFKc+3Oqa1VUhVE8BssTq02iQCkL3LbRWo+eSGB+dU9fpvksGpMu/g09kBnUz9y1jY5SzHyWUHKzvLBgB3DCUlbE5qe6xSNitdV7aWm8+dFOmCGCel7lDNteURLAr7Cq83OBMoTrx2+zQHXMCkviUT90J8drST/FxuMhTVvSSTzaz9khaDC/U9slVs7ZWx//8ureLi+/4nrms/hSNWnhQToGv66Cjnij9vP4WcBqB2CQE8ko61UEmDHxh7Xe0MYxFUvkKpxdDjnxd/CYHNirbyy6GZRM0DbfdqVd/Kin7jAFxZeSMT4ZOelzoR788MxnjuE2AbvuIFchIT8ESMmk85nGZUEU1IoVTKt5Lsnp00zXzxvrmOgZFZsiXqfS 5A4qnMPN O3+/PaJoxMPE3ivxwOF2FQbb1HCB8vxqqd38BYVzB8kzKKLkP0DrNvKEXydG7xauS13/zWyvm3h7IgCHGMkQ8vpdVLutEwjIZnIFXO5DSYBHaI2RnNvtzqQ4RM7uli3AbwVFXZ8Q3B+36ALxIRpn7TQbRDofVtdke9CtSJfeijt4ZmMXmZpuaH9lN/UX48pcs0E11TwTF91nwCOxkWCWD64YQL25xeSh16ydPi9cTPYt4pz6ptuKf5gCpQDpu1QWJNDdJugLlxWr1S2uMlsLM0OXCWAx9N1827zjXSUeDGV7yyW/OldWinH0EH/Wz9mAsI4kdlDWhH6m/CeeLmUrfOzAcKC/orV54tlHqIhD2o2iMGdvOK0S3owz65ZTqUYEaUx9KbDh/xVfVxmucpvwgXKpsM80cHvZfOK1Ugpk2u2SsQgFHi/AcvsOksHin4ri8lFMKqdoJSlOnA7n0utCBKa7nvvV/VxPYPI1O0FX3tC0bW2JxomrqR2iWn4k1kBZB4ibD9KvT4HLcNShhcgpsK7Mp64YKeVLV9LVRO60i7zdU5PkfbpKsmSo8F6j7RXPy3ymvNXrazQ/FM360mAGTLaa1oqc32ZlA7dBTZLQwLUOXEtnsXD9lYMF/IP4BrEnjDUL+JgGiMgFmvlm2Wov8rBG8UK8lgT01ZXQK 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 [241018 20:59]: > On Fri, Oct 18, 2024 at 02:12:08PM -0400, Liam R. Howlett wrote: > >* Liam R. Howlett [241018 14:00]: > >> * Liam R. Howlett [241018 13:57]: > >> > * Wei Yang [241017 22:40]: > >> > > Currently, when storing NULL on mas_store_root(), the behavior could be > >> > > improved. > >> > > > >> > > For example possible cases are: > >> > > > >> > > * store NULL at any range result a new node > >> > > * store NULL at range [m, n] where m > 0 to a single entry tree result > >> > > a new node with range [m, n] set to NULL > >> > > * store NULL at range [m, n] where m > 0 to an empty tree result > >> > > consecutive NULL slot > >> > > > >> > > This patch tries to improve in: > >> > > > >> > > * memory efficient by setting to empty tree instead of using a node > >> > > >> > > * remove the possibility of consecutive NULL slot which will prohibit > >> > > extended null in later operation > >> > > >> > I don't understand this. Do we actually store consecutive NULLs now? > >> > > >> > This is a very odd change log for fixing an optimisation. Maybe start > >> > by explaining how we end up with a node with a single value now, then > >> > state how this code changes that? > >> > > > Let me reply all at here. > > We may have some cases to result in consecutive NULL slots now. > > For example, we store NULL at range [3, 10] to an empty tree. > > maple_tree(0x7fff2b797170) flags 5, height 1 root 0x615000000d0e > 0-18446744073709551615: node 0x615000000d00 depth 0 type 1 parent 0x7fff2b797171 contents: (nil) 2 (nil) 10 (nil) 18446744073709551615 (nil) 0 (nil) 0 (nil) 0 (nil) 0 (nil) 0 (nil) 0 (nil) 0 (nil) 0 (nil) 0 (nil) 0 (nil) 0 (nil) 0 0x2 > 0-2: (nil) > 3-10: (nil) > 11-18446744073709551615: (nil) > > Or we first store an element to [0, 0] and then store NULL at range [2, 5] > > maple_tree(0x7fff2b797170) flags 5, height 1 root 0x61500000150e > 0-18446744073709551615: node 0x615000001500 depth 0 type 1 parent 0x7fff2b797171 contents: 0x7fff2b797000 0 (nil) 1 (nil) 5 (nil) 18446744073709551615 (nil) 0 (nil) 0 (nil) 0 (nil) 0 (nil) 0 (nil) 0 (nil) 0 (nil) 0 (nil) 0 (nil) 0 (nil) 0 0x3 > 0: 0x7fff2b797000 > 1: (nil) > 2-5: (nil) > 6-18446744073709551615: (nil) > > These are the cases to be checked in new test cases in patch 5. Oh. This needs to be backported. > > Maybe we can put this examples in change log for clarifying? No, state that mas_store_root() allows for multiple NULL entries by expanding root to store NULLs to an empty tree. > > >> > > > >> > > Signed-off-by: Wei Yang > >> > > CC: Liam R. Howlett > >> > > CC: Sidhartha Kumar > >> > > CC: Lorenzo Stoakes > >> > > > >> > > --- > >> > > v3: move change into mas_store_root() > >> > > --- > >> > > lib/maple_tree.c | 6 +++++- > >> > > 1 file changed, 5 insertions(+), 1 deletion(-) > >> > > > >> > > diff --git a/lib/maple_tree.c b/lib/maple_tree.c > >> > > index db8b89487c98..03fbee9880eb 100644 > >> > > --- a/lib/maple_tree.c > >> > > +++ b/lib/maple_tree.c > >> > > @@ -3439,7 +3439,11 @@ static inline void mas_root_expand(struct ma_state *mas, void *entry) > >> > > > >> > > static inline void mas_store_root(struct ma_state *mas, void *entry) > >> > > { > >> > > - if (likely((mas->last != 0) || (mas->index != 0))) > >> > > + if (!entry) { > >> > > + void *contents = mas_root_locked(mas); > >> > > + > >> > > + if (!mas->index && contents) > >> > > + rcu_assign_pointer(mas->tree->ma_root, NULL); > >> > > >> > You are changing what used to handle any range that wasn't 0 to handle > >> > storing NULL. > >> > > >> > This seems really broken. > > > >I understand now. You don't need to get the contents though > > > >if (!mas->index && mas_is_ptr(mas)) will work > > > >But it's probably faster to just assign the NULL and not check anything. > > > > We should at least check the new range cover [0, 0]. Otherwise it will > overwrite it if it is originally a single entry tree. > > This works fine: > > if (!mas->index) > rcu_assign_pointer(mas->tree->ma_root, NULL); > > I would change to this, if you are ok with it. This makes sense. Maybe we need a comment about what mas_store_root() means? That is, there is no root node and we are storing a value into the root - this function either assigns the pointer or expands into a node. Then when people see the above, we can say either we are storing NULL to an existing NULL or overwriting an value at 0, so just write it if it's overwriting index 0. > > >> > > >> > > + } else if (likely((mas->last != 0) || (mas->index != 0))) > >> > > >> > Isn't this exactly what you have above in the if statement? > >> > >> Oh, I see. It's the same as the line you deleted above. > >> > >> > > >> > > mas_root_expand(mas, entry); > >> > > else if (((unsigned long) (entry) & 3) == 2) > >> > > mas_root_expand(mas, entry); > >> > > -- > >> > > 2.34.1 > >> > > > > -- > Wei Yang > Help you, Help me >