linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* install_page() lockup
@ 2002-10-23  5:37 Andrew Morton
  2002-10-23  6:49 ` Ingo Molnar
  2002-10-23 15:52 ` Dave McCracken
  0 siblings, 2 replies; 4+ messages in thread
From: Andrew Morton @ 2002-10-23  5:37 UTC (permalink / raw)
  To: Dave McCracken; +Cc: Ingo Molnar, linux-mm

I'm getting lockups in install_page() with shared pagetables
enabled.  I haven't really delved into it.  It happens under
heavy memory pressure on SMP.

Ingo's new patch is using install_page much more than we
used to (I don't think I've ever run it before), so we're
running fairly untested codepaths here.

I tried this:

 mm/fremap.c |    2 ++
 1 files changed, 2 insertions(+)

--- 25/mm/fremap.c~a	Tue Oct 22 22:08:26 2002
+++ 25-akpm/mm/fremap.c	Tue Oct 22 22:09:02 2002
@@ -72,7 +72,9 @@ int install_page(struct mm_struct *mm, s
 		pte_page_lock(ptepage);
 		if (page_count(ptepage) > 1) {
 			pte = pte_unshare(mm, pmd, addr);
+			pte_page_unlock(ptepage);
 			ptepage = pmd_page(*pmd);
+			pte_page_lock(ptepage);
 		} else
 			pte = pte_offset_map(pmd, addr);
 	} else {

.

Because doing a pte_page_lock(ptepage) and then losing
track of the page we just locked looks fishy.  Didn't
help though.

Dave could you please review the code in there?  It's probably
something simple.

Thanks.
--
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/

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

end of thread, other threads:[~2002-10-23 15:55 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-10-23  5:37 install_page() lockup Andrew Morton
2002-10-23  6:49 ` Ingo Molnar
2002-10-23 15:55   ` Dave McCracken
2002-10-23 15:52 ` Dave McCracken

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