[PATCH] temporarily disable swap token on memory pressure
authorRik van Riel <riel@redhat.com>
Mon, 28 Nov 2005 21:44:07 +0000 (13:44 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 28 Nov 2005 22:42:25 +0000 (14:42 -0800)
commitf7b7fd8f3ebbb2810d6893295aa984acd0fd30db
tree01afc1edafc50a3c65ec8576c05c60da53d8d242
parenta93a117eaa0bec426d4671a49bfa96a6fdcd2ac9
[PATCH] temporarily disable swap token on memory pressure

Some users (hi Zwane) have seen a problem when running a workload that
eats nearly all of physical memory - th system does an OOM kill, even
when there is still a lot of swap free.

The problem appears to be a very big task that is holding the swap
token, and the VM has a very hard time finding any other page in the
system that is swappable.

Instead of ignoring the swap token when sc->priority reaches 0, we could
simply take the swap token away from the memory hog and make sure we
don't give it back to the memory hog for a few seconds.

This patch resolves the problem Zwane ran into.

Signed-off-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
include/linux/rmap.h
include/linux/swap.h
mm/rmap.c
mm/thrash.c
mm/vmscan.c