All of lore.kernel.org
 help / color / mirror / Atom feed
From: Namhyung Kim <namhyung@kernel.org>
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>,
	Jiri Olsa <jolsa@kernel.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Kan Liang <kan.liang@linux.intel.com>,
	James Clark <james.clark@linaro.org>,
	Dapeng Mi <dapeng1.mi@linux.intel.com>,
	Thomas Richter <tmricht@linux.ibm.com>,
	Veronika Molnarova <vmolnaro@redhat.com>,
	Chun-Tse Shao <ctshao@google.com>, Leo Yan <leo.yan@arm.com>,
	Hao Ge <gehao@kylinos.cn>, Howard Chu <howardchu95@gmail.com>,
	Weilin Wang <weilin.wang@intel.com>,
	Levi Yun <yeoreum.yun@arm.com>,
	"Dr. David Alan Gilbert" <linux@treblig.org>,
	Gautam Menghani <gautam@linux.ibm.com>,
	Tengda Wu <wutengda@huaweicloud.com>,
	linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
	bpf@vger.kernel.org
Subject: Re: [PATCH v4 03/10] perf parse-events: Add parse_uid_filter helper
Date: Fri, 6 Jun 2025 13:01:18 -0700	[thread overview]
Message-ID: <aENJDpD7QhqURQzz@google.com> (raw)
In-Reply-To: <CAP-5=fWDaJwC6uzkbmcT1tD1jOuPT8rNEaAuO+MSq6X8BH7shw@mail.gmail.com>

On Fri, Jun 06, 2025 at 11:13:10AM -0700, Ian Rogers wrote:
> On Fri, Jun 6, 2025 at 10:41 AM Namhyung Kim <namhyung@kernel.org> wrote:
> >
> > Hi Ian,
> >
> > On Wed, Jun 04, 2025 at 10:45:37AM -0700, Ian Rogers wrote:
> > > Add parse_uid_filter filter as a helper to parse_filter, that
> > > constructs a uid filter string. As uid filters don't work with
> > > tracepoint filters, add a is_possible_tp_filter function so the
> > > tracepoint filter isn't attempted for tracepoint evsels.
> > >
> > > Signed-off-by: Ian Rogers <irogers@google.com>
> > > ---
> > >  tools/perf/util/parse-events.c | 33 ++++++++++++++++++++++++++++++++-
> > >  tools/perf/util/parse-events.h |  1 +
> > >  2 files changed, 33 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c
> > > index d96adf23dc94..7f34e602fc08 100644
> > > --- a/tools/perf/util/parse-events.c
> > > +++ b/tools/perf/util/parse-events.c
> > > @@ -25,6 +25,7 @@
> > >  #include "pmu.h"
> > >  #include "pmus.h"
> > >  #include "asm/bug.h"
> > > +#include "ui/ui.h"
> > >  #include "util/parse-branch-options.h"
> > >  #include "util/evsel_config.h"
> > >  #include "util/event.h"
> > > @@ -2561,6 +2562,12 @@ foreach_evsel_in_last_glob(struct evlist *evlist,
> > >       return 0;
> > >  }
> > >
> > > +/* Will a tracepoint filter work for str or should a BPF filter be used? */
> > > +static bool is_possible_tp_filter(const char *str)
> > > +{
> > > +     return strstr(str, "uid") == NULL;
> > > +}
> > > +
> > >  static int set_filter(struct evsel *evsel, const void *arg)
> > >  {
> > >       const char *str = arg;
> > > @@ -2573,7 +2580,7 @@ static int set_filter(struct evsel *evsel, const void *arg)
> > >               return -1;
> > >       }
> > >
> > > -     if (evsel->core.attr.type == PERF_TYPE_TRACEPOINT) {
> > > +     if (evsel->core.attr.type == PERF_TYPE_TRACEPOINT && is_possible_tp_filter(str)) {
> > >               if (evsel__append_tp_filter(evsel, str) < 0) {
> > >                       fprintf(stderr,
> > >                               "not enough memory to hold filter string\n");
> > > @@ -2609,6 +2616,30 @@ int parse_filter(const struct option *opt, const char *str,
> > >                                         (const void *)str);
> > >  }
> > >
> > > +int parse_uid_filter(struct evlist *evlist, uid_t uid)
> >
> > It failed to build on alpine 3.18.
> >
> > util/parse-events.h:48:45: error: unknown type name 'uid_t'
> >    48 | int parse_uid_filter(struct evlist *evlist, uid_t uid);
> >       |                                             ^~~~~
> >
> > I'll add this.
> 
> Thanks Namhyung! I see this in tmp.perf-tools-next so I'll assume
> there's no need for a v5.

Right, I've updated the branch with the fix.

Thanks,
Namhyung


  reply	other threads:[~2025-06-06 20:01 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-04 17:45 [PATCH v4 00/10] Move uid filtering to BPF filters Ian Rogers
2025-06-04 17:45 ` [PATCH v4 01/10] perf parse-events filter: Use evsel__find_pmu Ian Rogers
2025-06-04 17:45 ` [PATCH v4 02/10] perf target: Separate parse_uid into its own function Ian Rogers
2025-06-04 17:45 ` [PATCH v4 03/10] perf parse-events: Add parse_uid_filter helper Ian Rogers
2025-06-06 17:41   ` Namhyung Kim
2025-06-06 18:13     ` Ian Rogers
2025-06-06 20:01       ` Namhyung Kim [this message]
2025-06-04 17:45 ` [PATCH v4 04/10] perf record: Switch user option to use BPF filter Ian Rogers
2025-06-04 17:45 ` [PATCH v4 05/10] perf tests record: Add basic uid filtering test Ian Rogers
2025-06-04 17:45 ` [PATCH v4 06/10] perf top: Switch user option to use BPF filter Ian Rogers
2025-06-04 17:45 ` [PATCH v4 07/10] perf trace: " Ian Rogers
2025-06-04 17:45 ` [PATCH v4 08/10] perf bench evlist-open-close: " Ian Rogers
2025-06-04 17:45 ` [PATCH v4 09/10] perf target: Remove uid from target Ian Rogers
2025-06-04 17:45 ` [PATCH v4 10/10] perf thread_map: Remove uid options Ian Rogers
2025-06-06  2:44 ` [PATCH v4 00/10] Move uid filtering to BPF filters Namhyung Kim
2025-06-10 18:38 ` Namhyung Kim

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=aENJDpD7QhqURQzz@google.com \
    --to=namhyung@kernel.org \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=bpf@vger.kernel.org \
    --cc=ctshao@google.com \
    --cc=dapeng1.mi@linux.intel.com \
    --cc=gautam@linux.ibm.com \
    --cc=gehao@kylinos.cn \
    --cc=howardchu95@gmail.com \
    --cc=irogers@google.com \
    --cc=james.clark@linaro.org \
    --cc=jolsa@kernel.org \
    --cc=kan.liang@linux.intel.com \
    --cc=leo.yan@arm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=linux@treblig.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=tmricht@linux.ibm.com \
    --cc=vmolnaro@redhat.com \
    --cc=weilin.wang@intel.com \
    --cc=wutengda@huaweicloud.com \
    --cc=yeoreum.yun@arm.com \
    /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.