[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7c118b40-3b31-46d0-8967-e7c35f6a4868@linaro.org>
Date: Wed, 11 Dec 2024 09:50:22 +0000
From: James Clark <james.clark@...aro.org>
To: Ian Rogers <irogers@...gle.com>
Cc: Peter Zijlstra <peterz@...radead.org>, Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Namhyung Kim <namhyung@...nel.org>, Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Jiri Olsa <jolsa@...nel.org>, Adrian Hunter <adrian.hunter@...el.com>,
Kan Liang <kan.liang@...ux.intel.com>, linux-perf-users@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v1] perf test stat: Avoid hybrid assumption when
virtualized
On 11/12/2024 6:10 am, Ian Rogers wrote:
> The cycles event will fallback to task-clock in the hybrid test when
> running virtualized. Change the test to not fail for this.
>
> Fixes: a6b8bb2addd0 ("perf test: Add a test for default perf stat command")
> Signed-off-by: Ian Rogers <irogers@...gle.com>
> ---
> tools/perf/tests/shell/stat.sh | 10 +++++++---
> 1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/tools/perf/tests/shell/stat.sh b/tools/perf/tests/shell/stat.sh
> index 5a2ca2bcf94d..60cea07350e1 100755
> --- a/tools/perf/tests/shell/stat.sh
> +++ b/tools/perf/tests/shell/stat.sh
> @@ -165,9 +165,13 @@ test_hybrid() {
>
> if [ "$pmus" -ne "$cycles_events" ]
> then
> - echo "hybrid test [Found $pmus PMUs but $cycles_events cycles events. Failed]"
> - err=1
> - return
> + # If virtualized the software task-clock event will be used.
> + if ! perf stat -- true 2>&1 | grep -q "task-clock"
> + then
> + echo "hybrid test [Found $pmus PMUs but $cycles_events cycles events. Failed]"
> + err=1
> + return
> + fi
> fi
> echo "hybrid test [Success]"
> }
Hi Ian,
Isn't the distinction between task-clock and cpu-clock whether the event
is per-cpu or not?
$ perf stat -C 1 -- true 2>&1 | grep cpu-clock
1.49 msec cpu-clock # 0.917 CPUs utilized
$ perf stat -- true 2>&1 | grep task-clock
0.30 msec task-clock # 0.366 CPUs utilized
The test uses per-task mode so this change makes it always pass, even
when the number of cycles events doesn't match the PMUs.
Thanks
James
Powered by blists - more mailing lists