]> git.baikalelectronics.ru Git - kernel.git/commit
mm: clarify __add_to_swap_cache locking
authorNick Piggin <npiggin@suse.de>
Tue, 16 Oct 2007 08:24:42 +0000 (01:24 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Tue, 16 Oct 2007 16:42:53 +0000 (09:42 -0700)
commit21e4455ccf0a2b4c1bbeab74b26cfd9e3dacd29b
tree73245c1da2c5352c526d4d25f02e69943b4b0b15
parent035cfaf39cdf576f79bceec5e5b8cbd632b6c596
mm: clarify __add_to_swap_cache locking

__add_to_swap_cache unconditionally sets the page locked, which can be a bit
alarming to the unsuspecting reader: in the code paths where the page is
visible to other CPUs, the page should be (and is) already locked.

Instead, just add a check to ensure the page is locked here, and teach the one
path relying on the old behaviour to call SetPageLocked itself.

[hugh@veritas.com: locking fix]
Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/swap_state.c