From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (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 CA7CC342514 for ; Tue, 9 Jun 2026 14:40:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781016035; cv=none; b=HpFr8WvtMGUv0OZEqbWhGhTF0i5epON8Ye6lbMir0JALIj/U40OQbfPaLhFzPtn6Ae/kGPCU2s8VNEVNdWaTbUBy6yjCMzzIc21R2T2ngLcaP9QvzhCg2voaFbJdFGDJvWDudK3sNwSinLiI68Hnm0akTbeR5CvMH0qWMVSmMZQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781016035; c=relaxed/simple; bh=2n7NJ22D4CS+P0i5+qEOUx8FKIjlEa2CLZ8182tHs0s=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=D/9kdAPyiITUO4UJfNidrynMwcT805jgTJSOHvm/EQYpCXl51K60EEesIDmzc2Yox/bHAZATFXVViEHoHmCt/YQvXCl97UDshv7VfwBV8j5vha2XZTPS6X73aVzwS5383jqurac0PT9lnzeVupz7Rjr2jAZuae0QGRYx1keBoV0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=aIifUc6k; arc=none smtp.client-ip=209.85.128.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="aIifUc6k" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-490be03d47bso48592155e9.0 for ; Tue, 09 Jun 2026 07:40:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1781016032; x=1781620832; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=K+VAHnkL1slPIQmaFlO30PHwtm50BBgiqOE4SfSQTuk=; b=aIifUc6kaUNBSxSrgxySOrH/W1/li3YHbljjE2f46UntvYNq3bGv+0qxjxi1A4kEip 6mOexVW/oNbTpqzDwmh3/aA9iYS31pWmaVesTpWPvilcnjlIdYIU9bqNurKAQpW1D2Us 7us/S9WRtGGw0L8eX05QDFOvfcQK7ifZ6jTnsx2PztrHFrmCTdpxd7X9Jjij5/0PFTWH zXJk3uMpSTMwBCV+zXq2WrMxwQ9qSqeeCTrd6k1+mG+GYkSYmtL9cABXzy+i38XiUaBs cfZwp3GFou/VIItCUnvXyVy+QnGw42Vjx0Fq7+bx9pI51rOMilj871NpPOlpK9O24NDD tzeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781016032; x=1781620832; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=K+VAHnkL1slPIQmaFlO30PHwtm50BBgiqOE4SfSQTuk=; b=itP9wxPZse6rJV0EZgTG2tyvTH7TQo/xMEdTigp4V1fHYNsXOGHdG1b3pYAArgu+pb DGDNlAeXDz94ZTZc2f1ms2hv8ilPK+n+czJwYcCvKrltwmx4QhI5wfD31m0OsSP1otvR yAxsnmXLuyRH9BOWcIY9r1ZY8WCJJnHIV1+CpqphuGi/C7egt8f3DdMlS77yQWNW8w7K engOcs5yaW8x7fxgPWD3WjAyUT4JBVC/x08kn5WBIE0nK8d7rMLrMfnXseJi5EBZtLfA RkHJYRI3HzEuSNxygm5r+geV+iAbGhxkLN26iZtrxEHpVy+bQu+L3yX75uUAGnh6Dy9j p00A== X-Forwarded-Encrypted: i=1; AFNElJ+GI7coLwlw0Pz7btErwU2GQaEq05oo6upmYg+Xn9ViFw6BdDgn3W03RnLTsLDKNmTSXohhyw7VWcE2/To=@vger.kernel.org X-Gm-Message-State: AOJu0Yxo8uDKh7+YBGDP/m0nkLB3usLFZ0IzmDEDU0onVe9gX5jXAf+R dJjf/5ks4giqU4rbVs10Qtk6PN4oAnPoSyAju8JQi/Dkrk+MWPSF6YCe9HWbIqKuZXE= X-Gm-Gg: Acq92OG1WBVqVtaMbAU8ZmuHLkeVgs9jBIIpk+F8BWSB8mhI9lF4bCy9Vl9kuhQ+ZNS asNnDVWV/hz1Z3Lhx0Cj0FtZEW2qLosP6Sy2CYKnua8IzjSFZcTkT26vhQmDd+BhT3HLm11m4oA G5ejIBJaPWnOBmFemCVwFQqeY7+zCUw5b68PRzTWkcS1yHC27zSAPjgXrNGej1NvBFf+EMe0+0p cRCVk/lLDK6DcURMQ7Ji2USkZ5yKK1SRy4TH1QZT8+LD5Wo26mJ7qLmmsMBPNitvtsvF+dKI40U 5k9nMasjiVpzuimM4Lt+6BrKZ+JO8SCmDwgVcxzXp/7ACKhVAfOrviOL89pLSZ5+9OQVG+EEwmD Yopkve2VooFlHsgi9KJ4vI2zK/2vqq/n+BtWF0TMS6t3XgatH39J/LdYpvFufMegNF0Hcl7PVfS iChYJbkeN3Hleyfl1Va0CONYZUEbZd2NUfqmHmbg9JvMo= X-Received: by 2002:a05:600c:3e0a:b0:490:45bb:8dd9 with SMTP id 5b1f17b1804b1-490c259a33emr315867955e9.8.1781016031985; Tue, 09 Jun 2026 07:40:31 -0700 (PDT) Received: from ho-tower-lan.lan ([185.48.77.170]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-490bc3c1149sm428411935e9.4.2026.06.09.07.40.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Jun 2026 07:40:31 -0700 (PDT) From: James Clark Date: Tue, 09 Jun 2026 15:40:11 +0100 Subject: [PATCH v5 06/19] perf test cs-etm: Replace unroll loop thread with deterministic decode test Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260609-james-cs-context-tracking-fix-v5-6-d53a7d096a19@linaro.org> References: <20260609-james-cs-context-tracking-fix-v5-0-d53a7d096a19@linaro.org> In-Reply-To: <20260609-james-cs-context-tracking-fix-v5-0-d53a7d096a19@linaro.org> To: Suzuki K Poulose , Mike Leach , Leo Yan , Arnaldo Carvalho de Melo , Namhyung Kim , Jiri Olsa , Ian Rogers , Amir Ayupov , Jonathan Corbet , Shuah Khan , Paschalis Mpeis Cc: coresight@lists.linaro.org, linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, Arnaldo Carvalho de Melo , linux-doc@vger.kernel.org, James Clark X-Mailer: b4 0.14.0 Testing a long sequence without branches seems like it would be better as a decoder unit test, and this test doesn't test decoding either, so it's not clear what bugs this is trying to catch. The new deterministic workload has somewhat long sequences when built unoptimized, and we can always increase them later if we want to. But now we test that decoding always gives the same result for the same sequence of code which we've never had before. Signed-off-by: James Clark --- tools/perf/tests/shell/coresight/deterministic.sh | 72 ++++++++++++++++++++++ .../tests/shell/coresight/unroll_loop_thread_10.sh | 22 ------- 2 files changed, 72 insertions(+), 22 deletions(-) diff --git a/tools/perf/tests/shell/coresight/deterministic.sh b/tools/perf/tests/shell/coresight/deterministic.sh new file mode 100755 index 000000000000..75d4973056f0 --- /dev/null +++ b/tools/perf/tests/shell/coresight/deterministic.sh @@ -0,0 +1,72 @@ +#!/bin/bash -e +# CoreSight deterministic workload decode (exclusive) + +# SPDX-License-Identifier: GPL-2.0 + +# If CoreSight is not available, skip the test +perf list pmu | grep -q cs_etm || exit 2 + +tmpdir=$(mktemp -d /tmp/__perf_test.coresight_deterministic.XXXXX) + +cleanup() { + rm -rf "${tmpdir}" + trap - EXIT TERM INT +} + +trap_cleanup() { + cleanup + exit 1 +} +trap trap_cleanup EXIT TERM INT + +cf="$tmpdir/ctl" +af="$tmpdir/ack" +mkfifo "$cf" "$af" + +# Start disabled and use the control FIFO to only record the workload and not +# startup. +perf record -o "$tmpdir/data" -e cs_etm//u -D -1 --control fifo:"$cf","$af" -- \ + perf test --record-ctl fifo:"$cf","$af" -w deterministic > /dev/null 2>&1 + +perf script -i "$tmpdir/data" --itrace=i1i -F ip,srcline | \ + grep "deterministic.c" | uniq > "$tmpdir/script" 2>/dev/null + + +# Remove brace lines and call sites as they may not be hit or may have +# extra hits after returning, depending on the compiler. +sed -i \ + -e '/deterministic.c:8$/d' \ + -e '/deterministic.c:12$/d' \ + -e '/deterministic.c:15$/d' \ + -e '/deterministic.c:19$/d' \ + -e '/deterministic.c:23$/d' \ + -e '/deterministic.c:28$/d' \ + -e '/deterministic.c:34$/d' \ + -e '/deterministic.c:36$/d' \ + -e '/deterministic.c:37$/d' \ + "$tmpdir/script" + +cat > "$tmpdir/expected" << EOF + deterministic.c:24 + deterministic.c:25 + deterministic.c:26 + deterministic.c:9 + deterministic.c:10 + deterministic.c:11 + deterministic.c:30 + deterministic.c:31 + deterministic.c:32 + deterministic.c:16 + deterministic.c:17 + deterministic.c:18 +EOF + +if ! diff -q "$tmpdir/script" "$tmpdir/expected"; then + echo "FAIL: line numbers don't match expected: " + head -n 100 "$tmpdir/script" + cleanup + exit 1 +fi + +cleanup +exit 0 diff --git a/tools/perf/tests/shell/coresight/unroll_loop_thread_10.sh b/tools/perf/tests/shell/coresight/unroll_loop_thread_10.sh deleted file mode 100755 index cb3e97a0a89f..000000000000 --- a/tools/perf/tests/shell/coresight/unroll_loop_thread_10.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash -e -# CoreSight / Unroll Loop Thread 10 (exclusive) - -# SPDX-License-Identifier: GPL-2.0 -# Carsten Haitzler , 2021 - -TEST="unroll_loop_thread" - -# shellcheck source=../lib/coresight.sh -. "$(dirname $0)"/../lib/coresight.sh - -ARGS="10" -DATV="10" -# shellcheck disable=SC2153 -DATA="$DATD/perf-$TEST-$DATV.data" - -perf record $PERFRECOPT -o "$DATA" "$BIN" $ARGS - -perf_dump_aux_verify "$DATA" 10 10 10 - -err=$? -exit $err -- 2.34.1