On Thu, Jul 29, 2010 at 11:02:41PM +0800, Jan Kara wrote: > Hi Fengguang, > > On Thu 29-07-10 19:51:45, Wu Fengguang wrote: > > The start time in writeback_inodes_wb() is not very useful because it > > slips at each invocation time. Preferrably one _constant_ time shall be > > used at the beginning to cover the whole sync() work. > > > > The newly dirtied inodes are now guarded at the queue_io() time instead > > of the b_io walk time. This is more natural: non-empty b_io/b_more_io > > means "more work pending". > > > > The timestamp is now grabbed the sync work submission time, and may be > > further optimized to the initial sync() call time. > The patch seems to have some issues... > > > + if (wbc->for_sync) { > For example this is never set. You only set wb->for_sync. Ah right. > > + expire_interval = 1; > > + older_than_this = wbc->sync_after; > And sync_after is never set either??? Sorry I must lose some chunk when rebasing the patch .. > > - if (!(wbc->for_kupdate || wbc->for_background) || list_empty(&wb->b_io)) > > + if (list_empty(&wb->b_io)) > > queue_io(wb, wbc); > And what is the purpose of this? It looks as an unrelated change to me. Yes it's not tightly related. It may be simpler to do - if (!wbc->for_kupdate || list_empty(&wb->b_io)) + if (list_empty(&wb->b_io)) in the previous patch "writeback: sync expired inodes first in background writeback". Thanks, Fengguang -- 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>