• Eero Nurkkala's avatar
    NOHZ: update idle state also when NOHZ is inactive · cfa0c194
    Eero Nurkkala authored
    Commit f2e21c96 had unfortunate side
    effects with cpufreq governors on some systems.
    
    If the system did not switch into NOHZ mode ts->inidle is not set when
    tick_nohz_stop_sched_tick() is called from the idle routine. Therefor
    all subsequent calls from irq_exit() to tick_nohz_stop_sched_tick()
    fail to call tick_nohz_start_idle(). This results in bogus idle
    accounting information which is passed to cpufreq governors.
    
    Set the inidle flag unconditionally of the NOHZ active state to keep
    the idle time accounting correct in any case.
    
    [ tglx: Added comment and tweaked the changelog ]
    Reported-by: default avatarSteven Noonan <steven@uplinklabs.net>
    Signed-off-by: default avatarEero Nurkkala <ext-eero.nurkkala@nokia.com>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
    Cc: Greg KH <greg@kroah.com>
    Cc: Steven Noonan <steven@uplinklabs.net>
    Cc: stable@kernel.org
    LKML-Reference: <1254907901.30157.93.camel@eenurkka-desktop>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    cfa0c194
tick-sched.c 19.4 KB