cpuidle: Make cpuidle governor switchable to be the default behaviour
authorHanjun Guo <guohanjun@huawei.com>
Tue, 19 May 2020 06:25:22 +0000 (14:25 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 19 May 2020 15:41:17 +0000 (17:41 +0200)
For now cpuidle governor can be switched via sysfs only when the
boot option "cpuidle_sysfs_switch" is passed, but it's important
to switch the governor to adapt to different workloads, especially
after TEO and haltpoll governor were introduced.

Add available_governors and current_governor into the default
attributes, but reserve the current_governor_ro for compatiblity.

Signed-off-by: Hanjun Guo <guohanjun@huawei.com>
Reviewed-by: Doug Smythies <dsmythies@telus.net>
Tested-by: Doug Smythies <dsmythies@telus.net>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpuidle/sysfs.c

index a57ad10..b51c470 100644 (file)
@@ -106,19 +106,20 @@ static ssize_t store_current_governor(struct device *dev,
        return ret ? ret : count;
 }
 
+static DEVICE_ATTR(available_governors, 0444, show_available_governors, NULL);
 static DEVICE_ATTR(current_driver, 0444, show_current_driver, NULL);
+static DEVICE_ATTR(current_governor, 0644, show_current_governor,
+                                  store_current_governor);
 static DEVICE_ATTR(current_governor_ro, 0444, show_current_governor, NULL);
 
 static struct attribute *cpuidle_default_attrs[] = {
+       &dev_attr_available_governors.attr,
        &dev_attr_current_driver.attr,
+       &dev_attr_current_governor.attr,
        &dev_attr_current_governor_ro.attr,
        NULL
 };
 
-static DEVICE_ATTR(available_governors, 0444, show_available_governors, NULL);
-static DEVICE_ATTR(current_governor, 0644, show_current_governor,
-                  store_current_governor);
-
 static struct attribute *cpuidle_switch_attrs[] = {
        &dev_attr_available_governors.attr,
        &dev_attr_current_driver.attr,