[Intel-gfx] [PATCH] drm/i915: Add aub debug support for kernel

Yuanhan Liu yuanhan.liu at intel.com
Mon Nov 8 10:23:28 CET 2010

I just send two patches out, without trace on load patch for
now(explained at below).

On Mon, 2010-11-08 at 00:03 +0800, Chris Wilson wrote:
> Oh my, this turns out to be quite hacky indeed...
> if (i915_trace_on_load) {
> 	const struct ftrace_event_call enable_list[] = {
> #define EVENT(name) event_call_##name
> 		&EVENT(i915_reg),
> 		NULL,
> 	}, *call = enable_list;
> 	do {
> 		if ((*call)->class->reg(*call, TRACE_REG_REGISTER) == 0)
> 			(*call)->flags |= TRACE_EVENT_FL_ENABLED;
> 		else
> 			DRM_DEBUG("failed to enable tracepoint '%s'\n",
> 				(*call)->name);
> 	} while (*++call);
> }
> [Not even compile tested! ;)]

Sorry, it can't compile for not being able to find the event_call_*. 

While, that doesn't matter. As you may know, I send a patch to upstream 
to export trace_set_clr_event function. Then we can simply add the 
following line in i915_init():

trace_set_clr_event("i915", "i915_reg_rw", 1)

then the i915:i915_reg_rw event is enabled at the load time.

While, I am not saying I am waiting upstream to receive that patch. I 
mean we can hold on for a while: I think the trace-event can export 
some more friendly interface for enabling specified event at module 
load time. (I might make some patches if I have time).

> That would seem to do the trick. The alternative would be to override the
> use of trace_event_raw_init in the include/trace/ftrace.h macros. In light
> of that the above seems much simpler.
> -Chris

More information about the Intel-gfx mailing list