From: Jiri Olsa <jolsa@redhat.com>
To: Ian Rogers <irogers@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Namhyung Kim <namhyung@kernel.org>,
linux-kernel@vger.kernel.org,
Stephane Eranian <eranian@google.com>
Subject: Re: [PATCH] perf stat: force error in fallback on :k events
Date: Tue, 14 Apr 2020 15:02:09 +0200 [thread overview]
Message-ID: <20200414130209.GD117177@krava> (raw)
In-Reply-To: <20200413235515.221467-1-irogers@google.com>
On Mon, Apr 13, 2020 at 04:55:15PM -0700, Ian Rogers wrote:
> From: Stephane Eranian <eranian@google.com>
>
> When it is not possible for a non-privilege perf command
> to monitor at the kernel level (:k), the fallback code forces
> a :u. That works if the event was previously monitoring both levels.
> But if the event was already constrained to kernel only, then it does
> not make sense to restrict it to user only.
> Given the code works by exclusion, a kernel only event would have:
> attr->exclude_user = 1
> The fallback code would add:
> attr->exclude_kernel = 1;
>
> In the end the end would not monitor in either the user level or kernel
> level. In other words, it would count nothing.
>
> An event programmed to monitor kernel only cannot be switched to user only
> without seriously warning the user.
>
> This patch forces an error in this case to make it clear the request
> cannot really be satisfied.
>
> Signed-off-by: Stephane Eranian <eranian@google.com>
> Reviewed-by: Ian Rogers <irogers@google.com>
> ---
> tools/perf/util/evsel.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
> index d23db6755f51..d1e8862b86ce 100644
> --- a/tools/perf/util/evsel.c
> +++ b/tools/perf/util/evsel.c
> @@ -2446,6 +2446,13 @@ bool perf_evsel__fallback(struct evsel *evsel, int err,
> char *new_name;
> const char *sep = ":";
>
> + if (evsel->core.attr.exclude_user) {
> + scnprintf(msg, msgsize,
> +"kernel.perf_event_paranoid=%d, event set to exclude user, so cannot also exclude kernel",
> + paranoid);
> + return false;
I'm not able to get this error printed, it seems to be
overwritten by perf_evsel__open_strerror call
please include perf example with the new output
thanks,
jirka
> + }
> +
> /* Is there already the separator in the name. */
> if (strchr(name, '/') ||
> strchr(name, ':'))
> --
> 2.26.0.110.g2183baf09c-goog
>
next prev parent reply other threads:[~2020-04-14 13:03 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-13 23:55 [PATCH] perf stat: force error in fallback on :k events Ian Rogers
2020-04-14 13:02 ` Jiri Olsa [this message]
2020-04-14 14:38 ` Ian Rogers
2020-04-14 15:12 ` Jiri Olsa
2020-04-14 16:21 ` Ian Rogers
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=20200414130209.GD117177@krava \
--to=jolsa@redhat.com \
--cc=acme@kernel.org \
--cc=alexander.shishkin@linux.intel.com \
--cc=eranian@google.com \
--cc=irogers@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.