From: Kuan-Wei Chiu <visitorckw@gmail.com>
To: akpm@linux-foundation.org, yury.norov@gmail.com
Cc: linux@rasmusvillemoes.dk, n26122115@gs.ncku.edu.tw,
jserv@ccns.ncku.edu.tw, linux-kernel@vger.kernel.org,
Kuan-Wei Chiu <visitorckw@gmail.com>
Subject: [PATCH v5 0/2] bitops: Optimize fns() for improved performance
Date: Thu, 2 May 2024 17:24:41 +0800 [thread overview]
Message-ID: <20240502092443.6845-1-visitorckw@gmail.com> (raw)
Hello,
This patch series optimizes the fns() function by avoiding repeated
calls to __ffs(). Additionally, tests for fns() have been added in
lib/test_bitops.c.
Changes in v5:
- Reduce testing iterations from 1000000 to 10000 to decrease testing
time.
- Move 'buf' inside the function.
- Mark 'buf' as __initdata.
- Assign the results of fns() to a volatile variable to prevent
compiler optimization.
- Remove the iteration count from the benchmark result.
- Update benchmark results in the commit message.
Changes in v4:
- Correct get_random_long() -> get_random_bytes() in the commit
message.
Changes in v3:
- Move the benchmark test for fns() to lib/test_bitops.c.
- Exclude the overhead of random number generation from the benchmark
result.
- Change the output to print only a total gross instead of each n in
the benchmark result.
- Update the commit message in the second patch.
Changes in v2:
- Add benchmark test for fns() in lib/find_bit_benchmark.c.
- Change the loop in fns() by counting down from n to 0.
- Add find_bit benchmark result for find_nth_bit in commit message.
Link to v4: https://lkml.kernel.org/20240501132047.14536-1-visitorckw@gmail.com
Link to v3: https://lkml.kernel.org/20240501071647.10228-1-visitorckw@gmail.com
Link to v2: https://lkml.kernel.org/20240430054912.124237-1-visitorckw@gmail.com
Link to v1: https://lkml.kernel.org/20240426035152.956702-1-visitorckw@gmail.com
Kuan-Wei Chiu (2):
lib/test_bitops: Add benchmark test for fns()
bitops: Optimize fns() for improved performance
include/linux/bitops.h | 12 +++---------
lib/test_bitops.c | 22 ++++++++++++++++++++++
2 files changed, 25 insertions(+), 9 deletions(-)
--
2.34.1
next reply other threads:[~2024-05-02 9:24 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-02 9:24 Kuan-Wei Chiu [this message]
2024-05-02 9:24 ` [PATCH v5 1/2] lib/test_bitops: Add benchmark test for fns() Kuan-Wei Chiu
2024-05-03 0:49 ` kernel test robot
2024-05-03 1:34 ` Kuan-Wei Chiu
2024-05-03 4:17 ` Nathan Chancellor
2024-05-03 7:31 ` Kuan-Wei Chiu
2024-05-03 7:38 ` Kuan-Wei Chiu
2024-05-03 15:54 ` Nathan Chancellor
2024-05-03 21:55 ` Yury Norov
2024-05-03 22:23 ` Nathan Chancellor
2024-05-05 10:42 ` Miguel Ojeda
2024-05-06 17:52 ` Nathan Chancellor
2024-05-06 18:08 ` Miguel Ojeda
2024-05-06 22:47 ` Yury Norov
2024-05-07 14:19 ` Nathan Chancellor
2024-05-05 10:42 ` Miguel Ojeda
2024-05-06 17:56 ` Nathan Chancellor
2024-05-02 9:24 ` [PATCH v5 2/2] bitops: Optimize fns() for improved performance Kuan-Wei Chiu
2024-05-02 14:55 ` [PATCH v5 0/2] " Yury Norov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240502092443.6845-1-visitorckw@gmail.com \
--to=visitorckw@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=jserv@ccns.ncku.edu.tw \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@rasmusvillemoes.dk \
--cc=n26122115@gs.ncku.edu.tw \
--cc=yury.norov@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.