]> git.baikalelectronics.ru Git - kernel.git/commit
mm: vmscan: fix inappropriate zone congestion clearing
authorJohannes Weiner <hannes@cmpxchg.org>
Thu, 6 Dec 2012 20:23:25 +0000 (15:23 -0500)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 8 Dec 2012 16:41:18 +0000 (08:41 -0800)
commitc04b7725718e93cd291b46203a8bb8e3ec9663da
treee124564fc3796c67098399fdd15a48240f3430f5
parent7acd84cc96d4ac732d0e78dd83b49dcfe5e64ec3
mm: vmscan: fix inappropriate zone congestion clearing

commit d521ddd75e82 ("mm: vmscan: do not keep kswapd looping forever due
to individual uncompactable zones") removed zone watermark checks from
the compaction code in kswapd but left in the zone congestion clearing,
which now happens unconditionally on higher order reclaim.

This messes up the reclaim throttling logic for zones with
dirty/writeback pages, where zones should only lose their congestion
status when their watermarks have been restored.

Remove the clearing from the zone compaction section entirely.  The
preliminary zone check and the reclaim loop in kswapd will clear it if
the zone is considered balanced.

Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Reviewed-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/vmscan.c