From: Mathieu Desnoyers on
RCU heads really don't need to be initialized. Their state before call_rcu()
really does not matter.

We need to keep init/destroy_rcu_head_on_stack() though, since we want
debugobjects to be able to keep track of these objects.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers(a)efficios.com>
CC: David S. Miller <davem(a)davemloft.net>
CC: "Paul E. McKenney" <paulmck(a)linux.vnet.ibm.com>
CC: akpm(a)linux-foundation.org
CC: mingo(a)elte.hu
CC: laijs(a)cn.fujitsu.com
CC: dipankar(a)in.ibm.com
CC: josh(a)joshtriplett.org
CC: dvhltc(a)us.ibm.com
CC: niv(a)us.ibm.com
CC: tglx(a)linutronix.de
CC: peterz(a)infradead.org
CC: rostedt(a)goodmis.org
CC: Valdis.Kletnieks(a)vt.edu
CC: dhowells(a)redhat.com
CC: eric.dumazet(a)gmail.com
CC: Alexey Dobriyan <adobriyan(a)gmail.com>
---
include/linux/rcupdate.h | 6 ------
1 file changed, 6 deletions(-)

Index: linux.trees.git/include/linux/rcupdate.h
===================================================================
--- linux.trees.git.orig/include/linux/rcupdate.h 2010-03-29 10:11:32.000000000 -0400
+++ linux.trees.git/include/linux/rcupdate.h 2010-03-29 10:11:42.000000000 -0400
@@ -77,12 +77,6 @@ extern void rcu_scheduler_starting(void)
#error "Unknown RCU implementation specified to kernel configuration"
#endif

-#define RCU_HEAD_INIT { .next = NULL, .func = NULL }
-#define RCU_HEAD(head) struct rcu_head head = RCU_HEAD_INIT
-#define INIT_RCU_HEAD(ptr) do { \
- (ptr)->next = NULL; (ptr)->func = NULL; \
-} while (0)
-
static inline void init_rcu_head_on_stack(struct rcu_head *head)
{
}

--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/