Hi, While playing with btrfs on top of wb_throttle, an interesting thing is that writeback from btrfs always falls into %rwb->wb_background even if there're no other writers. The peculiarity of btrfs is that, it owns the ability of mananging disks so that it creates a private bdi stored in sb->s_bdi, which is different from %queue->backing_device_info. So running balance_dirty_pages() during btrfs's buffered writes doesn't take any effect on %queue->backing_device_info->wb, thus it's got into the wb_background bucket all the time. Haven't measure the performance numbers with a real test, but in theory this problem will let buffered writer spend more time in balance_dirty_pages()'s for(;;) loop. Chris, Jens, thoughts? Thanks, -liubo