Hi all, This is version 6 of the sync efficiency fix. Changes from v5 are noted below. The primary changes are to use rcu locking in wait_sb_inodes() rather than the s_inode_list_lock hack and to clean up the i_wb_list maintenance a bit, based on Jan Kara's feedback to v5. Note that I folded the rcu locking change into the original rather than as a separate patch since it seemed like the more correct approach and most of my testing since v5 is based on that code. This survives some xfstests testing on XFS and ext4 as well as some elongated (several day) fsstress testing on XFS without any explosions. Thoughts, reviews, flames appreciated. Brian v6: - Use rcu locking instead of s_inode_list_lock spinlock in wait_sb_inodes(). - Refactor wait_sb_inodes() to keep inode on wb list. - Drop remaining, unnecessary lazy list removal bits and relocate inode list check to clear_inode(). - Fix up some comments, etc. v5: http://marc.info/?l=linux-fsdevel&m=145262374402798&w=2 - Converted from per-bdi list to per-sb list. Also marked as RFC and dropped testing/review tags. - Updated to use new irq-safe lock for wb list. - Dropped lazy list removal. Inodes are removed when the mapping is cleared of the writeback tag. - Tweaked wait_sb_inodes() to remove deferred iput(), other cleanups. - Added wb list tracepoint patch. v4: http://marc.info/?l=linux-fsdevel&m=143511628828000&w=2 Brian Foster (1): wb: inode writeback list tracking tracepoints Dave Chinner (1): sb: add a new writeback list for sync fs/fs-writeback.c | 111 ++++++++++++++++++++++++++++++--------- fs/inode.c | 2 + fs/super.c | 2 + include/linux/fs.h | 4 ++ include/linux/writeback.h | 3 ++ include/trace/events/writeback.h | 22 ++++++-- mm/page-writeback.c | 18 +++++++ 7 files changed, 133 insertions(+), 29 deletions(-) -- 2.4.3 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html