On Wed, 2 May 2007 17:30:51 +0530 Dipankar Sarma <[EMAIL PROTECTED]> wrote:
> On Wed, May 02, 2007 at 12:50:24PM +0100, David Howells wrote: > > > > Hi Dipankar, Rusty, > > > > I seem to have found a race between RCU and rmmod. What I see appears to be > > an RCU destructor function that has a call pending but lives in a module, > > gets > > deleted before the RCU callback is processed: > > > > RIP: 0010:[<ffffffff880329b7>] [<ffffffff880329b7>] > > > > I think that rmmod needs to clear the RCU destructor queue, probably inside > > of > > __try_stop_module(). > > This is why we have rcu_barrier() although the corresponding documentation > patch seems to have got dropped. Modules that use RCU must call > rcu_barrier() in their cleanup routine. > hm, I never knew that. akpm:/usr/src/linux-2.6.21> grep -r rcu_ drivers | wc -l 182 akpm:/usr/src/linux-2.6.21> grep -r rcu_barrier drivers | wc -l 0 For a start we should undrop that documentation patch, please. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/