On Wed, 2007-05-02 at 17:30 +0530, Dipankar Sarma 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.
Hi David, Dipankar, My first thought was wondering if doing it for them isn't a bad thing, but they need to do it if they've got other teardown which would mess up RCU callbacks anyway... Cheers, Rusty. - 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/