Messages in this thread | | | Date | Mon, 13 Nov 2023 11:11:43 -0500 | Subject | Re: [PATCH V2] perf test: Basic branch counter support | From | "Liang, Kan" <> |
| |
Hi Ian,
On 2023-11-07 1:40 p.m., kan.liang@linux.intel.com wrote: > From: Kan Liang <kan.liang@linux.intel.com> > > Add a basic test for the branch counter feature. > > The test verifies that > - The new filter can be successfully applied on the supported platforms. > - The counter value can be outputted via the perf report -D > > Signed-off-by: Kan Liang <kan.liang@linux.intel.com> > --- > > Changes since V2: > - Update the output msg for the skipped case (Ian) >
Any comments for this patch?
Thanks, Kan
> tools/perf/tests/shell/record.sh | 30 ++++++++++++++++++++++++++++++ > 1 file changed, 30 insertions(+) > > diff --git a/tools/perf/tests/shell/record.sh b/tools/perf/tests/shell/record.sh > index 4fbc74805d52..cc207a16ae24 100755 > --- a/tools/perf/tests/shell/record.sh > +++ b/tools/perf/tests/shell/record.sh > @@ -11,6 +11,9 @@ err=0 > perfdata=$(mktemp /tmp/__perf_test.perf.data.XXXXX) > testprog="perf test -w thloop" > testsym="test_loop" > +cpu_pmu_dir="/sys/bus/event_source/devices/cpu*" > +br_cntr_file="/caps/branch_counter_nr" > +br_cntr_output="branch stack counters" > > cleanup() { > rm -rf "${perfdata}" > @@ -154,10 +157,37 @@ test_workload() { > echo "Basic target workload test [Success]" > } > > +test_branch_counter() { > + echo "Basic branch counter test" > + # Check if the branch counter feature is supported > + for dir in $cpu_pmu_dir > + do > + if [ ! -e "$dir$br_cntr_file" ] > + then > + echo "branch counter feature not supported on all core PMUs ($dir) [Skipped]" > + return > + fi > + done > + if ! perf record -o "${perfdata}" -j any,counter ${testprog} 2> /dev/null > + then > + echo "Basic branch counter 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]" > + err=1 > + return > + fi > + echo "Basic branch counter test [Success]" > +} > + > test_per_thread > test_register_capture > test_system_wide > test_workload > +test_branch_counter > > cleanup > exit $err
| |