----- "Jeff Moyer" <jmoyer(a)redhat.com> wrote:
Hi,
I was trying to use the trace.so extension module, but it was bailing
out early with no explanation. I tracked it down to the fact that the
system member of the trace_event_call structure no longer exists. It
was moved up to the class structure. The change was introduced in this
upstream commit:
commit 8f0820183056ad26dabc0202115848a92f1143fc
Author: Steven Rostedt <srostedt(a)redhat.com>
Date: Tue Apr 20 10:47:33 2010 -0400
tracing: Create class struct for events
I don't have the cycles to fix this up right now, so I was hoping
someone else would. ;-) Bonus points for printing useful error messages
when the module fails to load for some reason.
Cheers,
Jeff
(I've added the author Lai Jiangshan to the cc: list to address this issue.)
Hello Lai,
Can I also make a couple suggestions/requests when you fix this issue?
(1) There should be a protection mechanism in place to prevent the use
of a bogus structure member offset in any virtual address calculation.
(2) I've also run into the frustration of trying to figure out which
of the multiple failure reasons that can occur when the command
ftrace_init fails to load, so I agree with Jeff that it would be
very helpful to put some error messages in place.
(3) When you make the fix for for the movement of the "system" member
from the ftrace_event_call to the ftrace_event_class structure,
please make it backwards-compatible so that the module still
works for earlier kernels.
Thanks,
Dave