From: Dave Airlie on
Hi guys,

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
issues?

Dave.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Peter Zijlstra on
On Thu, 2010-08-05 at 16:21 +1000, Dave Airlie wrote:
> Hi guys,
>
> 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
> issues?

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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Yong Zhang on
On Thu, Aug 05, 2010 at 10:10:49AM +0200, Peter Zijlstra wrote:
> On Thu, 2010-08-05 at 16:21 +1000, Dave Airlie wrote:
> > Hi guys,
> >
> > 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
> > issues?
>
> 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.

commit e0fdace10e75dac67d906213b780ff1b1a4cc360
Author: David Miller <davem(a)davemloft.net>
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 <davem(a)davemloft.net>
Signed-off-by: Ingo Molnar <mingo(a)elte.hu>

Seems we can revert that commit now because of 'robustify printk'.

Dave, what do you think about it?

Thanks,
Yong

>
> Ingo, do you remember anything about that?, I think that bit comes from
> before my time.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo(a)vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/