lkml.org 
[lkml]   [2015]   [Jul]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH RFC 0/4] change sb_writers to use percpu_rw_semaphore
On 07/15, Jan Kara wrote:
>
> On Tue 14-07-15 14:41:13, Dave Hansen wrote:
> >
> > I looked at it again. I tested with this patch in addition to the ones
> > modifying __sb_start/end_write():
> >
> > https://lkml.org/lkml/2015/6/24/682
> >
> > That is where the performance delta came from. Your patches (plus the
> > fsnotify optimization) perform very similarly to my approach.
> >
> > Yours remove so much code that I think they are the preferable approach.
> >
> > They don't compile with lockdep on, btw. :)
>
> Great, thanks for hashing it out.

Yes, thanks Dave!

> So I'm also in favor of Oleg's approach
> as well. We just have to wait until he fixes the outstanding issues with
> his code.

Yes. I'll try to make the working version, hopefully this week.

But,

> Dave, just send your fsnotify patch separately to AKPM - he
> usually merges fsnotify stuff.

Perhaps it makes to merge other 2 patches from Dave first? (those which
change __sb_start/end_write to rely on RCU). Afaics these changes are
straightforward and correct. Although I'd suggest to use preempt_disable()
and synchronize_sched() instead. I will be happy to (try to) make this
conversion on top of his changes.

Because I do not want to delay the performance improvements and I do not
know when exactly I'll send the next version: I need to finish the previous
discussion about rcu_sync first. And the necessary changes in fs/super.c
depend on whether percpu_rw_semaphore will have rcu_sync or not (not too
much, only destroy_super() depends, but still).

And of course, I am worried that I missed something and percpu_rw_semaphore
can't work for some reason. The code in fs/super.c looks simple, but it
seems that filesystems do the "strange" things with lockdep at least.

Oleg.



\
 
 \ /
  Last update: 2015-07-15 20:41    [W:0.077 / U:0.568 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site