Re: [PATCH RFC 3/9] RCU: Preemptible RCU
From: Dipankar Sarma <hidden>
Date: 2007-09-21 05:57:41
Also in:
lkml
On Fri, Sep 21, 2007 at 12:17:21AM -0400, Steven Rostedt wrote:
[ continued here from comment on patch 1] On Mon, Sep 10, 2007 at 11:34:12AM -0700, Paul E. McKenney wrote:quoted
/* 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); #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 ;-)
Good questions :) I can't remember why I did this - probably because I was breaking up into classic and preemptible RCU in incremental patches with the goal that the break-up patch can be merged before the rcu-preempt patches. IIRC, I had to make *batches_completed*() a common RCU API later on. Thanks Dipankar