diff options
author | Nick Piggin <npiggin@suse.de> | 2006-03-22 00:08:03 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-22 07:53:57 -0800 |
commit | 7c8ee9a86340db686cd4314e9944dc9b6111bda9 (patch) | |
tree | 80638e1658556b4fd7c0b92d571aaac854245bd3 /include/linux/i2c-algo-ite.h | |
parent | f205b2fe62d321403525065a4cb31b6bff1bbe53 (diff) |
[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 'include/linux/i2c-algo-ite.h')
0 files changed, 0 insertions, 0 deletions