Re: [PATCH] perf evsel: Fix missing inherit + sample read check

From: Namhyung Kim
Date: Fri Oct 11 2024 - 12:40:08 EST


On Fri, Oct 11, 2024 at 08:02:04AM +0000, Ben Gainey wrote:
> On Tue, 2024-10-08 at 23:22 -0700, Namhyung Kim wrote:
> > It should not clear the inherit bit simply because the kernel doesn't
> > support the sample read with it.  IOW the inherit bit should be kept
> > when the sample read is not requested for the event.
>
>
> Ah, sorry. Good spot.

Thanks for the review, can I translate it your Acked-by?

Thanks,
Namhyung

> >
> > Fixes: 90035d3cd876cb71 ("tools/perf: Allow inherit +
> > PERF_SAMPLE_READ when opening events")
> > Cc: Ben Gainey <ben.gainey@xxxxxxx>
> > Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
> > ---
> >  tools/perf/util/evsel.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
> > index d8fd493af01458b7..507f526ccbbcfc36 100644
> > --- a/tools/perf/util/evsel.c
> > +++ b/tools/perf/util/evsel.c
> > @@ -2112,7 +2112,8 @@ static int __evsel__prepare_open(struct evsel
> > *evsel, struct perf_cpu_map *cpus,
> >  
> >  static void evsel__disable_missing_features(struct evsel *evsel)
> >  {
> > - if (perf_missing_features.inherit_sample_read)
> > + if (perf_missing_features.inherit_sample_read && evsel-
> > >core.attr.inherit &&
> > +     (evsel->core.attr.sample_type & PERF_SAMPLE_READ))
> >   evsel->core.attr.inherit = 0;
> >   if (perf_missing_features.branch_counters)
> >   evsel->core.attr.branch_sample_type &=
> > ~PERF_SAMPLE_BRANCH_COUNTERS;
>