[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAP-5=fXzXYD1FE_0k45hWzHsKtnra2WOR-K+u30eTECP3i9KOQ@mail.gmail.com>
Date: Mon, 19 Aug 2024 08:20:43 -0700
From: Ian Rogers <irogers@...gle.com>
To: Namhyung Kim <namhyung@...nel.org>
Cc: Arnaldo Carvalho de Melo <acme@...nel.org>, Kan Liang <kan.liang@...ux.intel.com>,
Jiri Olsa <jolsa@...nel.org>, Adrian Hunter <adrian.hunter@...el.com>,
Peter Zijlstra <peterz@...radead.org>, Ingo Molnar <mingo@...nel.org>,
LKML <linux-kernel@...r.kernel.org>, linux-perf-users@...r.kernel.org
Subject: Re: [PATCH 2/2] perf test: Add cgroup sampling test
On Sun, Aug 18, 2024 at 2:29 PM Namhyung Kim <namhyung@...nel.org> wrote:
>
> Add it to the record.sh shell test to verify if it tracks cgroup
> information correctly. It records with --all-cgroups option can check
> if it has PERF_RECORD_CGROUP and the names are not "unknown".
>
> $ sudo ./perf test -vv 95
> 95: perf record tests:
> --- start ---
> test child forked, pid 2871922
> 169c90-169cd0 g test_loop
> perf does have symbol 'test_loop'
> Basic --per-thread mode test
> Basic --per-thread mode test [Success]
> Register capture test
> Register capture test [Success]
> Basic --system-wide mode test
> Basic --system-wide mode test [Success]
> Basic target workload test
> Basic target workload test [Success]
> Branch counter test
> branch counter feature not supported on all core PMUs (/sys/bus/event_source/devices/cpu) [Skipped]
> Cgroup sampling test
> Cgroup sampling test [Success]
> ---- end(0) ----
> 95: perf record tests : Ok
>
> Signed-off-by: Namhyung Kim <namhyung@...nel.org>
Reviewed-by: Ian Rogers <irogers@...gle.com>
Thanks,
Ian
> ---
> tools/perf/tests/shell/record.sh | 23 +++++++++++++++++++++++
> 1 file changed, 23 insertions(+)
>
> diff --git a/tools/perf/tests/shell/record.sh b/tools/perf/tests/shell/record.sh
> index 36883b03169f..048078ee2eca 100755
> --- a/tools/perf/tests/shell/record.sh
> +++ b/tools/perf/tests/shell/record.sh
> @@ -206,6 +206,28 @@ test_branch_counter() {
> echo "Branch counter test [Success]"
> }
>
> +test_cgroup() {
> + echo "Cgroup sampling test"
> + if ! perf record -aB --synth=cgroup --all-cgroups -o "${perfdata}" ${testprog} 2> /dev/null
> + then
> + echo "Cgroup sampling [Skipped not supported]"
> + return
> + fi
> + if ! perf report -i "${perfdata}" -D | grep -q "CGROUP"
> + then
> + echo "Cgroup sampling [Failed missing output]"
> + err=1
> + return
> + fi
> + if ! perf script -i "${perfdata}" -F cgroup | grep -q -v "unknown"
> + then
> + echo "Cgroup sampling [Failed cannot resolve cgroup names]"
> + err=1
> + return
> + fi
> + echo "Cgroup sampling test [Success]"
> +}
> +
> # raise the limit of file descriptors to minimum
> if [[ $default_fd_limit -lt $min_fd_limit ]]; then
> ulimit -Sn $min_fd_limit
> @@ -216,6 +238,7 @@ test_register_capture
> test_system_wide
> test_workload
> test_branch_counter
> +test_cgroup
>
> # restore the default value
> ulimit -Sn $default_fd_limit
> --
> 2.46.0.184.g6999bdac58-goog
>
Powered by blists - more mailing lists