On Thu, Sep 16, 2010 at 04:59:49PM +0900, Minchan Kim wrote: > On Wed, Sep 15, 2010 at 01:27:50PM +0100, Mel Gorman wrote: > > If congestion_wait() is called with no BDI congested, the caller will sleep > > for the full timeout and this may be an unnecessary sleep. This patch adds > > a wait_iff_congested() that checks congestion and only sleeps if a BDI is > > congested else, it calls cond_resched() to ensure the caller is not hogging > > the CPU longer than its quota but otherwise will not sleep. > > > > This is aimed at reducing some of the major desktop stalls reported during > > IO. For example, while kswapd is operating, it calls congestion_wait() > > but it could just have been reclaiming clean page cache pages with no > > congestion. Without this patch, it would sleep for a full timeout but after > > this patch, it'll just call schedule() if it has been on the CPU too long. > > Similar logic applies to direct reclaimers that are not making enough > > progress. > > I confused due to kswapd you mentioned. > This patch affects only direct reclaim. > Please, complete the description. > My bad, when the description was first written, both were affected and I neglected to correct the description. I'm still debating with myself as to whether the kswapd congestion_wait() should be wait_iff_congested() or not. Thanks > "This patch affects direct reclaimer to reduce stall" > Otherwise, looks good to me. > > > > > Signed-off-by: Mel Gorman <mel@xxxxxxxxx> > Reviewed-by: Minchan Kim <minchan.kim@xxxxxxxxx> > > -- > Kind regards, > Minchan Kim > -- 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>