From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from BN1PR04CU002.outbound.protection.outlook.com (mail-eastus2azon11010051.outbound.protection.outlook.com [52.101.56.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 885183C4B85 for ; Wed, 27 May 2026 20:54:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.56.51 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779915281; cv=fail; b=n2ODNzd3Z5pAYLD51F6vNVr5OynCf4c6FXy/5tOFXNUl73esLZQb3Fbyx2DUCrBzmQICz80GkAeHAm9S/WykYw9vvkXrnl49vP11H/i3qi6Ubm0X/j7sHrPH7YisMmNWPL089CiyR5nNHeLctq+h8Kl/7IiUC2nFoOxED1obvQw= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779915281; c=relaxed/simple; bh=X2S4iSQhYxJcuQiKUd13XHGceyX4XxJd+jtBWhu39qk=; h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type: Content-Disposition:In-Reply-To:MIME-Version; b=rLITxn0tUlYxBlZB5/mwm0fCof7OxXn+hT5XcyYQP/PQk39BTzaTHBACliULUgSQ64svjd7d46T3G+zWNHomFYjyfZNZ+lPdHC0qlxK1mDAnBJHYPc1d1qKfwlFR+/r7BmvJxtg4JHxWrh8bHPJ1FHYYjMEEiFY9XEB1cSj0Idw= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=ivdVWONk; arc=fail smtp.client-ip=52.101.56.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="ivdVWONk" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=cdvZjFFnsenFkCwhyMTkCtDAN/Tpm/2UAlpzkvoLRNf4/CPXGNE4bYuLGnUJoqNkkc63BZC6hMqmcQ1TNVwHm6JT8BzedVtbYDToDD7A0WheWz/0I8kMXP6mAvRTrFopDgTzHsWuSz8dPpNegJW6crwkfxDKMlybp+VML8awF6ZpVw/8VHCGQE6rVGAB1Tkq79Ma5CuLnmSNeckH4d0MZ/Z+kPLeXAUS2qZzFsKLsFN44dC3Khzq1OrqdmqiYdFy8XEeO1XzqgPmQ5b/HqYG8zhexYx8yVJJ1Tf/Hl3ePOxQhpupo5BEFtzN5K50sIuEGvRvaK4s3XURlJOOkimgVA== 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=ERiVTq8zP529iCjr0Fg9r2dNoz0Smp5lUXYkRAsfcJA=; b=hsWqGAbZjPwS4W1QnnwAZdAsTx6BBwzedYsUgBdrmvpAUotZpU2udz26nUfK5Oxhz1MrphMWs4T/64bxWjfV2U6134Rx1f72GVUx/iWoYShxjcvbz3vQhS0IQXYiyQgB0H2gV7RBi01hXvzHvf9JE81/X4M5HmaBlVIca3ERrRl2RP5aIA+JFJnGcWzcKEDSw46SjXSiybwg21dlx0zIDBxH5mUQ7Nop2z2a3fyLSshoTWQuk6w+Psnu8Y7zORhUU2R1o4lRalwO/8aNgr8/PjgV5i5bovAR40QhG943hp+yttwsyAr5IBzDYuTJmo1TTfDkmfM99ZLzwBYNCDMLDw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ERiVTq8zP529iCjr0Fg9r2dNoz0Smp5lUXYkRAsfcJA=; b=ivdVWONkJdPKSsmJZlsAabO4BUcYR+Bo3R2vxS3T/fgJe/sZkNE0fgv3Zw5s9m4A/H2vrFjdTu/k8ciSXYAEF4pNmCd9jogVPX0gjsld6D99lXIKmhbhSJfpFfdvvjMlMUlZcY8uT3KJDfGm//FozdFX1LgVd1RADkscllydY3xFmPP/HuDRYeOeFNrkbXitaVL4Mgkn5eaWNC4RVeS2WyLPjE5nADJLvO3jUzpjQAtsU/z96IKHexT521Hvopk+NyB7NCduh2+52KjyrMgPKjo0ADR51uYfUdUXs9BKRzZsrBUkLvqM0YM3dAydGIhVQTzpeJqx26jxPicAPl2E4A== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from LV3PR12MB9356.namprd12.prod.outlook.com (2603:10b6:408:20c::21) by PH0PR12MB8050.namprd12.prod.outlook.com (2603:10b6:510:26e::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.13; Wed, 27 May 2026 20:54:34 +0000 Received: from LV3PR12MB9356.namprd12.prod.outlook.com ([fe80::1c36:31b4:c420:6286]) by LV3PR12MB9356.namprd12.prod.outlook.com ([fe80::1c36:31b4:c420:6286%5]) with mapi id 15.21.0071.011; Wed, 27 May 2026 20:54:30 +0000 Date: Wed, 27 May 2026 16:54:26 -0400 From: Yury Norov To: =?utf-8?B?5a2Z5q+FIChZaSBTdW4p?= Cc: "yury.norov@gmail.com" , "mnazarewicz@gmail.com" , "akpm@linux-foundation.org" , "mina86@mina86.com" , "akinobu.mita@gmail.com" , "linux-kernel@vger.kernel.org" , =?utf-8?B?546L55qTIChIYW9faGFvIFdhbmcp?= , =?utf-8?B?546L56eRIChLZSBXYW5nKQ==?= Subject: Re: =?utf-8?B?562U5aSNOiBbUEFUQ0ggdjMgMS8y?= =?utf-8?Q?=5D_lib?= =?utf-8?Q?=3A?= bitmap: add find_last_bit_from() and _find_last_bit_from() Message-ID: References: <20260514090607.231387-1-yi.sun@unisoc.com> <20260514090607.231387-2-yi.sun@unisoc.com> <23fc41cda8164b47a6236bc7fa350a1f@BJMBX02.spreadtrum.com> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <23fc41cda8164b47a6236bc7fa350a1f@BJMBX02.spreadtrum.com> X-ClientProxiedBy: SJ0PR05CA0054.namprd05.prod.outlook.com (2603:10b6:a03:33f::29) To LV3PR12MB9356.namprd12.prod.outlook.com (2603:10b6:408:20c::21) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV3PR12MB9356:EE_|PH0PR12MB8050:EE_ X-MS-Office365-Filtering-Correlation-Id: 2b7ac365-d6a5-4c77-777d-08debc3225e1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|10070799003|1800799024|366016|22082099003|18002099003|4143699003|6133799003|56012099006|11063799006; X-Microsoft-Antispam-Message-Info: Z/5dqAHUKOKjO3jwM9teAGQWZAgnhUvvtJQjVZOrNsZUrHSsrfAzGm94mv8/TF8Vco3Rgv9TG9U/Z7KmYsTG8bcLKZuFOfvmQoPdOhJjdCI7NzuAizWPzGOpPL/hsIlLNU7ETUCAifBQyiCxkKUt1F6BDt90CboG+9EizxHPFaw4n3alkEAq8tVEezsBwXaPgIoHz+jy3NMYCHT7WBWHN1uMXEAPLY0SejVi/pR/k7eiIW6G0EtKaoinEW3c4h9ZkIuc+hyPmry46QYwV78O/foUWo4x3JYRS+Ih5SCDeg031pEKyl8HJPasXIrQujwVI2f81CJT3HpTggyy9JTXb6IWw9FmKbH6K6Qqac0SEDojY+0GLG8jXi/wBNkOtMHKodm2hcs4HlWOmf4XK6z/ZIvGgztofg8vWGZyRZEVDZJRUcySxkX3WSxtnV7eVrggc3NcXnyd30uLeECl9OBWNcBmn6Rv2/IiomWrCniamtw5ngZw/7ztvOnYSrexi01puFIYc/oWtxermpy2I1LPke31gLGPohefhtgNPte20qEzjvnFCb+y0/EaFh+U7FMO5s/9qUhS+/dHIDq1185mMjY+Ck1f39sFlCQujJlH0DM+TPD3qbtmCFunlWMmE9raL1bA8y6lkw3dkXiuUpqT9zL5ArSqgTHsOmXQeJZZH4VqXQP9afdKtbgVFhBQ28Tg X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV3PR12MB9356.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(10070799003)(1800799024)(366016)(22082099003)(18002099003)(4143699003)(6133799003)(56012099006)(11063799006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZDhMYmtCN2QrMHIrMGFrNEUyMkxLQTB1dEZZN0JtQ1JCREFWdWxOaVhmaEFr?= =?utf-8?B?N1JhSjNFZVhhR3ZyMEtVNURFS3RobHI1YXVoR2h2NXRDemhHZGlEZzdDdElX?= =?utf-8?B?anhMRVN2S2FqM3RWUWl1a2EyK3lQNHFqb3dxcWFiaGt6SWZZdGV6SStJYXJa?= =?utf-8?B?SGV1Y2JYZzY4bERTVXVBMloyaXFBcWsza0hjdjdKRFpZZWxFRnBBbFE3dkc1?= =?utf-8?B?eDA2WjI0amRpalAxTXpVWWg3cnhTT0RYZGRHK2NhakpJR3ZMekFEMlFST0RU?= =?utf-8?B?bk5DdW9HOWUxMVExVmt2WFg3RzJZSE4xWlBMOTFEUzRRaGRhc0JwTVMzTmRi?= =?utf-8?B?bVg5dndHNlB6cVY4OUtQRHNORUVWSnV0Kzhya3ZmUlFGaXFCRHpEWC9mY01T?= =?utf-8?B?OWZIOG16QTd3ZjZsNFgvSloxWXVqdjB5V0kyYlJxQVpJcU9NWloyOWF1U21h?= =?utf-8?B?WGVQMEtXajFjU2s0WjhiUFZLRG9pVDMrbkFIWnhkaTYxVDlkdlNtMkxabGF4?= =?utf-8?B?Z2dKM2Fia090NU5sSEdFYlB5dTluQ1IzYi83eS9TczRZV3BYTmx5Mjd1a1RJ?= =?utf-8?B?RlJGTDZKYXZaVWFCbUw1SGREQTUyY0xGYTVaTXZxRDdUdlp3NmF2cWVLalh2?= =?utf-8?B?c29kc1cyYmdtRUZQU2ZpN21OUC9KNTlvY0hyM0lBV0JJMllxd3RTblZyZTFD?= =?utf-8?B?ZkVldHIvK2c1OC96MlpMVStER3VSVE1UK09uT1NNNVJUak5vZzhxZitFZ0Jr?= =?utf-8?B?dWJzbGxzSk1XU3BQSEdUTEUxdlYyY2RhK1F1SmVJc2ZrdHA2Z1ZreG9zZzBU?= =?utf-8?B?Rm0zcTRLcmlUa0hJUmdvdE54Nk5rN2N1YTJNWHBIQVoyUWJaQiszMWlmdEM3?= =?utf-8?B?YllkcXVqU2YrR3hCSVFiQXI3THdES1RMQnBTTldsRWRuUDFDaXJjNWNvT0NJ?= =?utf-8?B?VkNiSTNGQ2pxRUh0aGJuU1FXRXpXYmVzWGc2bEIrcU5FOUc2dktDcGJCcjBT?= =?utf-8?B?M2JNU1FLV0F4Y0l2WUQ0NGszeUpHbndTdGNkT1IwQmRDdXFleE0vWmFlYzJs?= =?utf-8?B?VHdWTUI2SDQ5UHMzWG5JRHNSN01IZ2FjRVZqUG51cVJtYjZQTWVaelB2VE1G?= =?utf-8?B?VmlPV0FpTWNyamt5czZscVVZbnhsa0xaeUg0RFFMUE8xU0QvckN2amJkcUYw?= =?utf-8?B?cnpQQ1dCZFlVdEFYOEQrRFBlNWZLUXViKzNTQUtLaXc3MHRkb2l2bXZOOUJM?= =?utf-8?B?YVQ4dm9QOG1YT25LUGdTOXVCSG0zdFNablpyMk1QZE1nemFiWW9IdDZXOEM1?= =?utf-8?B?VVZVSlIzWUpUcURmeitqeFdTMlNFWFZlbnRKT2ppTWZsRUs1SWczZThCRWM1?= =?utf-8?B?M0txczFyVkp2ek40dGZ1MEgzYzJzZjBaOUJ3UHNIbkZLTVFxZmFUZTlnRnRJ?= =?utf-8?B?UGpmblppVHpsZFFwT1B5RXVRTFVodm1RYVJJdjNQRFM5dG5IZUFFNXJQM1Jn?= =?utf-8?B?elJDZXJ0SVZKQlo4QkdmK0hIVEp3OWt1Uy85akRpRHhBVnFvbERjRkRQdC9G?= =?utf-8?B?UENHZXBCU0kzYURDalkyb2tibzByZlRDa0t1WlBscGVYRWNpWlFyZzE5dzBR?= =?utf-8?B?OVVvQlVhR3gzdWZYMG9RRUtHeWg4T2dvK2VBbERHV3Z6cmRHSjVqVC9OaXdU?= =?utf-8?B?ck9XVE5xK1VHQUorSjB2eDlUbjB3SWZWS1l3SG5Ha1Fjall6ejNQUGM1KzZK?= =?utf-8?B?d1Q2Sm8xcTZyWkhqd3NlUWJqZFZ3Wk9RN1Jwd0hTcVhqUjcvREFSOStwNUc0?= =?utf-8?B?dk5PcHJYYWFzUjB1b25rRkpQamorbytwZXM2UUNaWHpteitHU2RzQ3htV1lI?= =?utf-8?B?ZHNlLzVDWWN2QjFwd2l3a3NTUlROemxQWWw4a0tTY2VwbGR2eWdkaXF3K3hl?= =?utf-8?B?eSt3K3JDbU1YOHlOZFRjeG9TdXVZRlF3RmxZRjBaSzlKWS9KZlRIRXFDRWpt?= =?utf-8?B?TExLUzRMM1FaVklnbGNQL2tBby95bTdTTVNmNUtvUCtEcHFqYUhia2lSdlJM?= =?utf-8?B?cTR2c2xMRjMvSVN6VjdqNDFCai9xRXpUQy9ITC9CMWtnSitEaUFoMWhYMTk4?= =?utf-8?B?Y3pXNlVXVUNEQXJQallMTWdqTE5iVC9iK1FzUFFCbkcyYUQydURqOFJpRW9F?= =?utf-8?B?blFsWTQ3SnZMclQzdDVTWi9yWXVJNHhlTlg0SXJtMFY3WTVQZTJibDNuMEpV?= =?utf-8?B?RTZqenA3UXBjbGpjRlZKVFl6Z2NiNUt3R0xnUnlEN3IxTDI0YnpvcVNTWGpN?= =?utf-8?B?dGdLdnJJVGRTQnVEclJzZENwOFpRUDExQWhneGVET3FHdHBvN2dlaUczYW5P?= =?utf-8?Q?FRwp+4e7kOg4g96tNhNqH8/0ld9NYKo39Jc5b?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2b7ac365-d6a5-4c77-777d-08debc3225e1 X-MS-Exchange-CrossTenant-AuthSource: LV3PR12MB9356.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2026 20:54:30.4320 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Yq5MFthR5W4jUbN6F2cOpu+zyl0oPiNd3xCYpXF5s90zc2+AOmeb5LuMjKflXdfMfxAvxy8RPEaKi6Gs14uLIg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB8050 On Wed, May 27, 2026 at 09:32:49AM +0000, 孙毅 (Yi Sun) wrote: ... > > On the previous round I suggested the implementation based on > > find_last_bit(), so that you don't need to create an outline > > _find_last_bit_from() function and expose it. Can you compare the > > implementations for the performance impact. If they are on par, > > I'd stick to one re-using the existing code. > > Using the new API find_last_bit_from() is about 4% faster than using find_last_bit(). > This is likely because find_last_bit() requires additional offset calculations. > as shown below: > index_bits_align = round_down(index, BITS_PER_LONG); > index_idx = index / BITS_PER_LONG; > i = find_last_bit(map + index_idx, end - index_bits_align) + index_bits_align; > > > So which approach do you prefer? Using the new API or not? > I will send patch v4 (including testing code) based on your suggestion. I'd prefer you to send the new iteration with the proper test that I can run, then collect feedback from testers and then make a decision. Thanks, Yury