From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from DM5PR21CU001.outbound.protection.outlook.com (mail-centralusazon11011051.outbound.protection.outlook.com [52.101.62.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 4AF99314B77 for ; Thu, 14 May 2026 15:54:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.62.51 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778774084; cv=fail; b=HWk9YbOzcbt1t4chzmVn6+IHRzDmh9wzI6yEoB0obmw7qalzrRQUBiF57WZjNB7Vbje6IbgnB0DD31HiEytvNhAbEMN1Nn3nOt1SZer+meg0ADCL7jhEiMASexw8/rIhD7kJh/uVqBYJjueKqWkVVn5NNn2djnb3YGAIPhfkU3s= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778774084; c=relaxed/simple; bh=5+qPLgkhzoXOeXAYLDY5gPO0Qpk3RhUWcabG245VBE4=; h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type: Content-Disposition:In-Reply-To:MIME-Version; b=gAqzZiwNmXFlqY07TTXKVjGr4wUABmXlsjTVH3Ip329/VEED4gPbKTYwQxxbqOe9hnrzWUb/JLRTniCKbEmHmSsvKj37mVCXWmKE8RkxLcU1jxoGwNJz003uF6pfwl0J7Qjr2Qf8XKibryMZlNPTvwlF/BC7s8BaRpWuKaXdZ58= 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=qBH6YVg3; arc=fail smtp.client-ip=52.101.62.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="qBH6YVg3" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BgF3ZtbIuj1RxmS0a/TCzyrtR50mhC9H5rK02FQofBiet0vFqT2exsX9Qrtp3Zl60L2FhIsTCUcyukNaVtPywpaMRElVl/6BAA3Ygi0lHOCaCvsMtqC9P1VkljkQIiJW3kf/2hsTZIWBVBlziFMuqQEjaQUYDv2GX+guikjphG6ULxJFed0SAHL0jPLVylg353UX8Am2Zwzt/WWaHvXz3lzv9iO7I6Q5vlhdl+iICv0X2G+xrcNimT12zx6S7p4qg2PkaXMxxULkZVo13+UhcK0ouWNveg3BVG2VFUJTSlHlfgHHhr7waC2jOaeT4JHGj2SfCanB8wT9Srq+CC6zlQ== 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=mHV/jqRZkLcbNbSw6sJfCnenGmMvYNtz3FFh9bSIcXI=; b=AGINCMwmKe2WtiUOhkNUsNVZKimENPF3OCBuLWnumYmH6bGNuDHHGYbV+B4q+qVP4E0pUIwvZxxIcb5bQQBWCIcjtIFJp4Q+mSkruTlgSZWj1fBZJ4bH57kcyy/mxFs8djKn0eYhYfPoStdBb8+6qeMWHmaZkV+Bw/xlD97vYxcH6ebWF+1G1tlux8mheyZdgadFWJsJ1/5KA0gZpijeQ22vHIxXQXtMmUWzyasz9sGvgl4M8YlYieZTIiKmx5s3jBi39rJ9OtPqArc/f6VrHgtMe4W5+cs5ZTp4mklTE4a69Lw1FrZEwk43Yovz7+vvfV5ZR6V3flm0zZ3rDbdKhw== 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=mHV/jqRZkLcbNbSw6sJfCnenGmMvYNtz3FFh9bSIcXI=; b=qBH6YVg3a45hzXl0uPft4xjT3HxzsYMlVeLNSoZhwx1J19+cftEwU7OMDwmHiXw6/YetPPzjqtrYrBhqWb6U564HTBLj3HFvnsiKQTucNB55L3QgdLeD0BkaE7UHhGEboIUcXQK8tmZBt6bB+kVCqzwQLIqjdm8L0gfTs8WUK9Z3ETVHGEch+KknvJusJsRj92fFcY642KXVW7llGKUOoMxiBvnWD0vfzRknALAe7DjCvGyNJp1Pck+QrFcJIa61XRwmAQlS9V1b/3SqhFTNcYxXXoMyNZ+nGnKFT8CrtU9m92OAElc5dek8X9Dukius9bOUd5znbqHlNW1f4RlZCA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from CY8PR12MB8300.namprd12.prod.outlook.com (2603:10b6:930:7d::16) by MW3PR12MB4473.namprd12.prod.outlook.com (2603:10b6:303:56::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.25.18; Thu, 14 May 2026 15:54:35 +0000 Received: from CY8PR12MB8300.namprd12.prod.outlook.com ([fe80::ce75:8187:3ac3:c5de]) by CY8PR12MB8300.namprd12.prod.outlook.com ([fe80::ce75:8187:3ac3:c5de%3]) with mapi id 15.20.9913.009; Thu, 14 May 2026 15:54:35 +0000 Date: Thu, 14 May 2026 11:54:32 -0400 From: Yury Norov To: Yi Sun Cc: yury.norov@gmail.com, mnazarewicz@gmail.com, akpm@linux-foundation.org, mina86@mina86.com, akinobu.mita@gmail.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3 0/2] Improve the performance of bitmap_find_next_zero_area_off() Message-ID: References: <20260514090607.231387-1-yi.sun@unisoc.com> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20260514090607.231387-1-yi.sun@unisoc.com> X-ClientProxiedBy: SJ0PR05CA0093.namprd05.prod.outlook.com (2603:10b6:a03:334::8) To CY8PR12MB8300.namprd12.prod.outlook.com (2603:10b6:930:7d::16) 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: CY8PR12MB8300:EE_|MW3PR12MB4473:EE_ X-MS-Office365-Filtering-Correlation-Id: 72ba25cc-c7de-403c-cc86-08deb1d11836 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|10070799003|366016|56012099003|18002099003|22082099003|11063799003; X-Microsoft-Antispam-Message-Info: wTwH5w2nvumMgzgKwpy9A3geqYJBqfE6JaebWWJeibVukJY0DG/L1saL7Th5APaJUR88B6Go2n7O6Hz2oVz0L7Ne62ZyCifpD1ibniatJdqkgiVymRnmhVqa5eDjUep9r0LZqI/NW3p/RZSWVxaJq5iAkzLFwt8q6MXdCBljQV08CouOyr6ytHSwDeGlXk8tKbZAQCkbC68zzTrnnadymAketlQL2WzXLilTYlbaIhQWx/wnfbYvwhve0UGyrJSpZ4ECUIXOPvMcxolC914UvMBQ4SCMMAYTdDXUms9BnQUABdX9iIWqwvosv5J/c1yEzc9D8JuxJI+Gg0yIlfRzYGA4Idw1bOvRmgB2M2N+kmggUY8raGWc42v0WMm1XOGL+RBuTT/hUFwme/apeEgPQTzMVXY01uUvHIGD6ZCwRNAEHYsE8EpqnYVO7PffI4ZNWwIIgkYGp58iE2+QxP758BeFGQiei5CIlzrgVLHZN1VNEs84+sCLHFgMFL13Ht1Bkj9+PfixRXs5/EOApuLD+hQZpmhbwJm2EXD68/2Egyo3fh/4E52zig6Z/QL5OqYsfnZRcc4ox/Da5AeheI5JizHfKKJSonxizjO7adcvj1YWCEbMH7Gr2KOkDipGBOxx8Wc01GBQaXbja/Kg/QapYRdBHs2XJIJ+GgrlL0yqSMmqysfkPn1vHi21Q4MxLP5GnRe2QMP8J5PYjhra3ET7SA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY8PR12MB8300.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(10070799003)(366016)(56012099003)(18002099003)(22082099003)(11063799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UGpCMFM2ODNsdUpCdm1kcnI4TnRQejhYVXE3ZXdVd3NrbTEvL24rV09kT2Zx?= =?utf-8?B?NDFaV3N3ZFgvRitpbUI0TVRCQmZBZC9WcTE0dS92ZDl1Z012eVExV0xlVmpw?= =?utf-8?B?MWthaFNyZXdpZ1pwWC9uR2R2YVh2Ynl5ZDE3WENhTEZlTjBKT3lFQVE5RHpj?= =?utf-8?B?NG56SVpRcEFHdnY0Y0xzVkwzWE5hY0d2ZnNYOS9QQk5zQVlNay9qaW1KRGNZ?= =?utf-8?B?WWhlMk5nS1dHVnY2cyt3NjN4aFU5cngyNXRVY3pHNERuenhEalhKbTNhb1lG?= =?utf-8?B?ellJUXpUWVkvY1QvMTBENjJBb1BKRjhMcnJnbXdkaHVYekpQb1R4NUQ2UFVB?= =?utf-8?B?UmZuUHE3aEwvMkFqakI0V3ZLK0ZNU1dHTURIdzRLOHYwWStnQll4UWFuT3lE?= =?utf-8?B?QjZucC9nVDViSUZHWWx2aS85bjVaZlc5WEhsVVR5MVFHZ0F3RGErdjlDV25W?= =?utf-8?B?Nk5BQzBTWHpoa0NBeUJIWkUzWUNhazRtcElQMjc0c3JhU1pOblNiRnQ5MUtV?= =?utf-8?B?NmpQVEJzd2lVVG1jRTkwY29UaW5ZcFpuK2tuOTY1cUhZY0lHUXBYY2d0Z29S?= =?utf-8?B?S1hVdHpmek45OCtUeE96b0ZPWE1OK1hGb0hhQWs5YVIwQmIrc1gvMnNwQkc0?= =?utf-8?B?TFcwSFBKTGhPZmZ0Mk5lSU1mSUovSVhHWDM1MWQwZ3ROZldOM3puT01HRFJY?= =?utf-8?B?R3Jpb3V4UVlhQjkyV2FCOW1GSHBRZkRWMURLSmNLdVdxdmZmcVZpelhUbThi?= =?utf-8?B?TXBmU0RBdFFzM0J5TjQ3T0tBQ05UV245ekhOMWMrTS82MzdkSmJERS9CSjl4?= =?utf-8?B?d3lDd29FNWZTVDdDYzkvdTB2Wk9YbmdoaVpXcTBMUEFGWFNENXUwdlRPajIv?= =?utf-8?B?R0xtdkNnaHcyN1pubjhmWjlLczFnM3VRTXVWeDFlN0RvM2xkNHA3a2FhOHVD?= =?utf-8?B?SnNSYUhWcTBCSERPdVliRWlhdTdzb0tUdmtOblc2eVJEVkJ0OFgrb2xtMWlj?= =?utf-8?B?a0QxZXUyQ3JJMHg2OTlrem1PdWVySFdlTjVtdlhMdXFqcmVSUDNGekVseVU4?= =?utf-8?B?alJzU05TNlhPRjgyVXJDSm9hSThiL0t6VUlsU0MzVUxrOEJzc2Vab3BBcFAv?= =?utf-8?B?c2QzWlZ5eTYvK0FMMEtBd0dadGhKOC9GMkVNYno5Snp3VzlGU0h1cTlKSm9M?= =?utf-8?B?ZVN2RFpJQk9ObUdVVFJMMlNjc2RZaUpPQ2FMTGl2SzVrdXpZL2ZpZGpEZGxE?= =?utf-8?B?a1VFN0FYelBJd29hM1I0ZHYrVE40RWExci9RMEVEQVE5WDRLYndzSlA0OEE5?= =?utf-8?B?dVMyeWZxV0YyUWR0bmczajRRRkgxL0svdWY5WWFubkJYL29Jc2gwNm1NaG1C?= =?utf-8?B?VzdVODMzT0dHdGxvaXltNWcrZEs4QnFqNDNkYUh1MExzRVpxNGpzTWlKTzRE?= =?utf-8?B?aWREYXFaNHRYL3p2d0JsbEVUblc4cm1HcFd3K1RHWndlU2JpdFZ4YllubDZr?= =?utf-8?B?TmRmN3BMdUJtUUszbSt5TzdGQ2t1NEo5cHpjY2FzakJ6b2VjNXpRVWl5NlIv?= =?utf-8?B?QTIvbHFYMHBJYi9oV1c3SVkwUy9IckxSTHZ4cVRaNVk5d29FUCtXYnRXMXps?= =?utf-8?B?NGZsTHVsTy9UbGdGU1QwemRES2ZKRDdpR0xJOWhsQ3pPZWdHTlhEZHplQkE2?= =?utf-8?B?a1FMQ1V1YzE3VUJhRm1ubmswVVc0Y1NNMkZ3QXhaZHFrcmtDWWhqUWplandv?= =?utf-8?B?eGd3dWp4cy9QaDUwaUJyanZqODdWVi9sQ0tEUzQxU2pzeituR0dBYU1FVHp4?= =?utf-8?B?K0k1MHMrNVNvVEZuZmlXZEVyaDAyQ3dySjU0cUUvMkRLNzU4VDlYaEtHZG94?= =?utf-8?B?K2lJOXdZUE10VGpMZmc0bFZ6TXp3ZzZhOHJhSDY5T1ZmMS9GWkVlZVVWM1VC?= =?utf-8?B?OEFlUU9xL2JKKzRXai9JTkMzdEY0dGw4VURSMVhxenJtbENlSDl0RCtSd3FJ?= =?utf-8?B?RWV4WTQzK3JZL2pPWGpqWFc1dUkvNkJVMkRUb1dic1lNYnFXOVl5aUhDTDYz?= =?utf-8?B?amJBb3pxaGR1VGxlWC96MTZNaGhSVFQ2WFllSGROa3p4bVl6UldaSXVZalFY?= =?utf-8?B?WlhQSFBKV2JxMFpzaHBiWjQ4d0FrU2ZJVVpiK0FMOGM5b2FCV3licC9HdUpQ?= =?utf-8?B?Q1dmWEpGM0xHYVpQZUpJWUlQWURiMUlEMlVuNXQ2TW1Pc21NTUpYVmNZcitI?= =?utf-8?B?a2lRWGFVNVlWNlZiM2xVTEpJd3JrMU02dUoxMXl6dGpvVmJHQmgwS0d0WUFK?= =?utf-8?B?WExNd1lsWENsczFOeGwya215M3RWMDZHSnlySTRiTkhXdVYvdVovZVJYMGNw?= =?utf-8?Q?Kf/BUqlTvfuqecvl0anQFx2e2aA+WP1z/KTT4?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 72ba25cc-c7de-403c-cc86-08deb1d11836 X-MS-Exchange-CrossTenant-AuthSource: CY8PR12MB8300.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 May 2026 15:54:34.8850 (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: PJquniEIto/NwEWLednMvV17IYVaVQVSimdFINUPiRUBZ8pbJQkk/i5fj01soq9UiEf0JL1yLNOqbtRZMix/vw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4473 You submitted v2 and v3 within the same day. This is not how things are working. So, should I ignore v2 now? Please allow your reviewers at least a few days before submitting any follow ups. On Thu, May 14, 2026 at 05:06:05PM +0800, Yi Sun wrote: > Based on MichaƂ Nazarewicz's suggestion, > code optimization was performed on PATCH v1. > > Replacing find_next_bit() with find_last_bit_from() > can improve performance by an average of 50%. > The test results can be viewed in PATCH v1. > > > This section compares the performance of PATCH v2 and PATCH v3. > Test results show that PATCH v3 performs slightly better > than PATCH v2 in most cases. > When the number of 'goto again' loops is large, > PATCH v3's advantage becomes more apparent. > > > Test result: > cnt again_cnt v2_time(ns) v3_time(ns) time_ratio > test1 8 9 230 242 -5.2% > test2 8 1 75 76 around 0% > > test1 8 329 4452 4242 4.7% > test2 8 1 46 47 around 0% > > test1 32 10414 139015 132700 4.5% > test2 32 1 47 47 around 0% > > test1 128 2570 34163 32711 4.3% > test2 128 1 46 46 around 0% > > test1 1024 321 4293 4098 4.5% > test2 1024 6 126 122 3.2% > > test1 4096 81 1087 1046 3.8% > test2 4096 92 1656 1570 5.2% > > Test result explanation: > @test1: The bitmap is filled with random numbers, > so the bitmap is very messy. > @test2: Sparse bitmap. > > @cnt: The expected number of consecutive clear bits. > > @again_cnt: The number of 'goto again'. > > @v2_time(ns): The total time consumed by > bitmap_find_next_zero_area_off() when > using PATCH v2. > @v3_time(ns): The total time consumed by > bitmap_find_next_zero_area_off() when > using PATCH v3. > @time_ratio = (v2_time - v3_time) / v2_time. In v1 discussion, I asked you to turn your testing code into the addition to lib/find_bit_benchmark. Any reason to ignore that? Whatever you end up, it should not look how it looks now. I want to be able to compile the find_bit_benchmark, then run it before applying your series, and after that, and just compare 2 numbers for dense and 2 numbers for sparse bitmaps. Refer to e3783c805db29c8 as an example of how the tests look. > --- > v2: https://lore.kernel.org/all/20260514035644.4118050-1-yi.sun@unisoc.com > - Do not introduce find_last_bit_from(). > > v1: https://lore.kernel.org/all/20260512040659.2992142-1-yi.sun@unisoc.com > > > Yi Sun (2): > lib: bitmap: add find_last_bit_from() and _find_last_bit_from() > lib: bitmap: reduce the number of goto again in > bitmap_find_next_zero_area_off() > > include/linux/find.h | 33 +++++++++++++++++++++++++++++++++ > lib/bitmap.c | 2 +- > lib/find_bit.c | 22 ++++++++++++++++++++++ > 3 files changed, 56 insertions(+), 1 deletion(-) > > -- > 2.34.1