[PATCH 40/48] drm/i915: Add a tracepoint for new VMs

Ben Widawsky
2013-12-06T22:15:32Z

drivers/gpu/drm/i915/i915_gem.c | 1 +
drivers/gpu/drm/i915/i915_trace.h | 18 ++++++++++++++++++
2 files changed, 19 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index a9cabff..63047da 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -4588,6 +4588,7 @@ static void i915_init_vm(struct drm_i915_private *dev_priv,
INIT_LIST_HEAD(&vm->inactive_list);
INIT_LIST_HEAD(&vm->global_link);
list_add(&vm->global_link, &dev_priv->vm_list);
+ trace_i915_address_space_create(vm);
}

void
diff --git a/drivers/gpu/drm/i915/i915_trace.h b/drivers/gpu/drm/i915/i915_trace.h
index 6e580c9..e834354 100644
--- a/drivers/gpu/drm/i915/i915_trace.h
+++ b/drivers/gpu/drm/i915/i915_trace.h
@@ -195,6 +195,24 @@ DEFINE_EVENT(i915_gem_object, i915_gem_object_destroy,
TP_ARGS(obj)
);

+DECLARE_EVENT_CLASS(i915_address_space,
+ TP_PROTO(struct i915_address_space *vm),
+ TP_ARGS(vm),
+ TP_STRUCT__entry(__field(struct i915_address_space *, vm)),
+ TP_fast_assign(__entry->vm = vm;),
+ TP_printk("vm = %p", __entry->vm)
+ );
+
+DEFINE_EVENT(i915_address_space, i915_address_space_create,
+ TP_PROTO(struct i915_address_space *vm),
+ TP_ARGS(vm)
+ );
+
+DEFINE_EVENT(i915_address_space, i915_address_space_destroy,
+ TP_PROTO(struct i915_address_space *vm),
+ TP_ARGS(vm)
+ );
+
TRACE_EVENT(i915_gem_evict,
TP_PROTO(struct drm_device *dev, u32 size, u32 align, bool mappable),
TP_ARGS(dev, size, align, mappable),
--
1.8.4.2