Re: [RFC PATCH 0/3] Expose gpu counters via perf pmu driver

From: Robert Bragg
Date: Fri Oct 24 2014 - 09:39:56 EST


On Thu, Oct 23, 2014 at 6:58 AM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
>
> * Robert Bragg <robert@xxxxxxxxxxxxx> wrote:
>
>> [...]
>>
>> I'd be interested to hear whether is sounds reasonable to
>> others for us to expose gpu device metrics via a perf pmu and
>> whether adding the PERF_PMU_CAP_IS_DEVICE flag as in my
>> following patch could be acceptable.
>
> I think it's perfectly reasonable, it's one of the interesting
> kernel features I hoped for years would be implemented for perf.

Ok, that's good to hear, thanks.

>
>> [...]
>>
>> In addition I also explicitly black list numerous attributes
>> and PERF_SAMPLE_ flags that I don't think make sense for a
>> device pmu. This could be handled in the pmu driver but it
>> seemed better to do in events/core, avoiding duplication in
>> case we later have multiple device pmus.
>
> Btw., if the GPU is able to dump (part of) its current execution
> status, you could in theory even do instruction profiling and
> in-GPU profiling (symbol resolution, maybe even annotation, etc.)
> with close to standard perf tooling - which I think is currently
> mostly the domain of proprietary tools.

I'm not entirely sure; but there are certainly quite a few hw debug features
I haven't really explored yet that might lend themselves to supporting
something like this. At least there's a breakpoint mechanism that looks like
it might help for something like this, including providing a way to focus on
specific threads of interest which would be pretty important here to reduce
how much state would have to be periodically captured. I could be
interested to experiment with this later for sure.

With respect to the OA counters I'm looking to expose first, I would note
that the counter snapshots being written periodically are written by a fixed
function unit where we only have a limited set of layouts that we can
choose.

Beyond the OA counters I can certainly see us wanting further pmus for other
metrics though. For reference Chris Wilson experimented with some related
ideas last year, here:

http://cgit.freedesktop.org/~ickle/linux-2.6/commit/?
h=perf&id=f32c19f4fb3a3bda92ab7bd0b9f95da14e81ca0a

Regards,
- Robert

>
> Thanks,
>
> Ingo
--
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/