try_to_freeze() called with IRQs disabled on ARM

Tejun Heo tj at kernel.org
Tue Aug 23 18:17:03 EDT 2011


On Wed, Aug 24, 2011 at 12:13 AM, Russell King - ARM Linux
<linux at arm.linux.org.uk> wrote:
> Thereby entirely preventing threads from being frozen?  You're asking
> me to effectively disable suspend/resume on an architecture where it's
> heavily used.  That's not a good idea, and would be an out-right
> regression.

Eh? So, it's supposed to enter refrigerator with IRQ disabled? Then,
moving might_sleep() inside refrigerator() doesn't help either, does
it? Then we should be doing is,

if (freezing() && IRQ disabled) {
      bust on IRQ;
      try_to_freeze();
      replug IRQ;
}

But, that can't be right. The current code isn't triggering warning
from scheduler code, right? If the above is the case, it should be
triggering that. What am I missing?

-- 
tejun



More information about the linux-arm-kernel mailing list