diff options
author | Ben Widawsky <benjamin.widawsky@intel.com> | 2013-09-24 12:57:56 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-10-01 01:45:20 -0400 |
commit | bcccff847d1fdb53c2fae999a7f03facfa399bab (patch) | |
tree | 9f394c582355edb3d4daad34fb724935eeba9be1 | |
parent | 874404252e26518b5c3327a75f9f81670298cc1e (diff) |
drm/i915: trace vm eviction instead of everything
Tracing vm eviction is really the event we care about. For the cases we
evict everything, we still will get the trace.
v2: Add the drm device to the trace since we might not be the only
device in the system. (Chris)
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem_evict.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_trace.h | 15 |
2 files changed, 17 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_evict.c b/drivers/gpu/drm/i915/i915_gem_evict.c index 3a3981eb3012..b7376533633d 100644 --- a/drivers/gpu/drm/i915/i915_gem_evict.c +++ b/drivers/gpu/drm/i915/i915_gem_evict.c | |||
@@ -175,6 +175,8 @@ int i915_gem_evict_vm(struct i915_address_space *vm, bool do_idle) | |||
175 | struct i915_vma *vma, *next; | 175 | struct i915_vma *vma, *next; |
176 | int ret; | 176 | int ret; |
177 | 177 | ||
178 | trace_i915_gem_evict_vm(vm); | ||
179 | |||
178 | if (do_idle) { | 180 | if (do_idle) { |
179 | ret = i915_gpu_idle(vm->dev); | 181 | ret = i915_gpu_idle(vm->dev); |
180 | if (ret) | 182 | if (ret) |
diff --git a/drivers/gpu/drm/i915/i915_trace.h b/drivers/gpu/drm/i915/i915_trace.h index e2c5ee6f6194..403309bf0452 100644 --- a/drivers/gpu/drm/i915/i915_trace.h +++ b/drivers/gpu/drm/i915/i915_trace.h | |||
@@ -233,6 +233,21 @@ TRACE_EVENT(i915_gem_evict_everything, | |||
233 | TP_printk("dev=%d", __entry->dev) | 233 | TP_printk("dev=%d", __entry->dev) |
234 | ); | 234 | ); |
235 | 235 | ||
236 | TRACE_EVENT(i915_gem_evict_vm, | ||
237 | TP_PROTO(struct i915_address_space *vm), | ||
238 | TP_ARGS(vm), | ||
239 | |||
240 | TP_STRUCT__entry( | ||
241 | __field(struct i915_address_space *, vm) | ||
242 | ), | ||
243 | |||
244 | TP_fast_assign( | ||
245 | __entry->vm = vm; | ||
246 | ), | ||
247 | |||
248 | TP_printk("dev=%d, vm=%p", __entry->vm->dev->primary->index, __entry->vm) | ||
249 | ); | ||
250 | |||
236 | TRACE_EVENT(i915_gem_ring_dispatch, | 251 | TRACE_EVENT(i915_gem_ring_dispatch, |
237 | TP_PROTO(struct intel_ring_buffer *ring, u32 seqno, u32 flags), | 252 | TP_PROTO(struct intel_ring_buffer *ring, u32 seqno, u32 flags), |
238 | TP_ARGS(ring, seqno, flags), | 253 | TP_ARGS(ring, seqno, flags), |