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

Chris Wilson chris at chris-wilson.co.uk
Mon Nov 8 10:55:23 CET 2010


On Mon, 08 Nov 2010 17:23:28 +0800, Yuanhan Liu <yuanhan.liu at intel.com> wrote:
> 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.

Much neater. I missed that when scanning trace/ for a hook in the event
system.

> 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).

So long as you can enable it locally to develop the debug tools that will
do for the time being.  You'll want to send the
EXPORT_SYMBOL_GPL(trace_set_clr_event) upstream and cc Steven Rostedt with
an outline of why we want it, he may be able to show us the best way of
integrating an module hook to parse tracing options.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list