Subject: might_sleep() called in die()

From: David Wilder <[email-masked]>
Date: Tue, 09 May 2006 14:28:47 -0700

Paul-
Can you advise me?   In the die() function might_sleep() is called while 
holding the die_lock (see call flow below).
 If voluntary preemption is set this can cause a deadlock when multiple 
Oops occur.  I am seeing this problem when issuing a soft-reset as all 
cups call die() at roughly the same time.

die() 
->>show_regs()->>show_instructions()->>__get_user_nocheck()->>might_sleep()

My question is basically should die() ever call might_sleep()? If so why?
 I currently working around the problem by calling clear_need_resched() 
at the top of die().

-- 
David Wilder
IBM Linux Technology Center
Beaverton, Oregon, USA 
[email-masked]
(503)578-3789