• P
    fix idle (arch, acpi and apm) and lockdep · 7f424a8b
    Peter Zijlstra 提交于
    OK, so 25-mm1 gave a lockdep error which made me look into this.
    
    The first thing that I noticed was the horrible mess; the second thing I
    saw was hacks like: 71e93d15
    
    The problem is that arch idle routines are somewhat inconsitent with
    their IRQ state handling and instead of fixing _that_, we go paper over
    the problem.
    
    So the thing I've tried to do is set a standard for idle routines and
    fix them all up to adhere to that. So the rules are:
    
      idle routines are entered with IRQs disabled
      idle routines will exit with IRQs enabled
    
    Nearly all already did this in one form or another.
    
    Merge the 32 and 64 bit bits so they no longer have different bugs.
    
    As for the actual lockdep warning; __sti_mwait() did a plainly un-annotated
    irq-enable.
    Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
    Tested-by: NBob Copeland <me@bobcopeland.com>
    Signed-off-by: NIngo Molnar <mingo@elte.hu>
    7f424a8b
processor_idle.c 47.9 KB