| /* | |
| * trace event based perf counter profiling | |
| * | |
| * Copyright (C) 2009 Red Hat Inc, Peter Zijlstra <pzijlstr@redhat.com> | |
| * | |
| */ | |
| #include "trace.h" | |
| int ftrace_profile_enable(int event_id) | |
| { | |
| struct ftrace_event_call *event; | |
| int ret = -EINVAL; | |
| mutex_lock(&event_mutex); | |
| list_for_each_entry(event, &ftrace_events, list) { | |
| if (event->id == event_id && event->profile_enable) { | |
| ret = event->profile_enable(event); | |
| break; | |
| } | |
| } | |
| mutex_unlock(&event_mutex); | |
| return ret; | |
| } | |
| void ftrace_profile_disable(int event_id) | |
| { | |
| struct ftrace_event_call *event; | |
| mutex_lock(&event_mutex); | |
| list_for_each_entry(event, &ftrace_events, list) { | |
| if (event->id == event_id) { | |
| event->profile_disable(event); | |
| break; | |
| } | |
| } | |
| mutex_unlock(&event_mutex); | |
| } |