Prev: writeback: sync expired inodes first in background writeback
Next: sysrq: don't hold the sysrq_key_table_lock during the handler
From: Mel Gorman on 26 Jul 2010 07:00 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(a)suse.cz> > Signed-off-by: Wu Fengguang <fengguang.wu(a)intel.com> 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(a)csn.ul.ie> -- 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(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |