Seems that I found a box that has a config that passes call_rcu_bh as a function pointer (see net/sctp/sm_make_chunk.c), so declaring the call_rcu_bh has a macro function isn't good enough. This patch makes it just another name of call_rcu for rcupreempt. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Index: linux-2.6.23-rc8-rt1/include/linux/rcupreempt.h =================================================================== --- linux-2.6.23-rc8-rt1.orig/include/linux/rcupreempt.h +++ linux-2.6.23-rc8-rt1/include/linux/rcupreempt.h @@ -42,9 +42,14 @@ #include <linux/cpumask.h> #include <linux/seqlock.h> -#define rcu_qsctr_inc(cpu) -#define rcu_bh_qsctr_inc(cpu) -#define call_rcu_bh(head, rcu) call_rcu(head, rcu) +#define rcu_qsctr_inc(cpu) do { } while (0) +#define rcu_bh_qsctr_inc(cpu) do { } while (0) +/* + * Someone might want to pass call_rcu_bh as a function pointer. + * So this needs to just be a rename and not a macro function. + * (no parentheses) + */ +#define call_rcu_bh call_rcu extern void __rcu_read_lock(void); extern void __rcu_read_unlock(void); - To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html