linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Disha Goel <disgoel@linux.ibm.com>
To: Athira Rajeev <atrajeev@linux.vnet.ibm.com>,
	acme@kernel.org, jolsa@kernel.org, irogers@google.com,
	namhyung@kernel.org
Cc: linux-perf-users@vger.kernel.org, kjain@linux.ibm.com,
	maddy@linux.ibm.com, linuxppc-dev@lists.ozlabs.org,
	disgoel@linux.vnet.ibm.com
Subject: Re: [PATCH V2 2/2] tools/perf/tests: perf all metricgroups test fails when perf_event access is restricted
Date: Mon, 7 Aug 2023 20:14:39 +0530	[thread overview]
Message-ID: <3c0eb25b-a51b-edba-82ea-22e6d2b07978@linux.ibm.com> (raw)
In-Reply-To: <20230804050047.94240-2-atrajeev@linux.vnet.ibm.com>

[-- Attachment #1: Type: text/plain, Size: 2419 bytes --]

On 04/08/23 10:30 am, Athira Rajeev wrote:
> Perf all metricgroups test fails as below when perf_event access
> is restricted.
>
>      ./perf test -v "perf all metricgroups test"
>      Testing Memory_BW
>      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 metricgroups test: FAILED!
>
> Fix the testcase to skip those metric events which needs perf_event access
> explicitly. The exit code of the testcase is based on return code of
> the perf stat command ( enabled by set -e option ). Hence save the
> exit status in a variable and use that to decide success or fail for the
> testcase.
>
> Signed-off-by: Athira Rajeev<atrajeev@linux.vnet.ibm.com>

With this patch applied(on power) perf metricgroups test works correctly when perf_event access is restricted.

  # ./perf test "perf all metricgroups test"
  96: perf all metricgroups test                                      : Ok

Tested-by: Disha Goel<disgoel@linux.ibm.com>

> ---
> Changelog:
> v1 -> v2:
>   Changed the condition to use "echo" and "grep" so it works on
>   Posix shell as well.
>
>   tools/perf/tests/shell/stat_all_metricgroups.sh | 14 +++++++++++---
>   1 file changed, 11 insertions(+), 3 deletions(-)
>
> diff --git a/tools/perf/tests/shell/stat_all_metricgroups.sh b/tools/perf/tests/shell/stat_all_metricgroups.sh
> index cb35e488809a..eaa5e1172294 100755
> --- a/tools/perf/tests/shell/stat_all_metricgroups.sh
> +++ b/tools/perf/tests/shell/stat_all_metricgroups.sh
> @@ -2,11 +2,19 @@
>   # perf all metricgroups test
>   # SPDX-License-Identifier: GPL-2.0
>
> -set -e
> -
>   for m in $(perf list --raw-dump metricgroups); do
>     echo "Testing $m"
> -  perf stat -M "$m" -a true
> +  result=$(perf stat -M "$m" -a true 2>&1)
> +  rc=$?
> +  # Skip if there is no access to perf_events monitoring
> +  # Otherwise exit based on the return code of perf comamnd.
> +  if echo "$result" | grep -q "Access to performance monitoring and observability operations is limited";
> +  then
> +      continue
> +  else
> +      [ $rc -ne 0 ] && exit $rc
> +  fi
> +
>   done
>
>   exit 0

[-- Attachment #2: Type: text/html, Size: 2981 bytes --]

  reply	other threads:[~2023-08-07 22:45 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-04  5:00 [PATCH V2 1/2] tools/perf/tests: perf all metrics test fails when perf_event access is restricted Athira Rajeev
2023-08-04  5:00 ` [PATCH V2 2/2] tools/perf/tests: perf all metricgroups " Athira Rajeev
2023-08-07 14:44   ` Disha Goel [this message]
2023-08-07 21:19     ` Arnaldo Carvalho de Melo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3c0eb25b-a51b-edba-82ea-22e6d2b07978@linux.ibm.com \
    --to=disgoel@linux.ibm.com \
    --cc=acme@kernel.org \
    --cc=atrajeev@linux.vnet.ibm.com \
    --cc=disgoel@linux.vnet.ibm.com \
    --cc=irogers@google.com \
    --cc=jolsa@kernel.org \
    --cc=kjain@linux.ibm.com \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=maddy@linux.ibm.com \
    --cc=namhyung@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).