Re: [PATCH] fs: avoid locking sb_lock in grab_super_passive()

2015-02-24 Thread Konstantin Khlebnikov
On 21.02.2015 02:50, Al Viro wrote: On Fri, Feb 20, 2015 at 03:07:31PM -0800, Andrew Morton wrote: - It no longer "acquires a reference". All it does is to acquire an rwsem. - What the heck is a "passive reference" anyway? It appears to be the situation where we increment s_count without

Re: [PATCH] fs: avoid locking sb_lock in grab_super_passive()

2015-02-24 Thread Konstantin Khlebnikov
On Sat, Feb 21, 2015 at 5:37 AM, Al Viro wrote: > On Thu, Feb 19, 2015 at 08:19:35PM +0300, Konstantin Khlebnikov wrote: >> I've noticed significant locking contention in memory reclaimer around >> sb_lock inside grab_super_passive(). Grab_super_passive() is called from >> two places: in icache/dc

Re: [PATCH] fs: avoid locking sb_lock in grab_super_passive()

2015-02-20 Thread Al Viro
On Thu, Feb 19, 2015 at 08:19:35PM +0300, Konstantin Khlebnikov wrote: > I've noticed significant locking contention in memory reclaimer around > sb_lock inside grab_super_passive(). Grab_super_passive() is called from > two places: in icache/dcache shrinkers (function super_cache_scan) and > from

Re: [PATCH] fs: avoid locking sb_lock in grab_super_passive()

2015-02-20 Thread Al Viro
On Fri, Feb 20, 2015 at 03:07:31PM -0800, Andrew Morton wrote: > - It no longer "acquires a reference". All it does is to acquire an rwsem. > > - What the heck is a "passive reference" anyway? It appears to be > the situation where we increment s_count without incrementing s_active. Referenc

Re: [PATCH] fs: avoid locking sb_lock in grab_super_passive()

2015-02-20 Thread Andrew Morton
On Thu, 19 Feb 2015 20:19:35 +0300 Konstantin Khlebnikov wrote: > Please cc Dave Chinner on this. > I've noticed significant locking contention in memory reclaimer around > sb_lock inside grab_super_passive(). Grab_super_passive() is called from > two places: in icache/dcache shrinkers (functio

Re: [PATCH] fs: avoid locking sb_lock in grab_super_passive()

2015-02-19 Thread Konstantin Khlebnikov
On Thu, Feb 19, 2015 at 8:19 PM, Konstantin Khlebnikov wrote: > I've noticed significant locking contention in memory reclaimer around > sb_lock inside grab_super_passive(). Grab_super_passive() is called from > two places: in icache/dcache shrinkers (function super_cache_scan) and > from writebac

[PATCH] fs: avoid locking sb_lock in grab_super_passive()

2015-02-19 Thread Konstantin Khlebnikov
I've noticed significant locking contention in memory reclaimer around sb_lock inside grab_super_passive(). Grab_super_passive() is called from two places: in icache/dcache shrinkers (function super_cache_scan) and from writeback (function __writeback_inodes_wb). Both are required for progress in m