Re: try_to_freeze() called with IRQs disabled on ARM

From: Russell King - ARM Linux
Date: Tue Aug 23 2011 - 18:01:22 EST


On Tue, Aug 23, 2011 at 11:53:42PM +0200, Tejun Heo wrote:
> Hello,
>
> On Tue, Aug 23, 2011 at 11:51 PM, Rafael J. Wysocki <rjw@xxxxxxx> wrote:
> >> and the boot runs very slowly.  Reverting the series merged in 56f0be
> >> appears to resolve the issue,
> >
> > In fact, the patch from:
> >
> > https://patchwork.kernel.org/patch/1083602/
> >
> > is sufficient to make the calltrace go away.
>
> Yes, that's true but the added might_sleep() discovered an actual bug
> here, so I still think it's better to keep it there.
>
> If proper fix is difficult, I think doing something like if
> (!in_atomic()) try_to_freeze() with big fat warning explaining what's
> broken and how it should be fixed should do it for now if the proper
> fix is gonna take some time. That way, we document what's broken where
> it's broken and get to keep the useful debugging annotation.

How does that solve it? IRQs disabled from assembly, which doesn't touch
the preempt counter.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/