Re: [PATCH] mm:vmscan:replace zone_watermark_ok with zone_balanced for determining if kswapd will call compaction

From: Mel Gorman
Date: Mon Jun 23 2014 - 07:16:05 EST


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 from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/