/* * trace event based perf counter profiling * * Copyright (C) 2009 Red Hat Inc, Peter Zijlstra * */ #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) { 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); }