• Daniel Lezcano's avatar
    cpuidle: improve governor Kconfig options · d6f346f2
    Daniel Lezcano authored
    Each governor is suitable for different kernel configurations: the menu
    governor suits better for a tickless system, while the ladder governor fits
    better for a periodic timer tick system.
    
    The Kconfig does not allow to [un]select a governor, thus both are compiled in
    the kernel but the init order makes the menu governor to be the last one to be
    registered, so becoming the default. The only way to switch back to the ladder
    governor is to enable the sysfs governor switch in the kernel command line.
    
    Because it seems nobody complained about this, the menu governor is used by
    default most of the time on the system, having both governors is not really
    necessary on a tickless system but there isn't a config option to disable one
    or another governor.
    
    Create a submenu for cpuidle and add a label for each governor, so we can see
    the option in the menu config and enable/disable it.
    
    The governors will be enabled depending on the CONFIG_NO_HZ option:
     - If CONFIG_NO_HZ is set, then the menu governor is selected and the ladder
       governor is optional, defaulting to 'yes'
     - If CONFIG_NO_HZ is not set, then the ladder governor is selected and the
       menu governor is optional, defaulting to 'yes'
    Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    d6f346f2
Kconfig 1.13 KB