All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/2] Improve the performance of bitmap_find_next_zero_area_off()
@ 2026-06-01  9:42 Yi Sun
  2026-06-01  9:42 ` [PATCH v4 1/2] lib: bitmap: reduce the number of goto again in bitmap_find_next_zero_area_off() Yi Sun
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Yi Sun @ 2026-06-01  9:42 UTC (permalink / raw)
  To: ynorov, yury.norov
  Cc: yi.sun, mnazarewicz, akpm, mina86, akinobu.mita, linux-kernel

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="y", Size: 1941 bytes --]

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@unisoc.com
- Based on Michał Nazarewicz's suggestion,
code optimization was performed on PATCH v1.

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: 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


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2026-06-09  2:09 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-01  9:42 [PATCH v4 0/2] Improve the performance of bitmap_find_next_zero_area_off() Yi Sun
2026-06-01  9:42 ` [PATCH v4 1/2] lib: bitmap: reduce the number of goto again in bitmap_find_next_zero_area_off() Yi Sun
2026-06-08 22:15   ` Yury Norov
2026-06-01  9:42 ` [PATCH v4 2/2] lib/bitmap: add tests for bitmap_find_next_zero_area_off() Yi Sun
2026-06-08 19:14   ` Yury Norov
2026-06-08 19:24     ` Yury Norov
2026-06-08  7:44 ` 答复: [PATCH v4 0/2] Improve the performance of bitmap_find_next_zero_area_off() 孙毅 (Yi Sun)
2026-06-08 21:54 ` Yury Norov
2026-06-09  1:06   ` Yury Norov
2026-06-09  2:09     ` John Stultz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.