diff options
author | Nick Piggin <npiggin@suse.de> | 2006-03-22 09:08:03 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-22 16:53:57 +0100 |
commit | 7c8ee9a86340db686cd4314e9944dc9b6111bda9 (patch) | |
tree | 80638e1658556b4fd7c0b92d571aaac854245bd3 /arch/xtensa | |
parent | [PATCH] mm: slab less atomics (diff) | |
download | linux-7c8ee9a86340db686cd4314e9944dc9b6111bda9.tar.xz linux-7c8ee9a86340db686cd4314e9944dc9b6111bda9.zip |
[PATCH] mm: simplify vmscan vs release refcounting
The VM has an interesting race where a page refcount can drop to zero, but it
is still on the LRU lists for a short time. This was solved by testing a 0->1
refcount transition when picking up pages from the LRU, and dropping the
refcount in that case.
Instead, use atomic_add_unless to ensure we never pick up a 0 refcount page
from the LRU, thus a 0 refcount page will never have its refcount elevated
until it is allocated again.
Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/xtensa')
0 files changed, 0 insertions, 0 deletions