Hi, Here's the 9th version of the writeback patches. Changes since v8: - Fix a bdi_work on-stack allocation hang. I hope this fixes Ted's issue. - Get rid of the explicit wait queues, we can just use wake_up_process() since it's just for that one task. - Add separate "sync_supers" thread that makes sure that the dirty super blocks get written. We cannot safely do this from bdi_forker_task(), as that risks deadlocking on ->s_umount. Artem, I implemented this by doing the wake ups from a timer so that it would be easier for you to just deactivate the timer when there are no super blocks. For ease of patching, I've put the full diff here: http://kernel.dk/writeback-v9.patch and also stored this in a writeback-v9 branch that will not change, you can pull that into Linus tree from here: git://git.kernel.dk/linux-2.6-block.git writeback-v9 block/blk-core.c | 1 + drivers/block/aoe/aoeblk.c | 1 + drivers/char/mem.c | 1 + fs/btrfs/disk-io.c | 24 +- fs/buffer.c | 2 +- fs/char_dev.c | 1 + fs/configfs/inode.c | 1 + fs/fs-writeback.c | 804 ++++++++++++++++++++++++++++------- fs/fuse/inode.c | 1 + fs/hugetlbfs/inode.c | 1 + fs/nfs/client.c | 1 + fs/ntfs/super.c | 33 +-- fs/ocfs2/dlm/dlmfs.c | 1 + fs/ramfs/inode.c | 1 + fs/super.c | 3 - fs/sync.c | 2 +- fs/sysfs/inode.c | 1 + fs/ubifs/super.c | 1 + include/linux/backing-dev.h | 73 ++++- include/linux/fs.h | 11 +- include/linux/writeback.h | 15 +- kernel/cgroup.c | 1 + mm/Makefile | 2 +- mm/backing-dev.c | 518 ++++++++++++++++++++++- mm/page-writeback.c | 151 +------ mm/pdflush.c | 269 ------------ mm/swap_state.c | 1 + mm/vmscan.c | 2 +- 28 files changed, 1286 insertions(+), 637 deletions(-) -- Jens Axboe -- 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