tracing/events: convert event call sites to use a link list

Impact: makes it possible to define events in modules

The events are created by reading down the section that they are linked
in by the macros. But this is not scalable to modules. This patch converts
the manipulations to use a global link list, and on boot up it adds
the items in the section to the list.

This change will allow modules to add their tracing events to the list as
well.

Note, this change alone does not permit modules to use the TRACE_EVENT macros,
but the change is needed for them to eventually do so.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
Steven Rostedt
2009-04-10 13:52:20 -04:00
committed by Steven Rostedt
parent f42c85e74f
commit a59fd60272
5 changed files with 39 additions and 38 deletions

View File

@@ -11,7 +11,7 @@ int ftrace_profile_enable(int event_id)
{
struct ftrace_event_call *event;
for_each_event(event) {
list_for_each_entry(event, &ftrace_events, list) {
if (event->id == event_id)
return event->profile_enable(event);
}
@@ -23,7 +23,7 @@ void ftrace_profile_disable(int event_id)
{
struct ftrace_event_call *event;
for_each_event(event) {
list_for_each_entry(event, &ftrace_events, list) {
if (event->id == event_id)
return event->profile_disable(event);
}