diff options
| author | Ingo Molnar <mingo@kernel.org> | 2015-03-27 04:46:19 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2015-03-27 04:46:19 -0400 |
| commit | 936c663aed930972f7e185485fd6c2da69e33819 (patch) | |
| tree | 41bb069f66e109fc63c4114a4390de44d3068356 /kernel/trace | |
| parent | 072e5a1cfabca7276744d24726e094d85721df5c (diff) | |
| parent | 50f16a8bf9d7a92c437ed1867d0f7e1dc6a9aca9 (diff) | |
Merge branch 'perf/x86' into perf/core, because it's ready
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/trace')
| -rw-r--r-- | kernel/trace/trace_uprobe.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/kernel/trace/trace_uprobe.c b/kernel/trace/trace_uprobe.c index 7dc1c8abecd6..996e452e1eb3 100644 --- a/kernel/trace/trace_uprobe.c +++ b/kernel/trace/trace_uprobe.c | |||
| @@ -1005,7 +1005,7 @@ __uprobe_perf_filter(struct trace_uprobe_filter *filter, struct mm_struct *mm) | |||
| 1005 | return true; | 1005 | return true; |
| 1006 | 1006 | ||
| 1007 | list_for_each_entry(event, &filter->perf_events, hw.tp_list) { | 1007 | list_for_each_entry(event, &filter->perf_events, hw.tp_list) { |
| 1008 | if (event->hw.tp_target->mm == mm) | 1008 | if (event->hw.target->mm == mm) |
| 1009 | return true; | 1009 | return true; |
| 1010 | } | 1010 | } |
| 1011 | 1011 | ||
| @@ -1015,7 +1015,7 @@ __uprobe_perf_filter(struct trace_uprobe_filter *filter, struct mm_struct *mm) | |||
| 1015 | static inline bool | 1015 | static inline bool |
| 1016 | uprobe_filter_event(struct trace_uprobe *tu, struct perf_event *event) | 1016 | uprobe_filter_event(struct trace_uprobe *tu, struct perf_event *event) |
| 1017 | { | 1017 | { |
| 1018 | return __uprobe_perf_filter(&tu->filter, event->hw.tp_target->mm); | 1018 | return __uprobe_perf_filter(&tu->filter, event->hw.target->mm); |
| 1019 | } | 1019 | } |
| 1020 | 1020 | ||
| 1021 | static int uprobe_perf_close(struct trace_uprobe *tu, struct perf_event *event) | 1021 | static int uprobe_perf_close(struct trace_uprobe *tu, struct perf_event *event) |
| @@ -1023,10 +1023,10 @@ static int uprobe_perf_close(struct trace_uprobe *tu, struct perf_event *event) | |||
| 1023 | bool done; | 1023 | bool done; |
| 1024 | 1024 | ||
| 1025 | write_lock(&tu->filter.rwlock); | 1025 | write_lock(&tu->filter.rwlock); |
| 1026 | if (event->hw.tp_target) { | 1026 | if (event->hw.target) { |
| 1027 | list_del(&event->hw.tp_list); | 1027 | list_del(&event->hw.tp_list); |
| 1028 | done = tu->filter.nr_systemwide || | 1028 | done = tu->filter.nr_systemwide || |
| 1029 | (event->hw.tp_target->flags & PF_EXITING) || | 1029 | (event->hw.target->flags & PF_EXITING) || |
| 1030 | uprobe_filter_event(tu, event); | 1030 | uprobe_filter_event(tu, event); |
| 1031 | } else { | 1031 | } else { |
| 1032 | tu->filter.nr_systemwide--; | 1032 | tu->filter.nr_systemwide--; |
| @@ -1046,7 +1046,7 @@ static int uprobe_perf_open(struct trace_uprobe *tu, struct perf_event *event) | |||
| 1046 | int err; | 1046 | int err; |
| 1047 | 1047 | ||
| 1048 | write_lock(&tu->filter.rwlock); | 1048 | write_lock(&tu->filter.rwlock); |
| 1049 | if (event->hw.tp_target) { | 1049 | if (event->hw.target) { |
| 1050 | /* | 1050 | /* |
| 1051 | * event->parent != NULL means copy_process(), we can avoid | 1051 | * event->parent != NULL means copy_process(), we can avoid |
| 1052 | * uprobe_apply(). current->mm must be probed and we can rely | 1052 | * uprobe_apply(). current->mm must be probed and we can rely |
