Re: [PATCH 17/18] fs: icache remove inode_lock

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Dave Chinner
Date: Wednesday, October 13, 2010 - 4:23 pm

On Wed, Oct 13, 2010 at 11:30:08PM +1100, Nick Piggin wrote:

Going back a couple of weeks, it seemed as far away from inclusion
as when you first posted the series - there had been no substanital
review and nobody wanting to review it in it's current form. Then
I'd heard you were travelling indefinitely.....

There is stuff in the vfs-scale tree that is somewhat controversial
and had not been discussed satisfactorily - the lock ordering
(resulting in trylocks everywhere), the shrinker API change, the
writeback LRU changes, the zone reclaim changes, etc - and some of
them even have alternative proposals for fixing the algorithmic
deficiencies.  Nobody was going to review or accept that as one big
lump.

There's been review now because I went and did what the potential
reviewers were asking for - break the series into smaller, more
easily reviewable and verifiable chunks. As a result, I think we're
close to the end of the review cycle for the inode_lock breakup now.
I think the code is now much cleaner and more maintainable than what I
originally pulled from the vfs-scale tree, and it still provides the
same gains and ability to be converted to RCU algorithms in the
future.

Hence, IMO, the current vfs-scale tree needs to be treated as a
prototype, not as a finished product. It demonstrates the the path
we need to follow to move forward, as well as the gains we will get
as we move in that direction, but the code in that tree is not
guaranteed a free pass into the mainline tree.


Which seems to be another good reason for treating the tree as prototype
code.

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
fs: Inode cache scalability V2, Dave Chinner, (Thu Oct 7, 10:21 pm)
[PATCH 01/18] kernel: add bl_list, Dave Chinner, (Thu Oct 7, 10:21 pm)
[PATCH 03/18] fs: keep inode with backing-dev, Dave Chinner, (Thu Oct 7, 10:21 pm)
[PATCH 05/18] fs: inode split IO and LRU lists, Dave Chinner, (Thu Oct 7, 10:21 pm)
[PATCH 11/18] fs: Introduce per-bucket inode hash locks, Dave Chinner, (Thu Oct 7, 10:21 pm)
[PATCH 17/18] fs: icache remove inode_lock, Dave Chinner, (Thu Oct 7, 10:21 pm)
Re: [PATCH 02/18] fs: Convert nr_inodes and nr_unused to p ..., Christoph Hellwig, (Fri Oct 8, 12:01 am)
Re: [PATCH 03/18] fs: keep inode with backing-dev, Christoph Hellwig, (Fri Oct 8, 12:01 am)
Re: [PATCH 04/18] fs: Implement lazy LRU updates for inodes., Christoph Hellwig, (Fri Oct 8, 12:08 am)
Re: [PATCH 05/18] fs: inode split IO and LRU lists, Christoph Hellwig, (Fri Oct 8, 12:14 am)
Re: [PATCH 06/18] fs: Clean up inode reference counting, Christoph Hellwig, (Fri Oct 8, 12:20 am)
Re: [PATCH 07/18] exofs: use iput() for inode reference co ..., Christoph Hellwig, (Fri Oct 8, 12:21 am)
Re: [PATCH 08/18] fs: add inode reference coutn read accessor, Christoph Hellwig, (Fri Oct 8, 12:24 am)
Re: [PATCH 03/18] fs: keep inode with backing-dev, Dave Chinner, (Fri Oct 8, 12:27 am)
Re: [PATCH 09/18] fs: rework icount to be a locked variable, Christoph Hellwig, (Fri Oct 8, 12:27 am)
Re: [PATCH 10/18] fs: Factor inode hash operations into fu ..., Christoph Hellwig, (Fri Oct 8, 12:29 am)
Re: [PATCH 11/18] fs: Introduce per-bucket inode hash locks, Christoph Hellwig, (Fri Oct 8, 12:33 am)
Re: [PATCH 12/18] fs: add a per-superblock lock for the in ..., Christoph Hellwig, (Fri Oct 8, 12:35 am)
Re: [PATCH 05/18] fs: inode split IO and LRU lists, Dave Chinner, (Fri Oct 8, 12:38 am)
Re: [PATCH 13/18] fs: split locking of inode writeback and ..., Christoph Hellwig, (Fri Oct 8, 12:42 am)
Re: [PATCH 06/18] fs: Clean up inode reference counting, Dave Chinner, (Fri Oct 8, 12:46 am)
Re: [PATCH 15/18] fs: introduce a per-cpu last_ino allocator, Christoph Hellwig, (Fri Oct 8, 12:53 am)
Re: [PATCH 16/18] fs: Make iunique independent of inode_lock, Christoph Hellwig, (Fri Oct 8, 12:55 am)
Re: [PATCH 17/18] fs: icache remove inode_lock, Dave Chinner, (Fri Oct 8, 1:09 am)
Re: [PATCH 06/18] fs: Clean up inode reference counting, Christoph Hellwig, (Fri Oct 8, 1:15 am)
Re: [PATCH 09/18] fs: rework icount to be a locked variable, Christoph Hellwig, (Fri Oct 8, 1:17 am)
Re: [PATCH 01/18] kernel: add bl_list, Andi Kleen, (Fri Oct 8, 1:18 am)
Re: [PATCH 16/18] fs: Make iunique independent of inode_lock, Christoph Hellwig, (Fri Oct 8, 1:19 am)
Re: [PATCH 15/18] fs: introduce a per-cpu last_ino allocator, Christoph Hellwig, (Fri Oct 8, 1:44 am)
Re: [PATCH 11/18] fs: Introduce per-bucket inode hash locks, Christoph Hellwig, (Fri Oct 8, 2:51 am)
Re: [PATCH 05/18] fs: inode split IO and LRU lists, Dave Chinner, (Fri Oct 8, 2:58 am)
Re: [PATCH 15/18] fs: introduce a per-cpu last_ino allocator, Christoph Hellwig, (Fri Oct 8, 3:03 am)
Re: [PATCH 01/18] kernel: add bl_list, Dave Chinner, (Fri Oct 8, 3:33 am)
Re: [PATCH 11/18] fs: Introduce per-bucket inode hash locks, Christoph Hellwig, (Fri Oct 8, 6:43 am)
Re: [PATCH 15/18] fs: introduce a per-cpu last_ino allocator, Christoph Hellwig, (Fri Oct 8, 6:48 am)
Re: [PATCH 09/18] fs: rework icount to be a locked variable, Christoph Hellwig, (Fri Oct 8, 6:53 am)
Re: [PATCH 15/18] fs: introduce a per-cpu last_ino allocator, Christoph Hellwig, (Fri Oct 8, 12:10 pm)
[PATCH 19/18] fs: split __inode_add_to_list, Christoph Hellwig, (Sat Oct 9, 1:08 am)
[PATCH 20/18] fs: do not assign default i_ino in new_inode, Christoph Hellwig, (Sat Oct 9, 4:18 am)
Re: [PATCH 19/18] fs: split __inode_add_to_list, Dave Chinner, (Tue Oct 12, 3:47 am)
Re: [PATCH 19/18] fs: split __inode_add_to_list, Christoph Hellwig, (Tue Oct 12, 4:31 am)
Re: [PATCH 19/18] fs: split __inode_add_to_list, Dave Chinner, (Tue Oct 12, 5:05 am)
Re: [PATCH 17/18] fs: icache remove inode_lock, Nick Piggin, (Wed Oct 13, 12:20 am)
Re: [PATCH 17/18] fs: icache remove inode_lock, Nick Piggin, (Wed Oct 13, 12:27 am)
Re: [PATCH 17/18] fs: icache remove inode_lock, Eric Dumazet, (Wed Oct 13, 3:42 am)
Re: [PATCH 17/18] fs: icache remove inode_lock, Christoph Hellwig, (Wed Oct 13, 4:25 am)
Re: [PATCH 17/18] fs: icache remove inode_lock, Christoph Hellwig, (Wed Oct 13, 4:28 am)
Re: [PATCH 17/18] fs: icache remove inode_lock, Nick Piggin, (Wed Oct 13, 5:03 am)
Re: [PATCH 17/18] fs: icache remove inode_lock, Nick Piggin, (Wed Oct 13, 5:07 am)
Re: [PATCH 17/18] fs: icache remove inode_lock, Christoph Hellwig, (Wed Oct 13, 5:20 am)
Re: [PATCH 17/18] fs: icache remove inode_lock, Nick Piggin, (Wed Oct 13, 5:25 am)
Re: [PATCH 17/18] fs: icache remove inode_lock, Dave Chinner, (Wed Oct 13, 4:23 pm)
Re: [PATCH 17/18] fs: icache remove inode_lock, Nick Piggin, (Thu Oct 14, 2:06 am)
Re: [PATCH 17/18] fs: icache remove inode_lock, Nick Piggin, (Thu Oct 14, 2:13 am)
Re: [PATCH 17/18] fs: icache remove inode_lock, Christoph Hellwig, (Thu Oct 14, 7:41 am)
Re: [PATCH 17/18] fs: icache remove inode_lock, Nick Piggin, (Thu Oct 14, 5:14 pm)
Re: [PATCH 17/18] fs: icache remove inode_lock, Dave Chinner, (Thu Oct 14, 8:13 pm)
Re: [PATCH 17/18] fs: icache remove inode_lock, Nick Piggin, (Thu Oct 14, 9:04 pm)
Re: [PATCH 17/18] fs: icache remove inode_lock, Nick Piggin, (Thu Oct 14, 11:41 pm)
Re: [PATCH 17/18] fs: icache remove inode_lock, Dave Chinner, (Fri Oct 15, 3:59 am)
Re: [PATCH 17/18] fs: icache remove inode_lock, Dave Chinner, (Fri Oct 15, 4:33 am)
Re: [PATCH 17/18] fs: icache remove inode_lock, Nick Piggin, (Fri Oct 15, 6:03 am)
Re: [PATCH 17/18] fs: icache remove inode_lock, Nick Piggin, (Fri Oct 15, 6:14 am)
Re: [PATCH 17/18] fs: icache remove inode_lock, Nick Piggin, (Fri Oct 15, 6:29 am)
Re: [PATCH 17/18] fs: icache remove inode_lock, Nick Piggin, (Fri Oct 15, 7:11 am)
Re: [PATCH 17/18] fs: icache remove inode_lock, Nick Piggin, (Fri Oct 15, 8:38 am)
Re: [PATCH 17/18] fs: icache remove inode_lock, Nick Piggin, (Fri Oct 15, 10:33 am)
Re: [PATCH 17/18] fs: icache remove inode_lock, Christoph Hellwig, (Fri Oct 15, 10:52 am)
Re: [PATCH 17/18] fs: icache remove inode_lock, Nick Piggin, (Fri Oct 15, 11:02 am)
Re: [PATCH 17/18] fs: icache remove inode_lock, Nick Piggin, (Fri Oct 15, 11:14 am)
Re: [PATCH 17/18] fs: icache remove inode_lock, Nick Piggin, (Fri Oct 15, 1:50 pm)
Re: [PATCH 17/18] fs: icache remove inode_lock, Nick Piggin, (Fri Oct 15, 1:56 pm)
Re: [PATCH 17/18] fs: icache remove inode_lock, Nick Piggin, (Fri Oct 15, 7:09 pm)
Re: [PATCH 17/18] fs: icache remove inode_lock, Nick Piggin, (Sat Oct 16, 12:57 am)
Re: [PATCH 11/18] fs: Introduce per-bucket inode hash locks, Christoph Hellwig, (Sat Oct 16, 9:16 am)
Re: [PATCH 13/18] fs: split locking of inode writeback and ..., Christoph Hellwig, (Sat Oct 16, 9:20 am)
Re: [PATCH 15/18] fs: introduce a per-cpu last_ino allocator, Christoph Hellwig, (Sat Oct 16, 9:22 am)
Re: [PATCH 07/18] exofs: use iput() for inode reference co ..., Christoph Hellwig, (Sat Oct 16, 9:29 am)
Re: [PATCH 11/18] fs: Introduce per-bucket inode hash locks, Christoph Hellwig, (Sat Oct 16, 5:45 pm)
Re: [PATCH 11/18] fs: Introduce per-bucket inode hash locks, Christoph Hellwig, (Mon Oct 18, 9:21 am)
Re: [PATCH 11/18] fs: Introduce per-bucket inode hash locks, Christoph Hellwig, (Tue Oct 19, 9:50 am)
Re: [PATCH 11/18] fs: Introduce per-bucket inode hash locks, Thomas Gleixner, (Sun Oct 24, 9:41 pm)
Re: [PATCH 11/18] fs: Introduce per-bucket inode hash locks, Thomas Gleixner, (Mon Oct 25, 12:04 am)