diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-12-03 18:23:17 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-12-03 18:23:17 -0500 |
commit | c041f087382e7c03bde8062253a90c023f814586 (patch) | |
tree | 68c71ddfa930111eeebf3b21c9763c22e8ee05ba | |
parent | e69be8c2dee6fa6965fa01b08dc060948c491c79 (diff) | |
parent | 0f72e37e42a8ce427caa1b96f7f51e450f2ecb82 (diff) |
Merge tag 'trace-v4.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
Pull tracing fix from Steven Rostedt:
"During the merge window I added a new file that is used to filter
trace events on pids. It filters all events where only tasks with
their pid in that file exists. It also handles the sched_switch and
sched_wakeup trace events where the current task does not have its pid
in the file, but the task either being switched to or awaken does.
Unfortunately, I forgot about sched_wakeup_new and sched_waking. Both
of these tracepoints use the same class as the sched_wakeup
tracepoint, and they too should be included in what gets filtered by
the set_event_pid file"
* tag 'trace-v4.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
tracing: Add sched_wakeup_new and sched_waking tracepoints for pid filter
-rw-r--r-- | kernel/trace/trace_events.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c index 6bbc5f652355..4f6ef6912e00 100644 --- a/kernel/trace/trace_events.c +++ b/kernel/trace/trace_events.c | |||
@@ -582,6 +582,12 @@ static void __ftrace_clear_event_pids(struct trace_array *tr) | |||
582 | unregister_trace_sched_wakeup(event_filter_pid_sched_wakeup_probe_pre, tr); | 582 | unregister_trace_sched_wakeup(event_filter_pid_sched_wakeup_probe_pre, tr); |
583 | unregister_trace_sched_wakeup(event_filter_pid_sched_wakeup_probe_post, tr); | 583 | unregister_trace_sched_wakeup(event_filter_pid_sched_wakeup_probe_post, tr); |
584 | 584 | ||
585 | unregister_trace_sched_wakeup_new(event_filter_pid_sched_wakeup_probe_pre, tr); | ||
586 | unregister_trace_sched_wakeup_new(event_filter_pid_sched_wakeup_probe_post, tr); | ||
587 | |||
588 | unregister_trace_sched_waking(event_filter_pid_sched_wakeup_probe_pre, tr); | ||
589 | unregister_trace_sched_waking(event_filter_pid_sched_wakeup_probe_post, tr); | ||
590 | |||
585 | list_for_each_entry(file, &tr->events, list) { | 591 | list_for_each_entry(file, &tr->events, list) { |
586 | clear_bit(EVENT_FILE_FL_PID_FILTER_BIT, &file->flags); | 592 | clear_bit(EVENT_FILE_FL_PID_FILTER_BIT, &file->flags); |
587 | } | 593 | } |
@@ -1729,6 +1735,16 @@ ftrace_event_pid_write(struct file *filp, const char __user *ubuf, | |||
1729 | tr, INT_MAX); | 1735 | tr, INT_MAX); |
1730 | register_trace_prio_sched_wakeup(event_filter_pid_sched_wakeup_probe_post, | 1736 | register_trace_prio_sched_wakeup(event_filter_pid_sched_wakeup_probe_post, |
1731 | tr, 0); | 1737 | tr, 0); |
1738 | |||
1739 | register_trace_prio_sched_wakeup_new(event_filter_pid_sched_wakeup_probe_pre, | ||
1740 | tr, INT_MAX); | ||
1741 | register_trace_prio_sched_wakeup_new(event_filter_pid_sched_wakeup_probe_post, | ||
1742 | tr, 0); | ||
1743 | |||
1744 | register_trace_prio_sched_waking(event_filter_pid_sched_wakeup_probe_pre, | ||
1745 | tr, INT_MAX); | ||
1746 | register_trace_prio_sched_waking(event_filter_pid_sched_wakeup_probe_post, | ||
1747 | tr, 0); | ||
1732 | } | 1748 | } |
1733 | 1749 | ||
1734 | /* | 1750 | /* |