I was debugging a wierd issue with suspend/resume and fbcon/X with
some recent work Jesse and myself did to try and make sure a pinned
fbcon always gets the text on it with a panic or oops occurs.
It does this by testing the oops_in_progress flag, however once any
lockdep issue occurs it looks to me that we leave this flag set
forever, in most places I can see in oops code etc they call
bust_spinlocks(1) then bust_spinlocks(0) to balance the
oops_in_progress value, but lockdep never seems to reset it.
I'm wondering if there is an inherent reason for this or if I whip up
a patch to reset once the lockdep is printed if this would cause any
That's debug_locks_off(), right? I don't think there's a particular
reason we keep it set, cleaning that up might take a bit of work but
shouldn't be too hard.
Ingo, do you remember anything about that?, I think that bit comes from
before my time.
Author: David Miller <email@example.com>
Date: Fri Aug 1 01:11:22 2008 -0700
debug_locks: set oops_in_progress if we will log messages.
Otherwise lock debugging messages on runqueue locks can deadlock the
system due to the wakeups performed by printk().
Signed-off-by: David S. Miller <firstname.lastname@example.org>
Signed-off-by: Ingo Molnar <email@example.com>
Seems we can revert that commit now because of 'robustify printk'.
Dave, what do you think about it?