Revert "cpufreq: introduce hotplug governor"
author黄涛 <huangtao@rock-chips.com>
Wed, 22 Aug 2012 06:42:16 +0000 (14:42 +0800)
committer黄涛 <huangtao@rock-chips.com>
Wed, 22 Aug 2012 11:23:43 +0000 (19:23 +0800)
This reverts commit 1b02ab5fd585f88b65379b81874c75f66eec6492.

Documentation/cpu-freq/governors.txt
drivers/cpufreq/Kconfig
drivers/cpufreq/Makefile
include/linux/cpufreq.h

index da3cfb34825d254ca552a8f2fe24ff780a8a3eee..963a543bde4d8a44d4c2923b1a35b5eebbc69c95 100644 (file)
@@ -252,33 +252,6 @@ min_sample_time, after which speeds are allowed to drop below
 hispeed_freq according to load as usual.
 
 
-2.7 Hotplug
------------
-
-The CPUfreq governor "hotplug" operates similary to "ondemand" and
-"conservative".  It's decisions are based primarily on CPU load.  Like
-"ondemand" the "hotplug" governor will ramp up to the highest frequency
-once the run-time tunable "up_threshold" parameter is crossed.  Like
-"conservative", the "hotplug" governor exports a "down_threshold"
-parameter that is also tunable at run-time.  When the "down_threshold"
-is crossed the CPU transitions to the next lowest frequency in the
-CPUfreq frequency table instead of decrementing the frequency based on a
-percentage of maximum load.
-
-The main reason "hotplug" governor exists is for architectures requiring
-that only the master CPU be online in order to hit low-power states
-(C-states).  OMAP4 is one such example of this.  The "hotplug" governor
-is also helpful in reducing thermal output in devices with tight thermal
-constraints.
-
-Auxillary CPUs are onlined/offline based on CPU load, but the decision
-to do so is made after averaging several sampling windows.  This is to
-reduce CPU hotplug "thrashing", which can be caused by normal system
-entropy and leads to lots of spurious plug-in and plug-out transitions.
-The number of sampling periods averaged together is tunable via the
-"hotplug_in_sampling_periods" and "hotplug_out_sampling_periods"
-run-time tunable parameters.
-
 3. The Governor Interface in the CPUfreq Core
 =============================================
 
index f2f64a0b72c556c4d21ef601ed89810bc0892fdb..194708850edea435ddb11a8f2ffab412c57f4a6e 100644 (file)
@@ -109,19 +109,6 @@ config CPU_FREQ_DEFAULT_GOV_INTERACTIVE
          loading your cpufreq low-level hardware driver, using the
          'interactive' governor for latency-sensitive workloads.
 
-config CPU_FREQ_DEFAULT_GOV_HOTPLUG
-       bool "hotplug"
-       select CPU_FREQ_GOV_HOTPLUG
-       select CPU_FREQ_GOV_PERFORMANCE
-       help
-         Use the CPUFreq governor 'hotplug' as default. This allows you
-         to get a full dynamic frequency capable system with CPU
-         hotplug support by simply loading your cpufreq low-level
-         hardware driver.  Be aware that not all cpufreq drivers
-         support the hotplug governor. If unsure have a look at
-         the help section of the driver. Fallback governor will be the
-         performance governor.
-
 endchoice
 
 config CPU_FREQ_GOV_PERFORMANCE
@@ -224,25 +211,5 @@ depends on X86
 source "drivers/cpufreq/Kconfig.x86"
 endmenu
 
-config CPU_FREQ_GOV_HOTPLUG
-       tristate "'hotplug' cpufreq governor"
-       depends on CPU_FREQ && NO_HZ && HOTPLUG_CPU
-       help
-         'hotplug' - this driver mimics the frequency scaling behavior
-         in 'ondemand', but with several key differences.  First is
-         that frequency transitions use the CPUFreq table directly,
-         instead of incrementing in a percentage of the maximum
-         available frequency.  Second 'hotplug' will offline auxillary
-         CPUs when the system is idle, and online those CPUs once the
-         system becomes busy again.  This last feature is needed for
-         architectures which transition to low power states when only
-         the "master" CPU is online, or for thermally constrained
-         devices.
-
-         If you don't have one of these architectures or devices, use
-         'ondemand' instead.
-
-         If in doubt, say N.
-
 endif
 endmenu
index 1a5e64d6fcf3e1ab700dd979dd3cd4251ac16d9b..c044060a4b07315028f3179ae6e3e30435ae5187 100644 (file)
@@ -10,7 +10,6 @@ obj-$(CONFIG_CPU_FREQ_GOV_USERSPACE)  += cpufreq_userspace.o
 obj-$(CONFIG_CPU_FREQ_GOV_ONDEMAND)    += cpufreq_ondemand.o
 obj-$(CONFIG_CPU_FREQ_GOV_CONSERVATIVE)        += cpufreq_conservative.o
 obj-$(CONFIG_CPU_FREQ_GOV_INTERACTIVE) += cpufreq_interactive.o
-obj-$(CONFIG_CPU_FREQ_GOV_HOTPLUG)     += cpufreq_hotplug.o
 
 # CPUfreq cross-arch helpers
 obj-$(CONFIG_CPU_FREQ_TABLE)           += freq_table.o
index 6f492ea8a1ac4bc56b599f7d7b98402e24ae017a..ae06dc9a0cda34c7947e38124849a8a095e6fdd6 100644 (file)
@@ -361,9 +361,6 @@ extern struct cpufreq_governor cpufreq_gov_conservative;
 #elif defined(CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE)
 extern struct cpufreq_governor cpufreq_gov_interactive;
 #define CPUFREQ_DEFAULT_GOVERNOR       (&cpufreq_gov_interactive)
-#elif defined(CONFIG_CPU_FREQ_DEFAULT_GOV_HOTPLUG)
-extern struct cpufreq_governor cpufreq_gov_hotplug;
-#define CPUFREQ_DEFAULT_GOVERNOR       (&cpufreq_gov_hotplug)
 #endif