]> Git Repo - linux.git/commit
mm: avoid swapping out with swappiness==0
authorSatoru Moriya <[email protected]>
Tue, 29 May 2012 22:06:47 +0000 (15:06 -0700)
committerLinus Torvalds <[email protected]>
Tue, 29 May 2012 23:22:24 +0000 (16:22 -0700)
commitfe35004fbf9eaf67482b074a2e032abb9c89b1dd
treea4c1387c914e6967d9a2e60174dc1dd78af72ee8
parentc50ac050811d6485616a193eb0f37bfbd191cc89
mm: avoid swapping out with swappiness==0

Sometimes we'd like to avoid swapping out anonymous memory.  In
particular, avoid swapping out pages of important process or process
groups while there is a reasonable amount of pagecache on RAM so that we
can satisfy our customers' requirements.

OTOH, we can control how aggressive the kernel will swap memory pages with
/proc/sys/vm/swappiness for global and
/sys/fs/cgroup/memory/memory.swappiness for each memcg.

But with current reclaim implementation, the kernel may swap out even if
we set swappiness=0 and there is pagecache in RAM.

This patch changes the behavior with swappiness==0.  If we set
swappiness==0, the kernel does not swap out completely (for global reclaim
until the amount of free pages and filebacked pages in a zone has been
reduced to something very very small (nr_free + nr_filebacked < high
watermark)).

Signed-off-by: Satoru Moriya <[email protected]>
Acked-by: Minchan Kim <[email protected]>
Reviewed-by: Rik van Riel <[email protected]>
Acked-by: Jerome Marchand <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
mm/vmscan.c
This page took 0.058921 seconds and 4 git commands to generate.