rcu: Replace the rcu_barrier enum with pointer to call_rcu*() function
commit135c8aea557cf53abe6c8847e286d01442124193
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 29 Sep 2009 04:50:21 +0000 (28 21:50 -0700)
committerIngo Molnar <mingo@elte.hu>
Mon, 5 Oct 2009 19:02:05 +0000 (5 21:02 +0200)
tree82d8ca15e13548749c7770e9a1a7bc6800ebefbb
parenta0b6c9a78c41dc36732d6e1e90f0f2f57b29816f
rcu: Replace the rcu_barrier enum with pointer to call_rcu*() function

The rcu_barrier enum causes several problems:

  (1) you have to define the enum somewhere, and there is no
      convenient place,

  (2) the difference between TREE_RCU and TREE_PREEMPT_RCU causes
      problems when you need to map from rcu_barrier enum to struct
      rcu_state,

  (3) the switch statement are large, and

  (4) TINY_RCU really needs a different rcu_barrier() than do the
      treercu implementations.

So replace it with a functionally equivalent but cleaner function
pointer abstraction.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Cc: laijs@cn.fujitsu.com
Cc: dipankar@in.ibm.com
Cc: akpm@linux-foundation.org
Cc: josh@joshtriplett.org
Cc: dvhltc@us.ibm.com
Cc: niv@us.ibm.com
Cc: peterz@infradead.org
Cc: rostedt@goodmis.org
Cc: Valdis.Kletnieks@vt.edu
Cc: dhowells@redhat.com
LKML-Reference: <12541998232366-git-send-email->
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/rcupdate.c