linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/13] Per-bdi writeback flusher threads #3
@ 2009-04-08 12:00 Jens Axboe
  2009-04-08 12:00 ` [PATCH 01/13] buffer: switch do_emergency_thaw() away from pdflush_operation() Jens Axboe
                   ` (13 more replies)
  0 siblings, 14 replies; 21+ messages in thread
From: Jens Axboe @ 2009-04-08 12:00 UTC (permalink / raw)
  To: linux-kernel, linux-fsdevel; +Cc: chris.mason, david, hch, akpm, jack

Hi,

This is the third version of the patchset. Changes since v2:

- Dropped some of the prep patches, since they are now in mainline.
  Unfortunately we grew another pdflush_operation() user (emergency thaw),
  so I had to introduce a new prep patch for that.

- Fix the data consistency issue in generic_sync_sb_inodes() with
  WB_SYNC_ALL that Jan Kara pointed out. I had to switch bdi_list
  to SRCU protection for this. I pondered using a mutex for bdi_lock,
  but that does not work with the pending list <-> active list
  RCU callback scheme.

- Fix race in bdi task removal, we need to synchronize_rcu() before
  doing the wb task kill, not after. This ensures that once we do the
  task kill, nobody is accessing our bdi anymore.

- Separate default wb task creation from filesystem initiated task
  additions. The former can be racy and should check the pending bit
  only to see whether it should proceed, the latter should block waiting
  for previous task additions to finish.

- Move the bdi_cap_flusher_forker() back in the series to where the
  BDI_CAP_FLUSH_FORKER flag was introduced.

- Fix a problem where the first incremental step ended up writing back
  all the dirty inodes on a bdi, not just the ones belonging to a
  specific super_block. Only a problem after the first patch, the 2nd
  patch in the series got it right again. (Thanks Jan Kara).

- Allow writeback tasks to exit, if the bdi has been idle for a certain
  period of time. The lazy create will recreate them if we see dirty
  inodes on the bdi later on.

- btrfs must register its fs_info bdi, or direct writeback will not work
  as intended. Also kill capabilities inherit from
  default_backing_dev_info and fix failure to check bdi_init() return
  value.

The branch can be pulled from:

git://git.kernel.dk/linux-2.6-block.git writeback

Or these patches can be applied directly to 2.6.30-rc1.

-- 
Jens Axboe



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

end of thread, other threads:[~2009-04-21 13:25 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-08 12:00 [PATCH 0/13] Per-bdi writeback flusher threads #3 Jens Axboe
2009-04-08 12:00 ` [PATCH 01/13] buffer: switch do_emergency_thaw() away from pdflush_operation() Jens Axboe
2009-04-08 13:03   ` Christoph Hellwig
2009-04-08 13:08     ` Jens Axboe
2009-04-08 12:00 ` [PATCH 02/13] writeback: move dirty inodes from super_block to backing_dev_info Jens Axboe
2009-04-08 12:00 ` [PATCH 03/13] writeback: switch to per-bdi threads for flushing data Jens Axboe
2009-04-08 12:00 ` [PATCH 04/13] writeback get rid of pdflush completely Jens Axboe
2009-04-08 12:00 ` [PATCH 05/13] writeback: separate the flushing state/task from the bdi Jens Axboe
2009-04-08 12:00 ` [PATCH 06/13] writeback: support > 1 flusher thread per bdi Jens Axboe
2009-04-08 12:00 ` [PATCH 07/13] writeback: include default_backing_dev_info in writeback Jens Axboe
2009-04-08 12:00 ` [PATCH 08/13] writeback: allow sleepy exit of default writeback task Jens Axboe
2009-04-08 12:00 ` [PATCH 09/13] writeback: btrfs must register its backing_devices Jens Axboe
2009-04-08 12:00 ` [PATCH 10/13] writeback: add some debug inode list counters to bdi stats Jens Axboe
2009-04-08 12:00 ` [PATCH 11/13] writeback: add name to backing_dev_info Jens Axboe
2009-04-08 12:00 ` [PATCH 12/13] writeback: check for registered bdi in flusher add and inode dirty Jens Axboe
2009-04-08 12:00 ` [PATCH 13/13] writeback: ensure consistency for generic_sync_sb_inodes() with WB_SYNC_ALL Jens Axboe
2009-04-10  3:46 ` [PATCH 0/13] Per-bdi writeback flusher threads #3 Zhang, Yanmin
2009-04-10  7:21   ` Jens Axboe
2009-04-13  3:18     ` Zhang, Yanmin
2009-04-17 13:07       ` Jens Axboe
2009-04-21 13:25         ` 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).