Skip to content

Commit

Permalink
perf test: Add new test cases for the branch counter feature
Browse files Browse the repository at this point in the history
Enhance the test case for the branch counter feature.

Now, the test verifies:

- The new filter can be successfully applied on the supported platforms.
- The counter value can be outputted via the perf report -D
- The counter value and the abbr name can be outputted via the
  perf script (New)

Reviewed-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: https://lore.kernel.org/r/20240813160208.2493643-10-kan.liang@linux.intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
  • Loading branch information
Kan Liang authored and acmel committed Aug 14, 2024
1 parent 6f9d8d1 commit dab5b6c
Showing 1 changed file with 12 additions and 5 deletions.
17 changes: 12 additions & 5 deletions tools/perf/tests/shell/record.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ testprog="perf test -w thloop"
cpu_pmu_dir="/sys/bus/event_source/devices/cpu*"
br_cntr_file="/caps/branch_counter_nr"
br_cntr_output="branch stack counters"
br_cntr_script_output="br_cntr: A"

cleanup() {
rm -rf "${perfdata}"
Expand Down Expand Up @@ -165,7 +166,7 @@ test_workload() {
}

test_branch_counter() {
echo "Basic branch counter test"
echo "Branch counter test"
# Check if the branch counter feature is supported
for dir in $cpu_pmu_dir
do
Expand All @@ -175,19 +176,25 @@ test_branch_counter() {
return
fi
done
if ! perf record -o "${perfdata}" -j any,counter ${testprog} 2> /dev/null
if ! perf record -o "${perfdata}" -e "{branches:p,instructions}" -j any,counter ${testprog} 2> /dev/null
then
echo "Basic branch counter test [Failed record]"
echo "Branch counter record test [Failed record]"
err=1
return
fi
if ! perf report -i "${perfdata}" -D -q | grep -q "$br_cntr_output"
then
echo "Basic branch record test [Failed missing output]"
echo "Branch counter report test [Failed missing output]"
err=1
return
fi
echo "Basic branch counter test [Success]"
if ! perf script -i "${perfdata}" -F +brstackinsn,+brcntr | grep -q "$br_cntr_script_output"
then
echo " Branch counter script test [Failed missing output]"
err=1
return
fi
echo "Branch counter test [Success]"
}

test_per_thread
Expand Down

0 comments on commit dab5b6c

Please sign in to comment.