cpufreq: Add BLU_ACTIVE governor
Signed-off-by: djb77 <dwayne.bakewell@gmail.com> Signed-off-by: prashantpaddune <elonpras@my.smccd.edu>
This commit is contained in:
parent
12c22648f0
commit
7233c6d23a
|
@ -619,6 +619,7 @@ CONFIG_CPU_FREQ_TIMES=y
|
||||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
|
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
|
||||||
CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y
|
CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y
|
||||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
|
# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
|
||||||
|
# CONFIG_CPU_FREQ_BLU_ACTIVE is not set
|
||||||
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
|
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
|
||||||
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
|
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
|
||||||
CONFIG_CPU_FREQ_GOV_USERSPACE=y
|
CONFIG_CPU_FREQ_GOV_USERSPACE=y
|
||||||
|
@ -628,6 +629,7 @@ CONFIG_CPU_INDEX_QOS_CLUSTER0=0
|
||||||
CONFIG_CPU_INDEX_QOS_CLUSTER1=6
|
CONFIG_CPU_INDEX_QOS_CLUSTER1=6
|
||||||
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
|
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
|
||||||
# CONFIG_CPU_FREQ_GOV_SCHEDUTIL is not set
|
# CONFIG_CPU_FREQ_GOV_SCHEDUTIL is not set
|
||||||
|
CONFIG_CPU_FREQ_GOV_BLU_ACTIVE=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# CPU frequency scaling drivers
|
# CPU frequency scaling drivers
|
||||||
|
|
|
@ -138,6 +138,15 @@ config CPU_FREQ_DEFAULT_GOV_SCHEDUTIL
|
||||||
have a look at the help section of that governor. The fallback
|
have a look at the help section of that governor. The fallback
|
||||||
governor will be 'performance'.
|
governor will be 'performance'.
|
||||||
|
|
||||||
|
config CPU_FREQ_DEFAULT_GOV_BLU_ACTIVE
|
||||||
|
bool "blu_active"
|
||||||
|
select CPU_FREQ_GOV_BLU_ACTIVE
|
||||||
|
help
|
||||||
|
Use the CPUFreq governor 'blu_active' as default. This allows
|
||||||
|
you to get a full dynamic cpu frequency capable system by simply
|
||||||
|
loading your cpufreq low-level hardware driver, using the
|
||||||
|
'interactive' governor for latency-sensitive workloads.
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
config CPU_FREQ_GOV_PERFORMANCE
|
config CPU_FREQ_GOV_PERFORMANCE
|
||||||
|
@ -292,6 +301,21 @@ config CPUFREQ_DT
|
||||||
|
|
||||||
If in doubt, say N.
|
If in doubt, say N.
|
||||||
|
|
||||||
|
config CPU_FREQ_GOV_BLU_ACTIVE
|
||||||
|
tristate "'blu_active' cpufreq policy governor"
|
||||||
|
help
|
||||||
|
'blu_active' - This driver adds a dynamic cpufreq policy governor
|
||||||
|
designed for latency-sensitive workloads.
|
||||||
|
|
||||||
|
This governor attempts to reduce the latency of clock
|
||||||
|
increases so that the system is more responsive to
|
||||||
|
interactive workloads.
|
||||||
|
|
||||||
|
To compile this driver as a module, choose M here: the
|
||||||
|
module will be called cpufreq_blu_active.
|
||||||
|
|
||||||
|
If in doubt, say N.
|
||||||
|
|
||||||
if X86
|
if X86
|
||||||
source "drivers/cpufreq/Kconfig.x86"
|
source "drivers/cpufreq/Kconfig.x86"
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -14,6 +14,7 @@ obj-$(CONFIG_CPU_FREQ_GOV_USERSPACE) += cpufreq_userspace.o
|
||||||
obj-$(CONFIG_CPU_FREQ_GOV_ONDEMAND) += cpufreq_ondemand.o
|
obj-$(CONFIG_CPU_FREQ_GOV_ONDEMAND) += cpufreq_ondemand.o
|
||||||
obj-$(CONFIG_CPU_FREQ_GOV_CONSERVATIVE) += cpufreq_conservative.o
|
obj-$(CONFIG_CPU_FREQ_GOV_CONSERVATIVE) += cpufreq_conservative.o
|
||||||
obj-$(CONFIG_CPU_FREQ_GOV_INTERACTIVE) += cpufreq_interactive.o
|
obj-$(CONFIG_CPU_FREQ_GOV_INTERACTIVE) += cpufreq_interactive.o
|
||||||
|
obj-$(CONFIG_CPU_FREQ_GOV_BLU_ACTIVE)+= cpufreq_blu_active.o
|
||||||
obj-$(CONFIG_CPU_FREQ_GOV_COMMON) += cpufreq_governor.o
|
obj-$(CONFIG_CPU_FREQ_GOV_COMMON) += cpufreq_governor.o
|
||||||
obj-$(CONFIG_CPU_FREQ_GOV_ATTR_SET) += cpufreq_governor_attr_set.o
|
obj-$(CONFIG_CPU_FREQ_GOV_ATTR_SET) += cpufreq_governor_attr_set.o
|
||||||
|
|
||||||
|
|
1389
drivers/cpufreq/cpufreq_blu_active.c
Normal file
1389
drivers/cpufreq/cpufreq_blu_active.c
Normal file
File diff suppressed because it is too large
Load Diff
|
@ -560,6 +560,9 @@ extern struct cpufreq_governor cpufreq_gov_interactive;
|
||||||
#elif defined(CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL)
|
#elif defined(CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL)
|
||||||
extern struct cpufreq_governor schedutil_gov;
|
extern struct cpufreq_governor schedutil_gov;
|
||||||
#define CPUFREQ_DEFAULT_GOVERNOR (&schedutil_gov)
|
#define CPUFREQ_DEFAULT_GOVERNOR (&schedutil_gov)
|
||||||
|
#elif defined(CONFIG_CPU_FREQ_DEFAULT_GOV_BLU_ACTIVE)
|
||||||
|
extern struct cpufreq_governor cpufreq_gov_blu_active;
|
||||||
|
#define CPUFREQ_DEFAULT_GOVERNOR (&cpufreq_gov_blu_active)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*********************************************************************
|
/*********************************************************************
|
||||||
|
|
Loading…
Reference in New Issue
Block a user