]> git.baikalelectronics.ru Git - kernel.git/commit
[PATCH] Page Migration: Make do_swap_page redo the fault
authorChristoph Lameter <clameter@sgi.com>
Fri, 23 Jun 2006 09:03:04 +0000 (02:03 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 23 Jun 2006 14:42:45 +0000 (07:42 -0700)
commit7f441e480fc66c6a91797a7e8345f0dab6a4aaf9
tree948701e336ec4ca2742b69f7197b89aa61df27d2
parenteb6a934c40603b47323e3e2f185b2322016eb8d2
[PATCH] Page Migration: Make do_swap_page redo the fault

It is better to redo the complete fault if do_swap_page() finds that the
page is not in PageSwapCache() because the page migration code may have
replaced the swap pte already with a pte pointing to valid memory.

do_swap_page() may interpret an invalid swap entry without this patch
because we do not reload the pte if we are looping back.  The page
migration code may already have reused the swap entry referenced by our
local swp_entry.

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Cc: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
mm/memory.c