Re: [RFC, PATCH, RESEND] fs: push rcu_barrier() from deactivate_locked_super() to filesystems

Andrew Morton
2012-06-08T22:40:40Z

On Fri, 8 Jun 2012 23:36:24 +0100
Al Viro <viro@ZenIV.linux.org.uk> wrote:

> On Fri, Jun 08, 2012 at 03:31:20PM -0700, Andrew Morton wrote:
> > On Fri, 8 Jun 2012 23:27:34 +0100
> > Al Viro <viro@ZenIV.linux.org.uk> wrote:
> >
> > > On Fri, Jun 08, 2012 at 03:25:50PM -0700, Andrew Morton wrote:
> > >
> > > > A neater implementation might be to add a kmem_cache* argument to
> > > > unregister_filesystem(). If that is non-NULL, unregister_filesystem()
> > > > does the rcu_barrier() and destroys the cache. That way we get to
> > > > delete (rather than add) a bunch of code from all filesystems and new
> > > > and out-of-tree filesystems cannot forget to perform the rcu_barrier().
> > >
> > > There's often enough more than one cache, so that one is no-go.
> >
> > kmem_cache** ;)
> >
> > Which filesystems have multiple inode caches?
>
> inodes are not the only things that get caches of their own...

Yes, but other random non-inode caches do not get rcu requirements
secretly forced upon them by the vfs so don't need rcu_barrier() prior
to their destruction?

> BTW, Kirill, would you mind not cross-posting to that many lists ever again?

I dunno, I like all those little messages - it makes me feel important.