[Intel-gfx] [RFC 0/4] GPU/CPU timestamps correlation for relating OA samples with system events

Lionel Landwerlin lionel.g.landwerlin at intel.com
Tue Dec 5 14:37:47 UTC 2017


On 05/12/17 14:28, Robert Bragg wrote:
>
>
> On Tue, Dec 5, 2017 at 2:16 PM, Lionel Landwerlin 
> <lionel.g.landwerlin at intel.com <mailto:lionel.g.landwerlin at intel.com>> 
> wrote:
>
>     Hey Sagar,
>
>     Sorry for the delay looking into this series.
>     I've done some userspace/UI work in GPUTop to try to correlate
>     perf samples/tracepoints with i915 perf reports.
>
>     I wanted to avoid having to add too much logic into the kernel and
>     tried to sample both cpu clocks & gpu timestamps from userspace.
>     So far that's not working. People more knowledgable than I would
>     have realized that the kernel can sneak in work into syscalls.
>     So result is that 2 syscalls (one to get the cpu clock, one for
>     the gpu timestamp) back to back from the same thread leads to time
>     differences of anywhere from a few microseconds to in some cases
>     close to 1millisecond. So it's basically unworkable.
>     Anyway the UI work won't go to waste :)
>
>     I'm thinking to go with your approach.
>     >From my experiment with gputop, it seems we might want to use a
>     different cpu clock source though or make it configurable.
>     The perf infrastructure allows you to choose what clock you want
>     to use. Since we want to avoid time adjustments on that clock
>     (because we're adding deltas), a clock monotonic raw would make
>     most sense.
>
>
> I would guess the most generally useful clock domain to correlate with 
> the largest number of interesting events would surely be 
> CLOCK_MONOTONIC, not _MONOTONIC_RAW.
>
> E.g. here's some discussion around why vblank events use 
> CLOCK_MONOTINIC: 
> https://lists.freedesktop.org/archives/dri-devel/2012-October/028878.html
>
> Br,
> - Robert

Thanks Rob, then I guess making it configurable when opening the stream 
would be the safest option.

>
>
>     I'll look at adding some tests for this too.
>
>     Thanks,
>
>     -
>     Lionel
>
>     On 15/11/17 12:13, Sagar Arun Kamble wrote:
>
>         We can compute system time corresponding to GPU timestamp by
>         taking a
>         reference point (CPU monotonic time, GPU timestamp) and then
>         adding
>         delta time computed using timecounter/cyclecounter support in
>         kernel.
>         We have to configure cyclecounter with the GPU timestamp
>         frequency.
>         Earlier approach that was based on cross-timestamp is not
>         needed. It
>         was being used to approximate the frequency based on invalid
>         assumptions
>         (possibly drift was being seen in the time due to precision
>         issue).
>         The precision of time from GPU clocks is already in ns and
>         timecounter
>         takes care of it as verified over variable durations.
>
>         This series adds base timecounter/cyclecounter changes and
>         changes to
>         get GPU and CPU timestamps in OA samples.
>
>         Sagar Arun Kamble (1):
>            drm/i915/perf: Add support to correlate GPU timestamp with
>         system time
>
>         Sourab Gupta (3):
>            drm/i915/perf: Add support for collecting 64 bit timestamps
>         with OA
>              reports
>            drm/i915/perf: Extract raw GPU timestamps from OA reports
>            drm/i915/perf: Send system clock monotonic time in perf samples
>
>           drivers/gpu/drm/i915/i915_drv.h  |  11 ++++
>           drivers/gpu/drm/i915/i915_perf.c | 124
>         ++++++++++++++++++++++++++++++++++++++-
>           drivers/gpu/drm/i915/i915_reg.h  |   6 ++
>           include/uapi/drm/i915_drm.h      |  14 +++++
>           4 files changed, 154 insertions(+), 1 deletion(-)
>
>
>     _______________________________________________
>     Intel-gfx mailing list
>     Intel-gfx at lists.freedesktop.org
>     <mailto:Intel-gfx at lists.freedesktop.org>
>     https://lists.freedesktop.org/mailman/listinfo/intel-gfx
>     <https://lists.freedesktop.org/mailman/listinfo/intel-gfx>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20171205/1705a2f8/attachment.html>


More information about the Intel-gfx mailing list