Received: by 2002:ab2:6857:0:b0:1ef:ffd0:ce49 with SMTP id l23csp97082lqp; Wed, 20 Mar 2024 15:02:30 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVxDGtcOOK0+8Iic5O2Dz+SA/RxinTiW1MbS6zgr+9NpcjkoiHZH0247C9AlOEcO1uyTWxzWLyrkl7ZSz1h7lOejlc4Z2xLqWsU9NLnAA== X-Google-Smtp-Source: AGHT+IEnYDpklr/qYCxvLqh1wN5jvQT8PnS4vL92A1Gx+LrOiOwaBcvxyxEFmL3EUIbZ4SenU0To X-Received: by 2002:a50:a692:0:b0:568:7be0:50a4 with SMTP id e18-20020a50a692000000b005687be050a4mr146910edc.11.1710972149809; Wed, 20 Mar 2024 15:02:29 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1710972149; cv=pass; d=google.com; s=arc-20160816; b=rXBBuz4bIkV9qygTCe7Q7i7sJ1iy/nY+NfDsR223/egqAQgvakKvgUHzNVdejWjdp9 qb5UobsxoRKBeArUUJjeMH7VPKvQgmXmlPikVqSQrdLjmRDp/Tg8h68VYixzlCyJJLNL H/bYK4q4qELqTRrtSJVuZDheJaihonCH+ySlFEbrEJIYk5sdAiM9kOTxbDkJhFVR9YBA wQJmuDKD/PlEcy011EXcRRvXZ+6WyaVV3JLYxUpGJ29wuv7wPaNtmlBNhyEIXpZauL1k 0FYZpng4d4W0j1iyPGRobDM/BYYDcvELK2Bw4I2GC3lHK/BIW+Ev/0bp4L7FB/93/RAi 8wbQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=sS8wc5N06+O63hK3jDZunVFBSBF3m9X5f2cGi7eyqww=; fh=awR/Ao0sYqya8+6rih9InlS/1T0Zv8cBEDFLKuNZClQ=; b=BdF+i+5zavksJnyTxXoZwbh1RHorMrBII4yIjjBAGFJUYg7buO5fRHUAX0SlEFkFcf XOObQ7Aa3KaMsRx3ihCC8qmJd7Ab97bhrGEDlUAnURxhB+7XvwIxosMYz/6zdw3n/xoJ HlXimjlBM7VnwQgsl7xa3L0w4YEwQ/W4emk2N6UybOp0cb50AgUx3S3842MyMRPVPyKF ibBXWvTlT/rO9wTESU4exnS6mf1sjw7isnmvZrpt2jdTTU8sy7Emho3IyP2dFMPZFpqf kmRrqFWk1DylaxxvQeAV8FWroFQkFM8cxa6OPX1Q9GGI/0YCfCVA+fMug0xR1491CTkU rbbw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@toblux-com.20230601.gappssmtp.com header.s=20230601 header.b=z8dn7H6U; arc=pass (i=1 dkim=pass dkdomain=toblux-com.20230601.gappssmtp.com); spf=pass (google.com: domain of linux-kernel+bounces-109450-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-109450-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id et3-20020a056402378300b0056ba7f9d2fesi1340629edb.146.2024.03.20.15.02.29 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Mar 2024 15:02:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-109450-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@toblux-com.20230601.gappssmtp.com header.s=20230601 header.b=z8dn7H6U; arc=pass (i=1 dkim=pass dkdomain=toblux-com.20230601.gappssmtp.com); spf=pass (google.com: domain of linux-kernel+bounces-109450-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-109450-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 85F861F2261F for ; Wed, 20 Mar 2024 22:02:29 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 5008B85C59; Wed, 20 Mar 2024 22:02:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=toblux-com.20230601.gappssmtp.com header.i=@toblux-com.20230601.gappssmtp.com header.b="z8dn7H6U" Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com [209.85.218.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AFDC585C43 for ; Wed, 20 Mar 2024 22:02:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.44 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710972142; cv=none; b=NBjyWj8ebonxS1hnq0oMmvWbrfUGsQpcwigqkWabJFRPSwQXXJkPEFmkkC/HOmhsvOgS0TqdXJgv+nb8dLaBbTDjsFF+zHktpqxIxV057W4wh57ybE+IgAlRXDFLm8lNzjqPBlaYyjqjsj8UgrcEoz7wBkSUgJs0/BTgY+Zq3CE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710972142; c=relaxed/simple; bh=wFy2ocajmQzl18h5nhYUNHbZaRyAmobqSM9VgYVPkIo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=q0/f1mXC8mgEA59j/IUJ1cduMCYqud0KvQt4fMfRvlgsb/IWCOHp5AivEY81usExDex3BLlHlNnMr4BWTjylvTa2qdZRcrD9f5XlvIKVUcH13xCL4UtcvuoAJyMzTxo35tCi+wc3j47d09NH/LElxmA489Bam37rRuVlC3ozO6w= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=toblux.com; spf=none smtp.mailfrom=toblux.com; dkim=pass (2048-bit key) header.d=toblux-com.20230601.gappssmtp.com header.i=@toblux-com.20230601.gappssmtp.com header.b=z8dn7H6U; arc=none smtp.client-ip=209.85.218.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=toblux.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=toblux.com Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-a3fb8b0b7acso35068566b.2 for ; Wed, 20 Mar 2024 15:02:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=toblux-com.20230601.gappssmtp.com; s=20230601; t=1710972139; x=1711576939; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=sS8wc5N06+O63hK3jDZunVFBSBF3m9X5f2cGi7eyqww=; b=z8dn7H6U4n+xs6Oo06q11x+n9JklLRd0+ztcXhgq5d/v+gS4h6uZrrLTJOiMSsYQdo dOCz9FqOlyvp1D2+ysRfsvzvTaOlhwkybUzS1NDckuCuADkq27OW8xWl7jFS5xTPoCce vH/do+uEK1+2ZoCIMiMTe0PdAsJVzNjl0FcfD0A/KUyhdbmW81hRq6JCRUU5sU7bqdKq 0Jzzq6bX21eFfodM5IgcG9v9Hwi+44V9l27+iICqxXp2N4cX00HsOtn800xZfWZPh1Fj PyknQFuWzI4zhRS2FOYwtfEColZRyUzf4kH8VDR8T4NOCdv5VKDmFoCThhCAW0ercLly Zhew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710972139; x=1711576939; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sS8wc5N06+O63hK3jDZunVFBSBF3m9X5f2cGi7eyqww=; b=nOux7FKVV5eZLUMgMk+V/LHZST+EzNfRlO5KaTPhWWQloNI2Uui3A1GzUcgYLL8M6T xFAe1nDffC2r0SzEnnOzyNw27VjJy6bKSKEaJA1/85tfSpbR0N8Nvrox5zEi4DtCPu6W K7Sc8JihnPBHxDJ5e9AjseF3HRwlrz7XwIrCsaRpcNlS7GqZd3F/Z6ozJyl/UjbeD60A +9aB8jv7GOnf2wBzvi7ppqZyBOJ12togKNK0Ms0P5k65UgOBZ0gFNn/qRMDaazjgrt/I HDBSKyieTyujYf1tmHnTRpossFP80xaaM72T9MjQI63Kytut7NDAj1sEAE57HoL9Bvur RpPg== X-Gm-Message-State: AOJu0Yy435B8F1LhqsFDuOWlnhgfyh8WyYxPXj5CF7wMv+/QZ1baT2ev WrKeY1poY6XA8b4mGhFiEXk2WlJ+qYBohMJd5wM/+mUoGG97dkW0HtQ+Iues29g= X-Received: by 2002:a17:906:3e4e:b0:a46:df38:6d4b with SMTP id t14-20020a1709063e4e00b00a46df386d4bmr95646eji.66.1710972138794; Wed, 20 Mar 2024 15:02:18 -0700 (PDT) Received: from fedora.fritz.box (aftr-82-135-80-212.dynamic.mnet-online.de. [82.135.80.212]) by smtp.gmail.com with ESMTPSA id an14-20020a17090656ce00b00a465b72a1f3sm5239507ejc.85.2024.03.20.15.02.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Mar 2024 15:02:18 -0700 (PDT) From: Thorsten Blum To: thorsten.blum@toblux.com Cc: linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, mathieu.desnoyers@efficios.com, mhiramat@kernel.org, rostedt@goodmis.org Subject: [PATCH v2] tracing: Improve performance by using do_div() Date: Wed, 20 Mar 2024 22:55:41 +0100 Message-ID: <20240320215537.71034-5-thorsten.blum@toblux.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <4E5A47C3-E9DD-4FD2-BDC4-BED67EF791F2@toblux.com> References: <4E5A47C3-E9DD-4FD2-BDC4-BED67EF791F2@toblux.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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); Signed-off-by: Thorsten Blum --- Changes in v2: - Update patch with latest changes from master - Update patch title and description --- 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.44.0