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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>