[lkml]   [2009]   [Apr]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 0/13] Per-bdi writeback flusher threads #3
On Wed, 2009-04-08 at 14:00 +0200, Jens Axboe wrote:
> Hi,
> This is the third version of the patchset. Changes since v2:

The patchset forgets kernel/sysctl.c part, so the compilation link fails.


> - 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:// writeback
> Or these patches can be applied directly to 2.6.30-rc1.

 \ /
  Last update: 2009-04-10 05:49    [W:0.195 / U:0.300 seconds]
©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site