答复: [PATCH v4 0/2] Improve the performance of bitmap_find_next_zero_area_off()

From: 孙毅 (Yi Sun)

Date: Mon Jun 08 2026 - 03:49:31 EST


Hi Yury,

Just a gentle ping.
Is there anything I can do?

> -----邮件原件-----
> 发件人: 孙毅 (Yi Sun) <Yi.Sun@xxxxxxxxxx>
> 发送时间: 2026年6月1日 17:43
> 收件人: ynorov@xxxxxxxxxx; yury.norov@xxxxxxxxx
> 抄送: 孙毅 (Yi Sun) <Yi.Sun@xxxxxxxxxx>; mnazarewicz@xxxxxxxxx;
> akpm@xxxxxxxxxxxxxxxxxxxx; mina86@xxxxxxxxxx; akinobu.mita@xxxxxxxxx;
> linux-kernel@xxxxxxxxxxxxxxx
> 主题: [PATCH v4 0/2] Improve the performance of
> bitmap_find_next_zero_area_off()
>
> Test code has been added to PATCH v2.
> No new APIs were introduced.
>
> Testing with the test code showed a performance improvement
> of approximately 70%.
>
> Test result(random):
> orig_ns orig_cnt orig_average new_ns
> new_cnt new_average ratio
> test1 1388885 1154 1203 462923
> 1308 353 70.7%
> test2 1393616 1324 1052 736193
> 1212 607 42.3%
> test3 1391693 1216 1144 735808
> 1260 583 49%
> test4 1393231 1275 1092 742731
> 1402 529 51.6%
> test5 1390731 1260 1103 737231
> 1274 578 47.6%
>
> Test result(sparse):
> orig_ns orig_cnt orig_average new_ns
> new_cnt new_average ratio
> test1 4496077 322477 13 2419462
> 322480 7 46.2%
> test2 7514731 322482 23 5785808
> 322476 17 26.1%
> test3 7490692 322493 23 7654423
> 322483 23 0%
> test4 7474500 322469 23 7628230
> 322483 23 0%
> test5 7452692 322481 23 7663116
> 322478 23 0%
>
> Test result explanation:
> Test both random and sparse five times.
> @orig_ns/cnt: Original version results.
> @new_ns/cnt: Optimized test results.
> @orig_average = orig_ns / orig_cnt
> @new_average = new_ns / new_cnt
> @ratio = (orig_average - new_average) / orig_average
>
> The test results show that the optimized version
> improved performance in almost every test.
>
> ---
> v3: https://lore.kernel.org/all/20260514090607.231387-1-yi.sun@xxxxxxxxxx
> - Based on Michał Nazarewicz's suggestion,
> code optimization was performed on PATCH v1.
>
> v2: https://lore.kernel.org/all/20260514035644.4118050-1-yi.sun@xxxxxxxxxx
> - Do not introduce find_last_bit_from().
>
> v1: https://lore.kernel.org/all/20260512040659.2992142-1-yi.sun@xxxxxxxxxx
>
>
> Yi Sun (2):
> lib: bitmap: reduce the number of goto again in
> bitmap_find_next_zero_area_off()
> lib/bitmap: add tests for bitmap_find_next_zero_area_off()
>
> lib/bitmap.c | 10 +++++++---
> lib/find_bit_benchmark.c | 17 +++++++++++++++++
> lib/test_bitmap.c | 28 ++++++++++++++++++++++++++++
> 3 files changed, 52 insertions(+), 3 deletions(-)
>
> --
> 2.34.1