OSDN Git Service

drm/i915/tracepoints: Adjust i915_gem_ring_dispatch
authorTvrtko Ursulin <tvrtko.ursulin@intel.com>
Tue, 21 Feb 2017 09:13:44 +0000 (09:13 +0000)
committerTvrtko Ursulin <tvrtko.ursulin@intel.com>
Tue, 21 Feb 2017 13:17:57 +0000 (13:17 +0000)
Rename it to i915_gem_request_queue and fix the logged info
equivalent to the i915_gem_request even class. Also moved it
a bit further apart from the i915_gem_request_add tracepoint
since they otherwise provide similar information too close in
time.

v2: Remove sw fence singalling. We will rely on the soon to
    come GuC scheduling backend to enable that. (Chris Wilson)

v3: Log hex with 0x prefix for clarity.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
drivers/gpu/drm/i915/i915_gem_execbuffer.c
drivers/gpu/drm/i915/i915_trace.h

index baf9039..dfed503 100644 (file)
@@ -1493,8 +1493,6 @@ execbuf_submit(struct i915_execbuffer_params *params,
        if (ret)
                return ret;
 
-       trace_i915_gem_ring_dispatch(params->request, params->dispatch_flags);
-
        i915_gem_execbuffer_move_to_active(vmas, params->request);
 
        return 0;
@@ -1836,6 +1834,8 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
        params->dispatch_flags          = dispatch_flags;
        params->ctx                     = ctx;
 
+       trace_i915_gem_request_queue(params->request, dispatch_flags);
+
        ret = execbuf_submit(params, args, &eb->vmas);
 err_request:
        __i915_add_request(params->request, ret == 0);
index 4454872..d9ade8c 100644 (file)
@@ -399,13 +399,14 @@ TRACE_EVENT(i915_gem_ring_sync_to,
                      __entry->seqno)
 );
 
-TRACE_EVENT(i915_gem_ring_dispatch,
+TRACE_EVENT(i915_gem_request_queue,
            TP_PROTO(struct drm_i915_gem_request *req, u32 flags),
            TP_ARGS(req, flags),
 
            TP_STRUCT__entry(
                             __field(u32, dev)
                             __field(u32, ring)
+                            __field(u32, ctx)
                             __field(u32, seqno)
                             __field(u32, flags)
                             ),
@@ -413,13 +414,14 @@ TRACE_EVENT(i915_gem_ring_dispatch,
            TP_fast_assign(
                           __entry->dev = req->i915->drm.primary->index;
                           __entry->ring = req->engine->id;
-                          __entry->seqno = req->global_seqno;
+                          __entry->ctx = req->ctx->hw_id;
+                          __entry->seqno = req->fence.seqno;
                           __entry->flags = flags;
-                          dma_fence_enable_sw_signaling(&req->fence);
                           ),
 
-           TP_printk("dev=%u, ring=%u, seqno=%u, flags=%x",
-                     __entry->dev, __entry->ring, __entry->seqno, __entry->flags)
+           TP_printk("dev=%u, ring=%u, ctx=%u, seqno=%u, flags=0x%x",
+                     __entry->dev, __entry->ring, __entry->ctx, __entry->seqno,
+                     __entry->flags)
 );
 
 TRACE_EVENT(i915_gem_ring_flush,