Re: [PATCH 2/6] writeback: the kupdate expire timestamp should bea moving target

From: Mel Gorman
Date: Mon Jul 26 2010 - 06:52:21 EST


On Thu, Jul 22, 2010 at 01:09:30PM +0800, Wu Fengguang wrote:
> Dynamicly compute the dirty expire timestamp at queue_io() time.
> Also remove writeback_control.older_than_this which is no longer used.
>
> writeback_control.older_than_this used to be determined at entrance to
> the kupdate writeback work. This _static_ timestamp may go stale if the
> kupdate work runs on and on. The flusher may then stuck with some old
> busy inodes, never considering newly expired inodes thereafter.
>
> This has two possible problems:
>
> - It is unfair for a large dirty inode to delay (for a long time) the
> writeback of small dirty inodes.
>
> - As time goes by, the large and busy dirty inode may contain only
> _freshly_ dirtied pages. Ignoring newly expired dirty inodes risks
> delaying the expired dirty pages to the end of LRU lists, triggering
> the very bad pageout(). Neverthless this patch merely addresses part
> of the problem.
>
> CC: Jan Kara <jack@xxxxxxx>
> Signed-off-by: Wu Fengguang <fengguang.wu@xxxxxxxxx>

Again, makes sense and I can't see a problem. There are some worth
smithing issues in the changelog such as Dynamicly -> Dynamically and
s/writeback_control.older_than_this used/writeback_control.older_than_this is used/
but other than that.

Acked-by: Mel Gorman <mel@xxxxxxxxx>

--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/