On Wed, Sep 23, 2009 at 09:56:00PM +0800, Wu Fengguang wrote: > -static inline long sync_writeback_pages(void) > +static inline long sync_writeback_pages(unsigned long dirtied) > { > - return ratelimit_pages + ratelimit_pages / 2; > + if (dirtied < ratelimit_pages) > + dirtied = ratelimit_pages; Just added the above checks. Now balance_dirty_pages() for XFS works in a much larger 1536 chunk size :) [ 40.374081] redirty_tail() +516: inode=131 [ 40.374951] mm/page-writeback.c +543 balance_dirty_pages(): comm=cp pid=3296 n=1536 [ 40.377001] global dirty=49818 writeback=17027 nfs=0 flags=CM towrite=0 skipped=0 > + > + return dirtied + dirtied / 2; > } Thanks, Fengguang -- 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