linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/8] Per-bdi writeback flusher threads v18
@ 2009-09-04  7:46 Jens Axboe
  2009-09-04  7:46 ` [PATCH 1/8] writeback: get rid of generic_sync_sb_inodes() export Jens Axboe
                   ` (7 more replies)
  0 siblings, 8 replies; 29+ messages in thread
From: Jens Axboe @ 2009-09-04  7:46 UTC (permalink / raw)
  To: linux-kernel, linux-fsdevel; +Cc: chris.mason, david, hch, tytso, akpm, jack

Hi,

This is the 18th release of the writeback patchset. Changes since
v17 include:

- Change the naming of sync_sb_inodes() and sync_sb_inodes_wait(). It's
  now writeback_inodes_sb() to start writeback on dirty sb inodes, and
  sync_inodes_sb() to start and wait on writeback. Suggestion from Jan
  Kara, and I agree it better explains what the code does.
- Fix compile error in pohmelfs.
- Update Ted's MAX_WRITEBACK_PAGES patch to be MB based instead of in
  pages.
- Integrate the suggestions from Christoph:
	- Move wakeup_flusher_threads() into fs/fs-writeback.c, it fits
	  better there and allows us to make bdi_writeback_all() static.
	- Get rid of generic_sync_sb_inodes(). Move the issue and wait
	  into the two callers instead, making the old function now
	  wait_sb_inodes() and only concerned with waiting on already
	  issued IO.
	- wbc->nr_to_write was mistakenly set to LLONG_MAX instead of
	  LONG_MAX.

Please review, thanks!

 b/block/blk-core.c                 |    1 
 b/drivers/block/aoe/aoeblk.c       |    1 
 b/drivers/char/mem.c               |    1 
 b/drivers/staging/pohmelfs/inode.c |    9 
 b/fs/btrfs/disk-io.c               |    1 
 b/fs/buffer.c                      |    2 
 b/fs/char_dev.c                    |    1 
 b/fs/configfs/inode.c              |    1 
 b/fs/fs-writeback.c                | 1042 +++++++++++++++++++++--------
 b/fs/fuse/inode.c                  |    1 
 b/fs/hugetlbfs/inode.c             |    1 
 b/fs/nfs/client.c                  |    1 
 b/fs/ocfs2/dlm/dlmfs.c             |    1 
 b/fs/ramfs/inode.c                 |    1 
 b/fs/super.c                       |    3 
 b/fs/sync.c                        |   20 
 b/fs/sysfs/inode.c                 |    1 
 b/fs/ubifs/budget.c                |   16 
 b/fs/ubifs/super.c                 |    9 
 b/include/linux/backing-dev.h      |   55 +
 b/include/linux/fs.h               |    8 
 b/include/linux/writeback.h        |   24 
 b/kernel/cgroup.c                  |    1 
 b/kernel/sysctl.c                  |    8 
 b/mm/Makefile                      |    2 
 b/mm/backing-dev.c                 |  379 ++++++++++
 b/mm/page-writeback.c              |  183 -----
 b/mm/swap_state.c                  |    1 
 b/mm/vmscan.c                      |    2 
 mm/pdflush.c                       |  269 -------
 30 files changed, 1267 insertions(+), 778 deletions(-)

-- 
Jens Axboe

^ permalink raw reply	[flat|nested] 29+ messages in thread
* [PATCH 0/8] Per-bdi writeback flusher threads v19
@ 2009-09-08  9:23 Jens Axboe
  2009-09-08  9:23 ` [PATCH 3/8] writeback: switch to per-bdi threads for flushing data Jens Axboe
  0 siblings, 1 reply; 29+ messages in thread
From: Jens Axboe @ 2009-09-08  9:23 UTC (permalink / raw)
  To: linux-kernel, linux-fsdevel, chris.mason, david, hch, akpm, jack

Hi,

This is the 19th release of the writeback patchset. Changes since
v18 include:

- Switch unpin_sb_for_writeback() to using put_super() instead of
  __put_super_and_need_start(). This means making put_super()
  non-static, but we don't have to export it.
- Always check and clean old data.
- Don't copy *wbc twice in wb_do_writeback().
- Tweak 'when to break' logic in wb_writeback().
- Get rid of wb_start_writeback() and bdi_sched_work(), fold them into
  bdi_queue_work().

Thanks to Jan Kara and Christoph Hellwig for their suggestions and
review!

 b/block/blk-core.c                 |    1 
 b/drivers/block/aoe/aoeblk.c       |    1 
 b/drivers/char/mem.c               |    1 
 b/drivers/staging/pohmelfs/inode.c |    9 
 b/fs/btrfs/disk-io.c               |    1 
 b/fs/buffer.c                      |    2 
 b/fs/char_dev.c                    |    1 
 b/fs/configfs/inode.c              |    1 
 b/fs/fs-writeback.c                | 1058 +++++++++++++++++++++--------
 b/fs/fuse/inode.c                  |    1 
 b/fs/hugetlbfs/inode.c             |    1 
 b/fs/nfs/client.c                  |    1 
 b/fs/ocfs2/dlm/dlmfs.c             |    1 
 b/fs/ramfs/inode.c                 |    1 
 b/fs/super.c                       |    5 
 b/fs/sync.c                        |   20 
 b/fs/sysfs/inode.c                 |    1 
 b/fs/ubifs/budget.c                |   16 
 b/fs/ubifs/super.c                 |    9 
 b/include/linux/backing-dev.h      |   55 +
 b/include/linux/fs.h               |    9 
 b/include/linux/writeback.h        |   24 
 b/kernel/cgroup.c                  |    1 
 b/kernel/sysctl.c                  |    8 
 b/mm/Makefile                      |    2 
 b/mm/backing-dev.c                 |  380 ++++++++++
 b/mm/page-writeback.c              |  188 -----
 b/mm/swap_state.c                  |    1 
 b/mm/vmscan.c                      |    2 
 mm/pdflush.c                       |  269 -------
 30 files changed, 1292 insertions(+), 778 deletions(-)

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 29+ messages in thread
* [PATCH 0/8] Per-bdi writeback flusher threads v17
@ 2009-09-02  8:42 Jens Axboe
  2009-09-02  8:42 ` [PATCH 3/8] writeback: switch to per-bdi threads for flushing data Jens Axboe
  0 siblings, 1 reply; 29+ messages in thread
From: Jens Axboe @ 2009-09-02  8:42 UTC (permalink / raw)
  To: linux-kernel, linux-fsdevel; +Cc: chris.mason, david, hch, tytso, akpm, jack

Hi,

Continuing the daily releases of this patchset to ensure it's in
solid shape for 2.6.32, here's version 17. Changes since v16:

- Looking at the callers of sb writeback, WB_SYNC_ALL (data integrity)
  writeback already has the super_block pinned and doesn't require
  any further actions. So go back to the down_read_trylock() method
  of pinning the sb and also check for sb->s_root for WB_SYNC_NONE
  writeout. This is all packaged into pin_sb_for_writeback() and
  unpin_sb_for_writeback().
- Get rid of exported generic_sync_sb_inodes() and export sync_inodes_sb()
  for non-integrity writeback and sync_inodes_sb_wait() for integrity
  writeback, as suggested by hch.
- Folded the 'move sb argument to wbc' into the main patch, with the
  addition of the above sync_inodes_sb()/sync_inodes_sb_wait() it
  didn't make sense to keep it separate anymore because wbc isn't
  passed in outside of the code.
- Update the changelog on the main patch, the one switching to per-bdi
  flushing.

Please review, thanks!

 b/block/blk-core.c                 |    1 
 b/drivers/block/aoe/aoeblk.c       |    1 
 b/drivers/char/mem.c               |    1 
 b/drivers/staging/pohmelfs/inode.c |    9 
 b/fs/btrfs/disk-io.c               |    1 
 b/fs/buffer.c                      |    2 
 b/fs/char_dev.c                    |    1 
 b/fs/configfs/inode.c              |    1 
 b/fs/fs-writeback.c                |  998 +++++++++++++++++++++--------
 b/fs/fuse/inode.c                  |    1 
 b/fs/hugetlbfs/inode.c             |    1 
 b/fs/nfs/client.c                  |    1 
 b/fs/ocfs2/dlm/dlmfs.c             |    1 
 b/fs/ramfs/inode.c                 |    1 
 b/fs/super.c                       |    3 
 b/fs/sync.c                        |   10 
 b/fs/sysfs/inode.c                 |    1 
 b/fs/ubifs/budget.c                |   16 
 b/fs/ubifs/super.c                 |    9 
 b/include/linux/backing-dev.h      |   56 +
 b/include/linux/fs.h               |    8 
 b/include/linux/writeback.h        |   23 
 b/kernel/cgroup.c                  |    1 
 b/kernel/sysctl.c                  |    8 
 b/mm/Makefile                      |    2 
 b/mm/backing-dev.c                 |  379 ++++++++++-
 b/mm/page-writeback.c              |  174 +----
 b/mm/swap_state.c                  |    1 
 b/mm/vmscan.c                      |    2 
 mm/pdflush.c                       |  269 -------
 30 files changed, 1238 insertions(+), 744 deletions(-)

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 29+ messages in thread
* [PATCH 0/8] Per-bdi writeback flusher threads v16
@ 2009-09-01 11:18 Jens Axboe
  2009-09-01 11:19 ` [PATCH 3/8] writeback: switch to per-bdi threads for flushing data Jens Axboe
  0 siblings, 1 reply; 29+ messages in thread
From: Jens Axboe @ 2009-09-01 11:18 UTC (permalink / raw)
  To: linux-kernel, linux-fsdevel; +Cc: chris.mason, david, hch, tytso, akpm, jack

Hi,

Here's the 16th version of the writeback patches. Changes since v15:

- Fix a newly introduced build failure in ubifs
- Split the 'move super_block to writeback_control' into a prep patch.
- Elevate super_block ref count before diving into generic_sync_sb_inodes(),
  not sure about this approach yet. Should match the old code, but perhaps
  we can do better. This fixes the issue that Ted saw with delayed writeout
  of dirty inodes after RO mount.
- Pass wbc around in fs-writeback.c instead of 3-4 arguments.

 b/block/blk-core.c                 |    1 
 b/drivers/block/aoe/aoeblk.c       |    1 
 b/drivers/char/mem.c               |    1 
 b/drivers/staging/pohmelfs/inode.c |    3 
 b/fs/btrfs/disk-io.c               |    1 
 b/fs/buffer.c                      |    2 
 b/fs/char_dev.c                    |    1 
 b/fs/configfs/inode.c              |    1 
 b/fs/fs-writeback.c                |  908 ++++++++++++++++++++---------
 b/fs/fuse/inode.c                  |    1 
 b/fs/hugetlbfs/inode.c             |    1 
 b/fs/nfs/client.c                  |    1 
 b/fs/ocfs2/dlm/dlmfs.c             |    1 
 b/fs/ramfs/inode.c                 |    1 
 b/fs/super.c                       |    3 
 b/fs/sync.c                        |    2 
 b/fs/sysfs/inode.c                 |    1 
 b/fs/ubifs/budget.c                |    5 
 b/fs/ubifs/super.c                 |    4 
 b/include/linux/backing-dev.h      |   56 +
 b/include/linux/fs.h               |   10 
 b/include/linux/writeback.h        |   19 
 b/kernel/cgroup.c                  |    1 
 b/kernel/sysctl.c                  |    8 
 b/mm/Makefile                      |    2 
 b/mm/backing-dev.c                 |  379 +++++++++++-
 b/mm/page-writeback.c              |  174 +----
 b/mm/swap_state.c                  |    1 
 b/mm/vmscan.c                      |    2 
 mm/pdflush.c                       |  269 --------
 30 files changed, 1162 insertions(+), 698 deletions(-)

-- 
Jens Axboe


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

end of thread, other threads:[~2009-09-08 14:21 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-04  7:46 [PATCH 0/8] Per-bdi writeback flusher threads v18 Jens Axboe
2009-09-04  7:46 ` [PATCH 1/8] writeback: get rid of generic_sync_sb_inodes() export Jens Axboe
2009-09-04  8:28   ` Jan Kara
2009-09-04 11:59     ` Jens Axboe
2009-09-04  7:46 ` [PATCH 2/8] writeback: move dirty inodes from super_block to backing_dev_info Jens Axboe
2009-09-04  7:46 ` [PATCH 3/8] writeback: switch to per-bdi threads for flushing data Jens Axboe
2009-09-04 10:54   ` Jan Kara
2009-09-04 11:58     ` Jens Axboe
2009-09-04 12:04       ` [PATCH 3/8] writeback: switch to per-bdi threads for flushing data v2 Jens Axboe
2009-09-04 12:06         ` Jens Axboe
2009-09-07 18:36         ` Jan Kara
2009-09-07 18:45           ` Jens Axboe
2009-09-07 19:45             ` Jan Kara
2009-09-07 19:50               ` Jens Axboe
2009-09-04  7:46 ` [PATCH 4/8] writeback: get rid of pdflush completely Jens Axboe
2009-09-04  7:46 ` [PATCH 5/8] writeback: add some debug inode list counters to bdi stats Jens Axboe
2009-09-04  7:46 ` [PATCH 6/8] writeback: add name to backing_dev_info Jens Axboe
2009-09-04  7:46 ` [PATCH 7/8] writeback: check for registered bdi in flusher add and inode dirty Jens Axboe
2009-09-04  7:46 ` [PATCH 8/8] vm: Add an tuning knob for vm.max_writeback_mb Jens Axboe
2009-09-04 15:28   ` Richard Kennedy
2009-09-05 13:26     ` Jamie Lokier
2009-09-05 16:18       ` Richard Kennedy
2009-09-05 16:46     ` Theodore Tso
2009-09-07 19:09   ` Jan Kara
  -- strict thread matches above, loose matches on Subject: below --
2009-09-08  9:23 [PATCH 0/8] Per-bdi writeback flusher threads v19 Jens Axboe
2009-09-08  9:23 ` [PATCH 3/8] writeback: switch to per-bdi threads for flushing data Jens Axboe
2009-09-08 13:46   ` Daniel Walker
2009-09-08 14:21     ` Jens Axboe
2009-09-02  8:42 [PATCH 0/8] Per-bdi writeback flusher threads v17 Jens Axboe
2009-09-02  8:42 ` [PATCH 3/8] writeback: switch to per-bdi threads for flushing data Jens Axboe
2009-09-01 11:18 [PATCH 0/8] Per-bdi writeback flusher threads v16 Jens Axboe
2009-09-01 11:19 ` [PATCH 3/8] writeback: switch to per-bdi threads for flushing data Jens Axboe

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).