All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Namhyung Kim <namhyung@kernel.org>
Cc: Ian Rogers <irogers@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
	bpf@vger.kernel.org
Subject: Re: [PATCH v1 2/2] perf bpf filter: Support pre-5.16 kernels
Date: Mon, 10 Apr 2023 19:12:03 -0300	[thread overview]
Message-ID: <ZDSJs1M06Wo2U6kp@kernel.org> (raw)
In-Reply-To: <CAM9d7cgfkx6VEazYpJEFZ=OTvJL+875_kHShSET4qyN_t9ixkQ@mail.gmail.com>

Em Mon, Apr 10, 2023 at 08:34:34AM -0700, Namhyung Kim escreveu:
> On Fri, Apr 7, 2023 at 10:52 PM Ian Rogers <irogers@google.com> wrote:
> >
> > The mem_hops bits were added in 5.16 with no prior equivalent.
> >
> > Signed-off-by: Ian Rogers <irogers@google.com>
> 
> Acked-by: Namhyung Kim <namhyung@kernel.org>

Both applied, thanks,

- Arnaldo
 
> Thanks,
> Namhyung
> 
> 
> > ---
> >  tools/perf/util/bpf_skel/sample_filter.bpf.c | 28 ++++++++++++++++++--
> >  1 file changed, 26 insertions(+), 2 deletions(-)
> >
> > diff --git a/tools/perf/util/bpf_skel/sample_filter.bpf.c b/tools/perf/util/bpf_skel/sample_filter.bpf.c
> > index 57e3c67d6d37..cffe493af1ed 100644
> > --- a/tools/perf/util/bpf_skel/sample_filter.bpf.c
> > +++ b/tools/perf/util/bpf_skel/sample_filter.bpf.c
> > @@ -24,6 +24,24 @@ struct perf_sample_data___new {
> >         __u64 sample_flags;
> >  } __attribute__((preserve_access_index));
> >
> > +/* new kernel perf_mem_data_src definition */
> > +union perf_mem_data_src__new {
> > +       __u64 val;
> > +       struct {
> > +               __u64   mem_op:5,       /* type of opcode */
> > +                       mem_lvl:14,     /* memory hierarchy level */
> > +                       mem_snoop:5,    /* snoop mode */
> > +                       mem_lock:2,     /* lock instr */
> > +                       mem_dtlb:7,     /* tlb access */
> > +                       mem_lvl_num:4,  /* memory hierarchy level number */
> > +                       mem_remote:1,   /* remote */
> > +                       mem_snoopx:2,   /* snoop mode, ext */
> > +                       mem_blk:3,      /* access blocked */
> > +                       mem_hops:3,     /* hop level */
> > +                       mem_rsvd:18;
> > +       };
> > +};
> > +
> >  /* helper function to return the given perf sample data */
> >  static inline __u64 perf_get_sample(struct bpf_perf_event_data_kern *kctx,
> >                                     struct perf_bpf_filter_entry *entry)
> > @@ -89,8 +107,14 @@ static inline __u64 perf_get_sample(struct bpf_perf_event_data_kern *kctx,
> >                         return kctx->data->data_src.mem_dtlb;
> >                 if (entry->part == 7)
> >                         return kctx->data->data_src.mem_blk;
> > -               if (entry->part == 8)
> > -                       return kctx->data->data_src.mem_hops;
> > +               if (entry->part == 8) {
> > +                       union perf_mem_data_src__new *data = (void *)&kctx->data->data_src;
> > +
> > +                       if (bpf_core_field_exists(data->mem_hops))
> > +                               return data->mem_hops;
> > +
> > +                       return 0;
> > +               }
> >                 /* return the whole word */
> >                 return kctx->data->data_src.val;
> >         default:
> > --
> > 2.40.0.577.gac1e443424-goog
> >

-- 

- Arnaldo

  reply	other threads:[~2023-04-10 22:12 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-08  5:52 [PATCH v1 1/2] perf lock contention: Support pre-5.14 kernels Ian Rogers
2023-04-08  5:52 ` [PATCH v1 2/2] perf bpf filter: Support pre-5.16 kernels Ian Rogers
2023-04-10 15:34   ` Namhyung Kim
2023-04-10 22:12     ` Arnaldo Carvalho de Melo [this message]
2023-04-10 15:33 ` [PATCH v1 1/2] perf lock contention: Support pre-5.14 kernels 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=ZDSJs1M06Wo2U6kp@kernel.org \
    --to=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=bpf@vger.kernel.org \
    --cc=irogers@google.com \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@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.