提交 dc440d10 编写于 作者: I Ingo Molnar

Merge branch 'tip/perf/urgent' of...

Merge branch 'tip/perf/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/urgent
...@@ -1686,7 +1686,7 @@ static int replace_system_preds(struct event_subsystem *system, ...@@ -1686,7 +1686,7 @@ static int replace_system_preds(struct event_subsystem *system,
* replace the filter for the call. * replace the filter for the call.
*/ */
filter = call->filter; filter = call->filter;
call->filter = filter_item->filter; rcu_assign_pointer(call->filter, filter_item->filter);
filter_item->filter = filter; filter_item->filter = filter;
fail = false; fail = false;
...@@ -1741,7 +1741,7 @@ int apply_event_filter(struct ftrace_event_call *call, char *filter_string) ...@@ -1741,7 +1741,7 @@ int apply_event_filter(struct ftrace_event_call *call, char *filter_string)
filter = call->filter; filter = call->filter;
if (!filter) if (!filter)
goto out_unlock; goto out_unlock;
call->filter = NULL; RCU_INIT_POINTER(call->filter, NULL);
/* Make sure the filter is not being used */ /* Make sure the filter is not being used */
synchronize_sched(); synchronize_sched();
__free_filter(filter); __free_filter(filter);
...@@ -1782,7 +1782,7 @@ int apply_event_filter(struct ftrace_event_call *call, char *filter_string) ...@@ -1782,7 +1782,7 @@ int apply_event_filter(struct ftrace_event_call *call, char *filter_string)
* string * string
*/ */
tmp = call->filter; tmp = call->filter;
call->filter = filter; rcu_assign_pointer(call->filter, filter);
if (tmp) { if (tmp) {
/* Make sure the call is done with the filter */ /* Make sure the call is done with the filter */
synchronize_sched(); synchronize_sched();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册