[ continued here from comment on patch 1] On Mon, Sep 10, 2007 at 11:34:12AM -0700, Paul E. McKenney wrote: > /* softirq mask and active fields moved to irq_cpustat_t in > diff -urpNa -X dontdiff linux-2.6.22-b-fixbarriers/include/linux/rcuclassic.h linux-2.6.22-c-preemptrcu/include/linux/rcuclassic.h > --- linux-2.6.22-b-fixbarriers/include/linux/rcuclassic.h 2007-08-22 14:42:23.000000000 -0700 > +++ linux-2.6.22-c-preemptrcu/include/linux/rcuclassic.h 2007-08-22 15:21:06.000000000 -0700 > @@ -142,8 +142,6 @@ extern int rcu_needs_cpu(int cpu); > extern void __rcu_init(void); > extern void rcu_check_callbacks(int cpu, int user); > extern void rcu_restart_cpu(int cpu); > -extern long rcu_batches_completed(void); > -extern long rcu_batches_completed_bh(void); > > #endif /* __KERNEL__ */ > #endif /* __LINUX_RCUCLASSIC_H */ > diff -urpNa -X dontdiff linux-2.6.22-b-fixbarriers/include/linux/rcupdate.h linux-2.6.22-c-preemptrcu/include/linux/rcupdate.h > --- linux-2.6.22-b-fixbarriers/include/linux/rcupdate.h 2007-07-19 14:02:36.000000000 -0700 > +++ linux-2.6.22-c-preemptrcu/include/linux/rcupdate.h 2007-08-22 15:21:06.000000000 -0700 > @@ -52,7 +52,11 @@ struct rcu_head { > void (*func)(struct rcu_head *head); > }; > > +#ifdef CONFIG_CLASSIC_RCU > #include <linux/rcuclassic.h> > +#else /* #ifdef CONFIG_CLASSIC_RCU */ > +#include <linux/rcupreempt.h> > +#endif /* #else #ifdef CONFIG_CLASSIC_RCU */ > > #define RCU_HEAD_INIT { .next = NULL, .func = NULL } > #define RCU_HEAD(head) struct rcu_head head = RCU_HEAD_INIT > @@ -218,10 +222,13 @@ extern void FASTCALL(call_rcu_bh(struct > /* Exported common interfaces */ > extern void synchronize_rcu(void); > extern void rcu_barrier(void); > +extern long rcu_batches_completed(void); > +extern long rcu_batches_completed_bh(void); > And here we put back rcu_batches_completed and rcu_batches_completed_bh from rcuclassic.h to rcupdate.h ;-) -- Steve - 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