trace_event_profile.c 730 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. /*
  2. * trace event based perf counter profiling
  3. *
  4. * Copyright (C) 2009 Red Hat Inc, Peter Zijlstra <pzijlstr@redhat.com>
  5. *
  6. */
  7. #include "trace.h"
  8. int ftrace_profile_enable(int event_id)
  9. {
  10. struct ftrace_event_call *event;
  11. int ret = -EINVAL;
  12. mutex_lock(&event_mutex);
  13. list_for_each_entry(event, &ftrace_events, list) {
  14. if (event->id == event_id) {
  15. ret = event->profile_enable(event);
  16. break;
  17. }
  18. }
  19. mutex_unlock(&event_mutex);
  20. return ret;
  21. }
  22. void ftrace_profile_disable(int event_id)
  23. {
  24. struct ftrace_event_call *event;
  25. mutex_lock(&event_mutex);
  26. list_for_each_entry(event, &ftrace_events, list) {
  27. if (event->id == event_id) {
  28. event->profile_disable(event);
  29. break;
  30. }
  31. }
  32. mutex_unlock(&event_mutex);
  33. }