linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 0/2] improve sync efficiency with sb inode wb list
@ 2016-01-19 17:59 Brian Foster
  2016-01-19 17:59 ` [PATCH v6 1/2] sb: add a new writeback list for sync Brian Foster
  2016-01-19 17:59 ` [PATCH v6 2/2] wb: inode writeback list tracking tracepoints Brian Foster
  0 siblings, 2 replies; 10+ messages in thread
From: Brian Foster @ 2016-01-19 17:59 UTC (permalink / raw)
  To: linux-fsdevel; +Cc: dchinner, jbacik, jack

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


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2016-01-21 18:08 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-19 17:59 [PATCH v6 0/2] improve sync efficiency with sb inode wb list Brian Foster
2016-01-19 17:59 ` [PATCH v6 1/2] sb: add a new writeback list for sync Brian Foster
2016-01-20 13:26   ` Jan Kara
2016-01-20 20:11     ` Dave Chinner
2016-01-21 15:22       ` Brian Foster
2016-01-21 16:34         ` Jan Kara
2016-01-21 17:13           ` Brian Foster
2016-01-21 18:08             ` Josef Bacik
2016-01-19 17:59 ` [PATCH v6 2/2] wb: inode writeback list tracking tracepoints Brian Foster
2016-01-20 13:14   ` Jan Kara

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).