public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* kmap() while holding spinlock
@ 2001-07-26 20:12 Anton Blanchard
  2001-07-26 12:17 ` Ingo Molnar
  0 siblings, 1 reply; 5+ messages in thread
From: Anton Blanchard @ 2001-07-26 20:12 UTC (permalink / raw)
  To: linux-kernel


Hi,

I was debugging a lockup on sparc32 where we took a page_table_lock
in handle_mm_fault and then tried to take the same one again in
swap_out_mm. So it looks like we are scheduling somewhere inside
handle_mm_fault while holding the page_table_lock.

This machine might have highmem (Im awaiting more information). If
so copy_user_highpage and clear_user_highpage could sleep if we
run out of kmap entries. There are two problems:

do_anonymous_page calls clear_user_highpage with the page_table_lock held.

do_wp_page calls break_cow with the page_table_lock held.

Since I dont think we can drop the lock, do we need a kmap_atomic for
these?

Anton

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

end of thread, other threads:[~2001-07-26 19:49 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-07-26 20:12 kmap() while holding spinlock Anton Blanchard
2001-07-26 12:17 ` Ingo Molnar
2001-07-26 12:29   ` highmem-2.4.7-A0 [Re: kmap() while holding spinlock] Ingo Molnar
2001-07-26 18:25     ` Jeremy Linton
2001-07-26 19:50       ` Hugh Dickins

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