Thread (2 messages) 2 messages, 2 authors, 2012-06-08

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

From: Linus Torvalds <torvalds@linux-foundation.org>
Date: 2012-06-08 21:43:58
Also in: ceph-devel, linux-cifs, linux-ext4, linux-fsdevel, ocfs2-devel

On Fri, Jun 8, 2012 at 2:28 PM, Kirill A. Shutemov
[off-list ref] wrote:
From: "Kirill A. Shutemov" <redacted>

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@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help