Re: [PATCH 1/6] mm: kswapd: Stop high-order balancing when anysuitable zone is balanced

From: Andrew Morton
Date: Tue Dec 14 2010 - 17:33:50 EST


On Fri, 10 Dec 2010 15:46:20 +0000
Mel Gorman <mel@xxxxxxxxx> wrote:

> When the allocator enters its slow path, kswapd is woken up to balance the
> node. It continues working until all zones within the node are balanced. For
> order-0 allocations, this makes perfect sense but for higher orders it can
> have unintended side-effects. If the zone sizes are imbalanced, kswapd may
> reclaim heavily within a smaller zone discarding an excessive number of
> pages.

Why was it doing this?

> The user-visible behaviour is that kswapd is awake and reclaiming
> even though plenty of pages are free from a suitable zone.

Suitable for what? I assume you refer to a future allocation which can
be satisfied from more than one of the zones?

But what if that allocation wanted to allocate a high-order page from
a zone which we just abandoned?

> This patch alters the "balance" logic for high-order reclaim allowing kswapd
> to stop if any suitable zone becomes balanced to reduce the number of pages

again, suitable for what?

> it reclaims from other zones. kswapd still tries to ensure that order-0
> watermarks for all zones are met before sleeping.

Handling order-0 pages differently from higher-order pages sounds weird
and wrong.

I don't think I understand this patch.

--
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/