On Sun, Jun 22, 2014 at 04:51:00PM +0800, Chen Yucong wrote: > According to the commit messages of "mm: vmscan: fix endless loop in kswapd balancing" > and "mm: vmscan: decide whether to compact the pgdat based on reclaim progress", minor > change is required to the following snippet. > > /* > * If any zone is currently balanced then kswapd will > * not call compaction as it is expected that the > * necessary pages are already available. > */ > if (pgdat_needs_compaction && > zone_watermark_ok(zone, order, > low_wmark_pages(zone), > *classzone_idx, 0)) > pgdat_needs_compaction = false; > > zone_watermark_ok() should be replaced by zone_balanced() in the above snippet. That's > because zone_balanced() is more suitable for the context. > What bug does this fix? The intent here is to prevent kswapd compacting a node if an allocation request within that node would succeed against the low watermark. Your change alters that to check against hte high watermark + balance gap without explaining why kswapd should compact until the high watermark is reached. -- Mel Gorman SUSE Labs -- 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/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>