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). Thanks. > > 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 > _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx