Re: [PATCH] mm: wait for congestion to clear on all zones

From: Zlatko Calusic
Date: Wed Jan 09 2013 - 17:52:35 EST


On 09.01.2013 22:48, Andrew Morton wrote:
On Wed, 09 Jan 2013 22:41:48 +0100
Zlatko Calusic <zlatko.calusic@xxxxxxxx> wrote:

Currently we take a short nap (HZ/10) and wait for congestion to clear
before taking another pass with lower priority in balance_pgdat(). But
we do that only for the highest zone that we encounter is unbalanced
and congested.

This patch changes that to wait on all congested zones in a single
pass in the hope that it will save us some scanning that way. Also we
take a nap as soon as congested zone is encountered and sc.priority <
DEF_PRIORITY - 2 (aka kswapd in trouble).

...

The patch is against the mm tree. Make sure that
mm-avoid-calling-pgdat_balanced-needlessly.patch is applied first (not
yet in the mmotm tree). Tested on half a dozen systems with different
workloads for the last few days, working really well!

But what are the user-observable effcets of this change? Less kernel
CPU consumption, presumably? Did you quantify it?


And I forgot to answer all the questions... :(

Actually, I did record kswapd CPU usage after 5 days of uptime and I intend to compare it with the new data (after few more days pass). I expect maybe slightly better results.

But, I think it's obvious from my first reply that my primary goal with this patch is correctness, not optimization. So, I won't be dissapointed a little bit if kswapd CPU usage stays the same, so long as the memory utilization remains this smooth. ;)

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