lkml.org 
[lkml]   [2010]   [Mar]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
SubjectRe: Nick's vfs-scalability patches ported to 2.6.33-rt
Fromjohn stultz <>
DateWed, 03 Mar 2010 15:31:30 -0800
On Fri, 2010-02-26 at 17:01 +1100, Nick Piggin wrote:
> On Thu, Feb 25, 2010 at 09:53:28PM -0800, john stultz wrote:
> > Hey Thomas, Nick,
> > I just wanted to let you know I've just finished forward porting Nick's
> > patches to 2.6.33-rc8-rt2. Luckily my forward port of Nick's patches to
> > 2.6.33 applies on top of the -rt tree without any collisions, and I've
> > added a handful of maybe sketchy fixups to get it working with -rt.
> >
> > You can find the patchset here:
> > http://sr71.net/~jstultz/dbench-scalability/patches/2.6.33-rc8-rt2/vfs-scale.33-rt.tar.bz2
> >
> > Here's a chart showing how much these patches help dbench numbers on
> > ramfs:
> > http://sr71.net/~jstultz/dbench-scalability/graphs/2.6.33/ramfs-dbench.png
> >
> > I've not done any serious stress testing with the patchset yet, but
> > wanted to post it for your review.
> >
> > Nick: I'd appreciate any feedback as to if any of my forward porting has
> > gone awry. I'm still very green with respect to the vfs, so I don't
> > doubt there are some issues hiding here.
>
> BTW there are a few issues Al pointed out. We have to synchronize RCU
> after unregistering a filesystem so d_ops/i_ops doesn't go away, and
> mntput can sleep so we can't do it under RCU read lock.

Does the following address this issue properly?

Signed-off-by: John Stultz <johnstul@us.ibm.com>

diff --git a/fs/filesystems.c b/fs/filesystems.c
index a24c58e..3448e7c 100644
--- a/fs/filesystems.c
+++ b/fs/filesystems.c
@@ -110,6 +110,7 @@ int unregister_filesystem(struct file_system_type * fs)
*tmp = fs->next;
fs->next = NULL;
write_unlock(&file_systems_lock);
+ synchronize_rcu();
return 0;
}
tmp = &(*tmp)->next;



\
 
 \ /
  Last update: 2010-03-04 00:33    [from the cache]
©2003-2010