Hi Mel, Too late review. At that time, I had no time to look into this patch. On Fri, Jun 24, 2011 at 03:44:57PM +0100, Mel Gorman wrote: > During allocator-intensive workloads, kswapd will be woken frequently > causing free memory to oscillate between the high and min watermark. > This is expected behaviour. Unfortunately, if the highest zone is > small, a problem occurs. > > When balance_pgdat() returns, it may be at a lower classzone_idx than > it started because the highest zone was unreclaimable. Before checking Yes. > if it should go to sleep though, it checks pgdat->classzone_idx which > when there is no other activity will be MAX_NR_ZONES-1. It interprets Yes. > this as it has been woken up while reclaiming, skips scheduling and Hmm. I can't understand this part. If balance_pgdat returns lower classzone and there is no other activity, new_classzone_idx is always MAX_NR_ZONES - 1 so that classzone_idx would be less than new_classzone_idx. It means it doesn't skip scheduling. Do I miss something? -- Kinds regards, Minchan Kim -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>