• Andi Kleen's avatar
    [PATCH] x86: Don't use nested idle loops · 72690a21
    Andi Kleen authored
    Currently the idle loop has two nested loops -- one high level
    in cpu_idle and in some low level idle functions another one.
    
    Looping in the low level idle functions breaks the idle notifiers
    because interrupts waking up sleep states need to execute
    exit_idle() which is only in cpu_idle().
    
    So don't do that, only loop in cpu_idle(). This only removes
    code.
    
    In some cases e.g. poll_idle the idle loop is a little longer
    now because cpu_idle checks more things. I hope that isn't a problem
    ACPI idle doesn't change behaviour because it never looped anyways.
    
    Cc: len.brown@intel.com
    Cc: eranian@hpl.hp.com
    Signed-off-by: default avatarAndi Kleen <ak@suse.de>
    72690a21
process.c 22.3 KB