All of lore.kernel.org
 help / color / mirror / Atom feed
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


             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.