From nobody Wed Feb 11 04:17:42 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D1BF417F370 for ; Tue, 14 May 2024 16:14:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715703297; cv=none; b=T5Dpd29kIOQM4zH5Sy1/IIF1vV/q3/pPcch87fN9CmqkZtgrv6RPTRpF/CtXZZHq/xEy0j9ZFY68GgxHrLh+uR6o1GFE4xo17jnuzLkqHR+tPrTVVB3ho1dnfjZacGbvNiur+LYaqm4aIatkPzKtYmXoCi0Q43F+yNZgQc4f1Fk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715703297; c=relaxed/simple; bh=plML4HWJuSi8kL6RJveAZUXjgIqw99uTWZgZMDW1oE4=; h=Message-ID:Date:From:To:Cc:Subject:References:MIME-Version: Content-Type; b=Elbi2tUSCYfgKAkPxwaimyH48NTm28fmu0l2P6CiUnsKgwaEqGEvRKJpB+rODZR+/QQnFQ2X03HIw9LzhzSpLyRuzkjAz66fGrqyjKkw3zgPl5WsXpPSrUY8LIFafOpxfAmKrf2Tx0VFdpqc9ZXACx9yv16a9mVpFbzVJ6NAYa0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id B2DC3C4AF0F; Tue, 14 May 2024 16:14:57 +0000 (UTC) Received: from rostedt by gandalf with local (Exim 4.97) (envelope-from ) id 1s6uoE-00000003t3y-1uf4; Tue, 14 May 2024 12:15:22 -0400 Message-ID: <20240514161522.320473028@goodmis.org> User-Agent: quilt/0.68 Date: Tue, 14 May 2024 12:14:41 -0400 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Mathieu Desnoyers , Andrew Morton , Thorsten Blum Subject: [for-next][PATCH 3/7] tracing: Improve benchmark test performance by using do_div() References: <20240514161438.134250861@goodmis.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Thorsten Blum 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-thor= sten.blum@toblux.com Signed-off-by: Thorsten Blum Signed-off-by: Steven Rostedt (Google) --- 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 =3D 0; =20 delta =3D bm_total; - delta =3D div64_u64(delta, bm_cnt); + do_div(delta, (u32)bm_cnt); avg =3D delta; =20 if (stddev > 0) { --=20 2.43.0