]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
kernel: trace_syscalls: Replace rcu_assign_pointer() with RCU_INIT_POINTER()
authorAndreea-Cristina Bernat <bernat.ada@gmail.com>
Fri, 22 Aug 2014 14:28:22 +0000 (17:28 +0300)
committerSteven Rostedt <rostedt@goodmis.org>
Wed, 10 Sep 2014 14:48:47 +0000 (10:48 -0400)
The uses of "rcu_assign_pointer()" are NULLing out the pointers.
According to RCU_INIT_POINTER()'s block comment:
"1.   This use of RCU_INIT_POINTER() is NULLing out the pointer"
it is better to use it instead of rcu_assign_pointer() because it has a
smaller overhead.

The following Coccinelle semantic patch was used:
@@
@@

- rcu_assign_pointer
+ RCU_INIT_POINTER
  (..., NULL)

Link: http://lkml.kernel.org/p/20140822142822.GA32391@ada
Signed-off-by: Andreea-Cristina Bernat <bernat.ada@gmail.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
kernel/trace/trace_syscalls.c

index 759d5e004517cab413188b9a4a1b3adf9e6b2597..4dc8b79c5f75d214919220bdc45232fe635e6af0 100644 (file)
@@ -425,7 +425,7 @@ static void unreg_event_syscall_enter(struct ftrace_event_file *file,
                return;
        mutex_lock(&syscall_trace_lock);
        tr->sys_refcount_enter--;
-       rcu_assign_pointer(tr->enter_syscall_files[num], NULL);
+       RCU_INIT_POINTER(tr->enter_syscall_files[num], NULL);
        if (!tr->sys_refcount_enter)
                unregister_trace_sys_enter(ftrace_syscall_enter, tr);
        mutex_unlock(&syscall_trace_lock);
@@ -463,7 +463,7 @@ static void unreg_event_syscall_exit(struct ftrace_event_file *file,
                return;
        mutex_lock(&syscall_trace_lock);
        tr->sys_refcount_exit--;
-       rcu_assign_pointer(tr->exit_syscall_files[num], NULL);
+       RCU_INIT_POINTER(tr->exit_syscall_files[num], NULL);
        if (!tr->sys_refcount_exit)
                unregister_trace_sys_exit(ftrace_syscall_exit, tr);
        mutex_unlock(&syscall_trace_lock);