[PATCH 1/2] tools/perf/tests: perf all metrics test fails when perf_event access is restricted

Athira Rajeev atrajeev at linux.vnet.ibm.com
Tue Jul 4 15:04:16 AEST 2023



> On 15-Jun-2023, at 1:08 PM, Athira Rajeev <atrajeev at 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!


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 <atrajeev at 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
> 



More information about the Linuxppc-dev mailing list