Commit 66a5f6b6 authored by Jean Delvare's avatar Jean Delvare Committed by Rafael J. Wysocki

cpuidle: Default to ladder governor on ticking systems

The menu governor is currently the default on all systems. However the
documentation claims that the ladder governor is preferred on ticking
systems. So bump the rating of the ladder governor when NO_HZ is
disabled, or when booting with nohz=off.

This fixes the first half of kernel BZ #65531.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=65531Signed-off-by: default avatarJean Delvare <jdelvare@suse.de>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 46373a15
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include <linux/pm_qos.h> #include <linux/pm_qos.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/jiffies.h> #include <linux/jiffies.h>
#include <linux/tick.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
...@@ -184,6 +185,14 @@ static struct cpuidle_governor ladder_governor = { ...@@ -184,6 +185,14 @@ static struct cpuidle_governor ladder_governor = {
*/ */
static int __init init_ladder(void) static int __init init_ladder(void)
{ {
/*
* When NO_HZ is disabled, or when booting with nohz=off, the ladder
* governor is better so give it a higher rating than the menu
* governor.
*/
if (!tick_nohz_enabled)
ladder_governor.rating = 25;
return cpuidle_register_governor(&ladder_governor); return cpuidle_register_governor(&ladder_governor);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment