From: Steven Rostedt <rostedt@goodmis.org>
To: linux-kernel@vger.kernel.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
Andrew Morton <akpm@linux-foundation.org>,
Thorsten Blum <thorsten.blum@toblux.com>
Subject: [for-next][PATCH 3/7] tracing: Improve benchmark test performance by using do_div()
Date: Tue, 14 May 2024 12:14:41 -0400 [thread overview]
Message-ID: <20240514161522.320473028@goodmis.org> (raw)
In-Reply-To: 20240514161438.134250861@goodmis.org
From: Thorsten Blum <thorsten.blum@toblux.com>
Partially revert commit d6cb38e10810 ("tracing: Use div64_u64() instead
of do_div()") and use do_div() again to utilize its faster 64-by-32
division compared to the 64-by-64 division done by div64_u64().
Explicitly cast the divisor bm_cnt to u32 to prevent a Coccinelle
warning reported by do_div.cocci. The warning was removed with commit
d6cb38e10810 ("tracing: Use div64_u64() instead of do_div()").
Using the faster 64-by-32 division and casting bm_cnt to u32 is safe
because we return early from trace_do_benchmark() if bm_cnt > UINT_MAX.
This approach is already used twice in trace_do_benchmark() when
calculating the standard deviation:
do_div(stddev, (u32)bm_cnt);
do_div(stddev, (u32)bm_cnt - 1);
Link: https://lore.kernel.org/linux-trace-kernel/20240329160229.4874-2-thorsten.blum@toblux.com
Signed-off-by: Thorsten Blum <thorsten.blum@toblux.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
kernel/trace/trace_benchmark.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/trace/trace_benchmark.c b/kernel/trace/trace_benchmark.c
index 811b08439406..e19c32f2a938 100644
--- a/kernel/trace/trace_benchmark.c
+++ b/kernel/trace/trace_benchmark.c
@@ -104,7 +104,7 @@ static void trace_do_benchmark(void)
stddev = 0;
delta = bm_total;
- delta = div64_u64(delta, bm_cnt);
+ do_div(delta, (u32)bm_cnt);
avg = delta;
if (stddev > 0) {
--
2.43.0
next prev parent reply other threads:[~2024-05-14 16:14 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-14 16:14 [for-next][PATCH 0/7] tracing: Various clean ups and fixes Steven Rostedt
2024-05-14 16:14 ` [for-next][PATCH 1/7] ftrace: Replaces simple_strtoul in ftrace Steven Rostedt
2024-05-14 16:14 ` [for-next][PATCH 2/7] ftrace: Use asynchronous grace period for register_ftrace_direct() Steven Rostedt
2024-05-14 16:14 ` Steven Rostedt [this message]
2024-05-14 16:14 ` [for-next][PATCH 4/7] ftrace: Remove unused list ftrace_direct_funcs Steven Rostedt
2024-05-14 16:14 ` [for-next][PATCH 5/7] ftrace: Remove unused global ftrace_direct_func_count Steven Rostedt
2024-05-14 16:14 ` [for-next][PATCH 6/7] ftrace: Fix possible use-after-free issue in ftrace_location() Steven Rostedt
2024-05-14 16:14 ` [for-next][PATCH 7/7] eventfs: Fix a possible null pointer dereference in eventfs_find_events() Steven Rostedt
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=20240514161522.320473028@goodmis.org \
--to=rostedt@goodmis.org \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mathieu.desnoyers@efficios.com \
--cc=mhiramat@kernel.org \
--cc=thorsten.blum@toblux.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.