Re: kswapd0: excessive CPU usage

Rik van Riel
2012-11-04T16:34:26Z

On 10/30/2012 03:18 PM, Mel Gorman wrote:

> restart:
> - wake_all_kswapd(order, zonelist, high_zoneidx,
> + /*
> + * kswapd is woken except when this is a THP request and compaction
> + * is deferred. If we are backing off reclaim/compaction then kswapd
> + * should not be awake aggressively reclaiming with no consumers of
> + * the freed pages
> + */
> + if (!(is_thp_alloc(gfp_mask, order) &&
> + compaction_deferred(preferred_zone, order)))
> + wake_all_kswapd(order, zonelist, high_zoneidx,
> zone_idx(preferred_zone));

What is special about thp allocations here?

Surely other large allocations that keep failing
should get the same treatment, of not waking up
kswapd if compaction is deferred?