]> err.no Git - linux-2.6/commit
[PATCH] mm: never ClearPageLRU released pages
authorNick Piggin <npiggin@suse.de>
Wed, 22 Mar 2006 08:07:58 +0000 (00:07 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 22 Mar 2006 15:53:56 +0000 (07:53 -0800)
commit46453a6e194a8c55fe6cf3dc8e1c4f24e2abc013
treee407665e6c8cdf33814007750c49fdbea0a21e0e
parent2492ecc1a16b8ccf679d2999dca4f1b48aef07ee
[PATCH] mm: never ClearPageLRU released pages

If vmscan finds a zero refcount page on the lru list, never ClearPageLRU
it.  This means the release code need not hold ->lru_lock to stabilise
PageLRU, so that lock may be skipped entirely when releasing !PageLRU pages
(because we know PageLRU won't have been temporarily cleared by vmscan,
which was previously guaranteed by holding the lock to synchronise against
vmscan).

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
mm/swap.c
mm/vmscan.c