Re: [PATCH 1/6 -v2] writeback: balance_dirty_pages() shall write more than dirtied pages

Wu Fengguang
2009-09-23T13:58:22Z

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