linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* page_lock_anon_vma(): remove check for mapped page
@ 2006-02-25  1:03 Christoph Lameter
  2006-02-25 14:01 ` Hugh Dickins
  0 siblings, 1 reply; 16+ messages in thread
From: Christoph Lameter @ 2006-02-25  1:03 UTC (permalink / raw)
  To: akpm; +Cc: linux-mm, Hugh Dickins

Any reason that this function is checking for a mapped page? There could
be references through a swap pte to the page. The looping in
remove_from_swap, page_referenced_anon and try_to_unmap anon would 
work even if the check for a mapped page would be removed.

I have sent the patch below today to Hugh Dickins but did not receive an 
answer. Probaby requires some discussion.



It is okay to obtain a anon vma lock for a page that is only mapped
via a swap pte to the page. This occurs frequently during page
migration. The check for a mapped page (requiring regular ptes pointing
to the page) gets in the way.

Without this patch anonymous pages will have swap ptes after migration
that then need to be converted into regular ptes via a page fault.

Signed-off-by: Christoph Lameter <clameter@sgi.com>

Index: linux-2.6.16-rc4/mm/rmap.c
===================================================================
--- linux-2.6.16-rc4.orig/mm/rmap.c	2006-02-17 14:23:45.000000000 -0800
+++ linux-2.6.16-rc4/mm/rmap.c	2006-02-24 13:19:11.000000000 -0800
@@ -196,8 +196,6 @@ static struct anon_vma *page_lock_anon_v
 	anon_mapping = (unsigned long) page->mapping;
 	if (!(anon_mapping & PAGE_MAPPING_ANON))
 		goto out;
-	if (!page_mapped(page))
-		goto out;
 
 	anon_vma = (struct anon_vma *) (anon_mapping - PAGE_MAPPING_ANON);
 	spin_lock(&anon_vma->lock);

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2006-02-27 18:43 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-02-25  1:03 page_lock_anon_vma(): remove check for mapped page Christoph Lameter
2006-02-25 14:01 ` Hugh Dickins
2006-02-26  4:42   ` Hugh Dickins
2006-02-26  5:26     ` Christoph Lameter
2006-02-26 15:58       ` Hugh Dickins
2006-02-27 15:47         ` Christoph Lameter
2006-02-26  5:57     ` Christoph Lameter
2006-02-26 16:07       ` Hugh Dickins
2006-02-27 15:55         ` Christoph Lameter
2006-02-27 16:32           ` Hugh Dickins
2006-02-27 16:43             ` Christoph Lameter
2006-02-27 17:23               ` Hugh Dickins
2006-02-27 18:11                 ` Christoph Lameter
2006-02-27 18:27                   ` Hugh Dickins
2006-02-27 18:31                     ` Christoph Lameter
2006-02-27 18:43                       ` Hugh Dickins

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox