diff mbox series

tracing: Use div64_u64() instead of do_div()

Message ID 20240225164507.232942-2-thorsten.blum@toblux.com (mailing list archive)
State Accepted
Commit d6cb38e10810743addf8cac0b277861d614de1e9
Headers show
Series tracing: Use div64_u64() instead of do_div() | expand

Commit Message

Thorsten Blum Feb. 25, 2024, 4:45 p.m. UTC
Fixes Coccinelle/coccicheck warnings reported by do_div.cocci.

Compared to do_div(), div64_u64() does not implicitly cast the divisor and
does not unnecessarily calculate the remainder.

Signed-off-by: Thorsten Blum <thorsten.blum@toblux.com>
---
 kernel/trace/trace_benchmark.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

Comments

Masami Hiramatsu (Google) Feb. 25, 2024, 10:21 p.m. UTC | #1
On Sun, 25 Feb 2024 17:45:08 +0100
Thorsten Blum <thorsten.blum@toblux.com> wrote:

> Fixes Coccinelle/coccicheck warnings reported by do_div.cocci.
> 
> Compared to do_div(), div64_u64() does not implicitly cast the divisor and
> does not unnecessarily calculate the remainder.
> 

Looks good to me.

Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>

Thanks!

> Signed-off-by: Thorsten Blum <thorsten.blum@toblux.com>
> ---
>  kernel/trace/trace_benchmark.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/kernel/trace/trace_benchmark.c b/kernel/trace/trace_benchmark.c
> index 54d5fa35c90a..811b08439406 100644
> --- a/kernel/trace/trace_benchmark.c
> +++ b/kernel/trace/trace_benchmark.c
> @@ -92,7 +92,6 @@ static void trace_do_benchmark(void)
>  	bm_total += delta;
>  	bm_totalsq += delta * delta;
>  
> -
>  	if (bm_cnt > 1) {
>  		/*
>  		 * Apply Welford's method to calculate standard deviation:
> @@ -105,7 +104,7 @@ static void trace_do_benchmark(void)
>  		stddev = 0;
>  
>  	delta = bm_total;
> -	do_div(delta, bm_cnt);
> +	delta = div64_u64(delta, bm_cnt);
>  	avg = delta;
>  
>  	if (stddev > 0) {
> @@ -127,7 +126,7 @@ static void trace_do_benchmark(void)
>  			seed = stddev;
>  			if (!last_seed)
>  				break;
> -			do_div(seed, last_seed);
> +			seed = div64_u64(seed, last_seed);
>  			seed += last_seed;
>  			do_div(seed, 2);
>  		} while (i++ < 10 && last_seed != seed);
> -- 
> 2.43.2
>
diff mbox series

Patch

diff --git a/kernel/trace/trace_benchmark.c b/kernel/trace/trace_benchmark.c
index 54d5fa35c90a..811b08439406 100644
--- a/kernel/trace/trace_benchmark.c
+++ b/kernel/trace/trace_benchmark.c
@@ -92,7 +92,6 @@  static void trace_do_benchmark(void)
 	bm_total += delta;
 	bm_totalsq += delta * delta;
 
-
 	if (bm_cnt > 1) {
 		/*
 		 * Apply Welford's method to calculate standard deviation:
@@ -105,7 +104,7 @@  static void trace_do_benchmark(void)
 		stddev = 0;
 
 	delta = bm_total;
-	do_div(delta, bm_cnt);
+	delta = div64_u64(delta, bm_cnt);
 	avg = delta;
 
 	if (stddev > 0) {
@@ -127,7 +126,7 @@  static void trace_do_benchmark(void)
 			seed = stddev;
 			if (!last_seed)
 				break;
-			do_div(seed, last_seed);
+			seed = div64_u64(seed, last_seed);
 			seed += last_seed;
 			do_div(seed, 2);
 		} while (i++ < 10 && last_seed != seed);