Re: [PATCH 4/7] perf/x86-ibs: Add support for IBS pseudo events

From: Robert Richter
Date: Mon May 07 2012 - 11:44:39 EST


On 07.05.12 15:03:02, Peter Zijlstra wrote:
> On Wed, 2012-05-02 at 20:26 +0200, Robert Richter wrote:
> > +enum ibs_filter_type {
> > + IBS_NO_FILTER = 0,
> > + IBS_MATCH_FILTER = 1,
> > + IBS_ANY_SET_FILTER = 2,
> > + IBS_PSEUDO_EVENT = 0x0F,
> > +};
>
> I don't get how those pseudo events work, AFAIKT IBS_PSEUDO_EVENT causes
> one to loose all events since it does have a filter set but fails the
> filter and thus we skip the call to perf_event_overflow().

You periodically (fix clk cycles or number of micro-ops) trigger IBS
samples and afterwards analyses the samples for certain filter rules
(see rule description in pmu-ibs.c).

> Furthermore, I think this filter stuff should accumulate the period so
> that PERF_SAMPLE_PERIOD still works correctly and reflects the number of
> counts since the last sample.

Yes, simply dropping the sample is not enough. Have to check if the
period is correctly maintained.

> Also, what's the point of filtering in-kernel as opposed to doing all
> this in userspace? Is the amount of data 'saved' significant enough?

In-kernel filtering has drawbacks esp. if you want to handle multiple
pseudo-events and also when post-processing a perf.data file. But for
a proof-of-concept and a demonstration it was the easiest
implementation since there is a lack of userland filtering. I guess I
will look at how to implement this.

-Robert

--
Advanced Micro Devices, Inc.
Operating System Research Center

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/