[Intel-gfx] [RFC 0/6] Non perf based Gen Graphics OA unit driver

Robert Bragg robert at sixbynine.org
Fri Oct 16 05:08:16 PDT 2015

On Fri, Oct 16, 2015 at 11:33 AM, Peter Zijlstra <peterz at infradead.org> wrote:
> On Fri, Oct 16, 2015 at 12:02:28PM +0200, Ingo Molnar wrote:
>> * Peter Zijlstra <peterz at infradead.org> wrote:
>> > > - We may be making some technical compromises a.t.m for the sake of
>> > >   using perf.
>> > >
>> > >     perf_event_open() requires events to either relate to a pid or a
>> > >     specific cpu core, while our device pmu relates to neither.  Events
>> > >     opened with a pid will be automatically enabled/disabled according
>> > >     to the scheduling of that process - so not appropriate for us.
>> >
>> > Right; the traditional cpu/pid mapping doesn't work well for devices;
>> > but maybe, with some work, we can create something like that
>> > global/local render context from it; although I've no clue what form
>> > that would need at this time.
>> Could someone please help with some very basic questions, such as what the
>> hardware model of the 'OA' unit model is? How are OA registers set up, how are
>> their values made accessible to the host side, etc.
> Robert linked to:
>   https://01.org/sites/default/files/documentation/observability_performance_counters_haswell.pdf
> In a previous posting. It has some info, but full documentation, is as
> per the initial post, 'pending'.

There is now also some Broadwell documentation here:


Unfortunately though a mistake was made by the documentation team when
generating the PDF which unintentionally stripped out a lot of
information so it's not very helpful a.t.m. I've let them know about
some of the issues, but I'm not sure a.t.m when it may be updated.

I tried to fill in the gaps in some of our earlier conversations, so
maybe also go over those for more details too.

Otherwise the best reference is probably my code currently, either the
RFC patches I sent most recently which at least cover up to Haswell,
or the wip/rib/oa-next branch here: https://github.com/rib/linux. The
lastest perf based driver is currently in the archive/rib/oa-core-perf
branch for reference too.

- Robert

More information about the Intel-gfx mailing list