Skip to contentSkip to conversation

kernel: events: callchain: Replace rcu_assign_pointer() with RCU_INIT_POINTER()

PATCH New Andreea-Cristina Bernat 2 participants 2 messages Aug 22, 2014 – Sep 9, 2014 perf events

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 kernel: events: callchain: Replace rcu_assign_pointer() with RCU_INIT_POINTER()

The use of "rcu_assign_pointer()" is NULLing out the pointer. 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)

---
 kernel/events/callchain.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
kernel/events/callchain.c +1 -1
index 97b67df..f2a88de 100644
@@ -52,7 +52,7 @@ static void release_callchain_buffers(void)
 	struct callchain_cpus_entries *entries;
 
 	entries = callchain_cpus_entries;
-	rcu_assign_pointer(callchain_cpus_entries, NULL);
+	RCU_INIT_POINTER(callchain_cpus_entries, NULL);
 	call_rcu(&entries->rcu_head, release_callchain_buffers_rcu);
 }
 
Signature · 1 line
1.9.1
#1 lore raw

[tip:perf/core] perf/callchain: Replace rcu_assign_pointer() with RCU_INIT_POINTER()

perf/callchain: Replace rcu_assign_pointer() with RCU_INIT_POINTER()
Commit-ID:  e0455e194a5e0cf49bc7596a20d4f7e47995b9c6
Gitweb:     http://git.kernel.org/tip/e0455e194a5e0cf49bc7596a20d4f7e47995b9c6
Author:     Andreea-Cristina Bernat <[email protected]>
AuthorDate: Fri, 22 Aug 2014 17:15:36 +0300
Committer:  Ingo Molnar <[email protected]>
CommitDate: Tue, 9 Sep 2014 06:53:04 +0200

perf/callchain: Replace rcu_assign_pointer() with RCU_INIT_POINTER()

The use of "rcu_assign_pointer()" is NULLing out the pointer. 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)

---
 kernel/events/callchain.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
kernel/events/callchain.c +1 -1
index 97b67df..f2a88de 100644
@@ -52,7 +52,7 @@ static void release_callchain_buffers(void)
 	struct callchain_cpus_entries *entries;
 
 	entries = callchain_cpus_entries;
-	rcu_assign_pointer(callchain_cpus_entries, NULL);
+	RCU_INIT_POINTER(callchain_cpus_entries, NULL);
 	call_rcu(&entries->rcu_head, release_callchain_buffers_rcu);
 }