On Mon, Jul 3, 2023 at 10:04 PM Athira Rajeev <atraj...@linux.vnet.ibm.com> wrote: > > > > > On 15-Jun-2023, at 1:08 PM, Athira Rajeev <atraj...@linux.vnet.ibm.com> > > wrote: > > > > Perf all metrics test fails as below when perf_event access > > is restricted. > > > > ./perf test -v "perf all metrics test" > > Metric 'Memory_RD_BW_Chip' not printed in: > > Error: > > Access to performance monitoring and observability operations is limited. > > Enforced MAC policy settings (SELinux) can limit access to performance > > — > > access to performance monitoring and observability operations for > > processes > > without CAP_PERFMON, CAP_SYS_PTRACE or CAP_SYS_ADMIN Linux capability. > > — > > test child finished with -1 > > ---- end ---- > > perf all metrics test: FAILED!
In my system, it fails like below: $ ./perf test -v 101 101: perf all metrics test : --- start --- test child forked, pid 398458 Testing branch_misprediction_ratio Testing all_remote_links_outbound Metric 'all_remote_links_outbound' not printed in: Error: Invalid event (remote_outbound_data_controller_3:u) in per-thread mode, enable system wide with '-a'. Testing nps1_die_to_dram ... Thanks, Namhyung > > > Hi, > > Looking for review comments on this patch. > > Thanks > > > > The perf all metrics test picks the input events from > > "perf list --raw-dump metrics" and runs "perf stat -M "$m"" > > for each of the metrics in the list. It fails here for some > > of the metrics which needs access, since it collects system > > wide resource details/statistics. Fix the testcase to skip > > those metric events. > > > > Signed-off-by: Athira Rajeev <atraj...@linux.vnet.ibm.com> > > --- > > tools/perf/tests/shell/stat_all_metrics.sh | 4 +++- > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/tools/perf/tests/shell/stat_all_metrics.sh > > b/tools/perf/tests/shell/stat_all_metrics.sh > > index 54774525e18a..14b96484a359 100755 > > --- a/tools/perf/tests/shell/stat_all_metrics.sh > > +++ b/tools/perf/tests/shell/stat_all_metrics.sh > > @@ -6,7 +6,9 @@ err=0 > > for m in $(perf list --raw-dump metrics); do > > echo "Testing $m" > > result=$(perf stat -M "$m" true 2>&1) > > - if [[ "$result" =~ ${m:0:50} ]] || [[ "$result" =~ "<not supported>" ]] > > + # Skip if there is no access to perf_events monitoring > > + # and observability operations > > + if [[ "$result" =~ ${m:0:50} ]] || [[ "$result" =~ "<not supported>" ]] > > || [[ "$result" =~ "Access to performance monitoring and observability > > operations is limited" ]] > > then > > continue > > fi > > -- > > 2.31.1 > > >