Skip to contentSkip to conversation

might_sleep() called in die()

DISCUSSION David Wilder 1 participant 1 message May 9, 2006

lore
Share & tools
lore
#0 lore raw

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().

Signature · 4 lines
David Wilder
IBM Linux Technology Center
Beaverton, Oregon, USA [email protected]
(503)578-3789