On Fri, Jun 8, 2012 at 2:28 PM, Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> wrote: > From: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> > > There's no reason to call rcu_barrier() on every deactivate_locked_super(). > We only need to make sure that all delayed rcu free inodes are flushed > before we destroy related cache. > > Removing rcu_barrier() from deactivate_locked_super() affects some > fas paths. E.g. on my machine exit_group() of a last process in IPC > namespace takes 0.07538s. rcu_barrier() takes 0.05188s of that time. I think we should just delete it. kmem_cache_destroy() (at least for SLUB) already has: if (s->flags & SLAB_DESTROY_BY_RCU) rcu_barrier(); in it. But I think it's too late - it gets called *after* we do kmem_cache_close(), and I get the feeling that we should do it before. Shouldn't that be sufficient? And if other slab allocators don't have this, we should add it to them too. Hmm? Linus _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs