Home
last modified time | relevance | path

Searched full:governor (Results 1 – 25 of 158) sorted by relevance

1234567

/Linux-v6.6/drivers/cpufreq/
DKconfig12 clock speed, you need to either enable a dynamic cpufreq governor
38 prompt "Default CPUFreq governor"
44 This option sets which CPUFreq governor shall be loaded at
51 Use the CPUFreq governor 'performance' as default. This sets
59 Use the CPUFreq governor 'powersave' as default. This sets
67 Use the CPUFreq governor 'userspace' as default. This allows
70 to enable the userspace governor manually.
78 Use the CPUFreq governor 'ondemand' as default. This allows
82 governor. If unsure have a look at the help section of the
83 driver. Fallback governor will be the performance governor.
[all …]
Dcpufreq.c702 * cpufreq_parse_governor - parse a governor string only for has_target()
703 * @str_governor: Governor name.
804 else if (policy->governor) in show_scaling_governor()
806 policy->governor->name); in show_scaling_governor()
924 if (!policy->governor || !policy->governor->store_setspeed) in store_scaling_setspeed()
931 policy->governor->store_setspeed(policy, freq); in store_scaling_setspeed()
938 if (!policy->governor || !policy->governor->show_setspeed) in show_scaling_setspeed()
941 return policy->governor->show_setspeed(policy, buf); in show_scaling_setspeed()
1111 /* Update policy governor to the one used before hotplug. */ in cpufreq_init_policy()
1114 pr_debug("Restoring governor %s for cpu %d\n", in cpufreq_init_policy()
[all …]
Dcpufreq_governor.h33 * od_*: On-demand governor
34 * cs_*: Conservative governor
37 /* Governor demand based switching data (per-policy or global). */
124 /* Common Governor data across policies */
145 return container_of(policy->governor, struct dbs_governor, gov); in dbs_governor_of()
148 /* Governor callback routines */
167 /* Governor specific operations */
/Linux-v6.6/drivers/devfreq/
Ddevfreq.c31 #include "governor.h"
256 * find_devfreq_governor() - find devfreq governor from name
257 * @name: name of the governor
260 * governor's pointer. devfreq_list_lock should be held by the caller.
282 * try_then_request_governor() - Try to find the governor and request the
284 * @name: name of the governor
287 * if is not found. This can happen when both drivers (the governor driver
290 * governor's pointer or an error pointer.
294 struct devfreq_governor *governor; in try_then_request_governor() local
304 governor = find_devfreq_governor(name); in try_then_request_governor()
[all …]
Dgovernor.h3 * governor.h - internal header for devfreq governors.
31 * Definition of the governor feature flags
33 * : This governor is never changeable to other governors.
35 * : The devfreq won't schedule the work for this governor.
41 * Definition of governor attribute flags except for common sysfs attributes
61 * This is auto-populated by the governor.
76 * struct devfreq_governor - Devfreq policy governor
78 * @name: Governor's name
79 * @attrs: Governor's sysfs attribute flags
80 * @flags: Governor's feature flags
[all …]
DKconfig8 in order to let the governor provided to devfreq choose an
11 Each device may have its own governor and policy. Devfreq can
38 similar as ONDEMAND governor of CPUFREQ does. A device with
41 values to the governor with data field at devfreq_add_device().
47 This governor always returns UINT_MAX as frequency so that
55 This governor always returns 0 as frequency so that
63 This governor returns the user configured frequency if there
65 Otherwise, the governor does not change the frequency
72 device. This governor does not change the frequency by itself
73 through sysfs entries. The passive governor recommends that
/Linux-v6.6/tools/testing/selftests/cpufreq/
Dgovernor.sh19 # Find governor's directory path
20 # $1: policy, $2: governor
43 printf "Governor backup done for $1: $CUR_GOV\n"
47 printf "Governor frequency backup done for $1: $CUR_FREQ\n"
58 printf "Governor restored for $1 to $CUR_GOV\n"
62 printf "Governor frequency restored for $1: $CUR_FREQ\n"
69 # $1: policy, $2: governor
76 # $1: cpu, $2: governor
84 # $1: cpu, $2: governor
89 # check if governor is available
[all …]
Dmodule.sh15 source governor.sh
108 # find governor name based on governor module name
109 # $1: governor module name
127 # $1: governor string, $2: governor module, $3: policy
135 # switch to new governor
139 # try removing module, it should fail as governor is used
143 printf "WARN: rmmod $2 succeeded even if governor is used\n"
149 # switch back to old governor
155 # Insert cpufreq governor module and perform basic tests
156 # $1: cpufreq-governor module to insert
[all …]
Dmain.sh6 source governor.sh
27 modtest: test driver or governor modules. Only to be used with -d or -g options,
28 sptest1: Simple governor switch to produce lockdep.
29 sptest2: Concurrent governor switch to produce lockdep.
30 sptest3: Governor races, shuffle between governors quickly.
33 [-g <governor's module name: only with \"-t modtest>\"]
91 g) # --governor-mod-name (Name of the governor module)
128 echo "No driver or governor module passed with -d or -g"
/Linux-v6.6/Documentation/admin-guide/pm/
Dcpufreq.rst60 As a rule, each governor implements one, possibly parametrized, scaling
81 to bypass the governor layer and implement their own performance scaling
148 scaling governor to it (to begin with, that is the default scaling governor
151 the governor's ``->init()`` callback which is expected to initialize all of the
153 a governor ``sysfs`` interface to it. Next, the governor is started by
166 on the configuration and capabilities of the scaling driver and the governor.
171 to use the scaling governor previously used with the policy that became
172 "inactive" (and is re-initialized now) instead of the default governor.
177 necessary to restart the scaling governor so that it can take the new online CPU
178 into account. That is achieved by invoking the governor's ``->stop`` and
[all …]
Dcpuidle.rst118 calls into a code module referred to as the *governor* that belongs to the CPU
122 processor hardware to enter the idle state selected by the governor.
124 The role of the governor is to find an idle state most suitable for the
134 taken into account by the governor, the *target residency* and the (worst-case)
147 There are two types of information that can influence the governor's decisions.
148 First of all, the governor knows the time until the closest timer event. That
154 when that may happen. The governor can only see how much time the CPU actually
158 governor uses that information depends on what algorithm is implemented by it
159 and that is the primary reason for having more than one governor in the
166 governors can be read from the :file:`available_governors`, and the governor
[all …]
/Linux-v6.6/tools/power/cpupower/bench/
DREADME-BENCH9 - Identify average reaction time of a governor to CPU load changes
10 - (Stress) Testing whether a cpufreq low level driver or governor works
14 processes with a higher prio than the governor's kernel thread
27 cpufreq-bench helps to test the condition of a given cpufreq governor.
28 For that purpose, it compares the performance governor to a configured
57 governor.
58 Then the above test runs are processed using the performance governor
59 and the governor to test. The time the calculation really needed
60 with the dynamic freq scaling governor is compared with the time needed
64 Example of expected results with ondemand governor:
[all …]
Dsystem.c37 * sets the cpufreq governor
39 * @param governor cpufreq governor name
40 * @param cpu cpu for which the governor should be set
46 int set_cpufreq_governor(char *governor, unsigned int cpu) in set_cpufreq_governor() argument
49 dprintf("set %s as cpufreq governor\n", governor); in set_cpufreq_governor()
57 if (cpufreq_modify_policy_governor(cpu, governor) != 0) { in set_cpufreq_governor()
59 fprintf(stderr, "error: unable to set %s governor\n", governor); in set_cpufreq_governor()
Dbenchmark.c71 * governor and compares the used time for same calculations done
72 * with the configured powersave governor
101 /* set the cpufreq governor to "performance" which disables in start_benchmark()
124 /* do some sleep/load cycles with the performance governor */ in start_benchmark()
144 /* set the powersave governor which activates P-State switching in start_benchmark()
146 if (set_cpufreq_governor(config->governor, config->cpu) != 0) in start_benchmark()
150 * powersave governor */ in start_benchmark()
/Linux-v6.6/drivers/thermal/
Dthermal_core.c45 * Governor section: set of functions to handle thermal governors
48 * the thermal core and by the thermal governor code.
66 * bind_previous_governor() - bind the previous governor of the thermal zone
68 * @failed_gov_name: the name of the governor that failed to register
70 * Register the previous governor of the thermal zone after a new
71 * governor has failed to be bound.
76 if (tz->governor && tz->governor->bind_to_tz) { in bind_previous_governor()
77 if (tz->governor->bind_to_tz(tz)) { in bind_previous_governor()
79 …"governor %s failed to bind and the previous one (%s) failed to bind again, thermal zone %s has no… in bind_previous_governor()
80 failed_gov_name, tz->governor->name, tz->type); in bind_previous_governor()
[all …]
DKconfig26 trip point crossed, cooling device update or governor
95 prompt "Default Thermal governor"
98 This option sets which thermal governor shall be loaded at
105 Use the step_wise governor as default. This throttles the
112 Use the fair_share governor as default. This throttles the
120 The Userspace governor allows to get trip point crossed
130 system and device power allocation. This governor can only
137 Use the bang_bang governor as default. This throttles the
144 bool "Fair-share thermal governor"
146 Enable this to manage platform thermals using fair-share governor.
[all …]
/Linux-v6.6/drivers/cpuidle/
Dgovernor.c2 * governor.c - governor support
26 * cpuidle_find_governor - finds a governor of the specified name
43 * cpuidle_switch_governor - changes the governor
44 * @gov: the new target governor
70 pr_info("cpuidle: using governor %s\n", gov->name); in cpuidle_switch_governor()
76 * cpuidle_register_governor - registers a governor
77 * @gov: the governor
DKconfig22 bool "Ladder governor (for periodic timer tick)"
25 bool "Menu governor (for tickless system)"
28 bool "Timer events oriented (TEO) governor (for tickless systems)"
30 This governor implements a simplified idle state selection method
37 bool "Haltpoll governor (for virtualized systems)"
40 This governor implements haltpoll idle state selection, to be
/Linux-v6.6/Documentation/driver-api/thermal/
Dpower_allocator.rst2 Power allocator governor tunables
8 The governor works optimally with the following two passive trip points:
10 1. "switch on" trip point: temperature above which the governor
15 "switch on" trip point. This the target temperature the governor
22 The power allocator governor implements a
104 thermal governor allows the configuration of two proportional term
115 value of `k_pu` will result in the governor granting very high power
168 the exact power that the governor requests. When the temperature
183 Cooling devices controlled by this governor must supply the additional
202 allocator governor to calculate how much power to give to each cooling
[all …]
/Linux-v6.6/include/linux/
Ddevfreq.h18 /* DEVFREQ governor name */
54 * A device and a specific governor may have their
56 * this is governor-specific, a governor using this
146 * @governor: method how to choose frequency based on the usage.
156 * @data: devfreq driver pass to governors, governor should not change it.
174 * Note that when a governor accesses entries in struct devfreq in its
176 * devfreq_governor, the governor should protect its access with the
177 * struct mutex lock in struct devfreq. A governor may use this mutex
186 const struct devfreq_governor *governor; member
285 * the governor may consider slowing the frequency down.
[all …]
/Linux-v6.6/Documentation/driver-api/pm/
Dcpuidle.rst43 A CPU idle time (``CPUIdle``) governor is a bundle of policy code invoked when
52 The governor itself is represented by a struct cpuidle_governor object
57 For the governor to be available at all, that object needs to be registered
60 add the governor to the global list of available governors and, if it is the
63 governor currently in use, or the name of the new governor was passed to the
64 kernel as the value of the ``cpuidle.governor=`` command line parameter, the new
65 governor will be used from that point on (there can be only one ``CPUIdle``
66 governor in use at a time). Also, user space can choose the ``CPUIdle``
67 governor to use at run time via ``sysfs``.
80 The role of this callback is to prepare the governor for handling the
[all …]
/Linux-v6.6/tools/power/cpupower/utils/
Dcpufreq-set.c26 {"governor", required_argument, NULL, 'g'},
36 "- Is the governor you requested available and modprobed?\n" in print_error()
38 "- Trying to set a specific frequency, but userspace governor is not available,\n" in print_error()
40 " or because the userspace governor isn't loaded?\n")); in print_error()
160 if (!new_pol->governor) in do_new_policy()
161 new_pol->governor = cur_pol->governor; in do_new_policy()
186 else if (new_pol->governor) in do_one_cpu()
188 new_pol->governor); in do_one_cpu()
209 .governor = NULL, in cmd_freq_set()
257 if (new_pol.governor) in cmd_freq_set()
[all …]
/Linux-v6.6/tools/power/cpupower/lib/
Dcpufreq.c244 policy->governor = sysfs_cpufreq_get_one_string(cpu, SCALING_GOVERNOR); in cpufreq_get_policy()
245 if (!policy->governor) { in cpufreq_get_policy()
252 free(policy->governor); in cpufreq_get_policy()
262 if ((!policy) || (!policy->governor)) in cpufreq_put_policy()
265 free(policy->governor); in cpufreq_put_policy()
266 policy->governor = NULL; in cpufreq_put_policy()
303 current->governor = malloc(i - pos + 1); in cpufreq_get_available_governors()
304 if (!current->governor) in cpufreq_get_available_governors()
307 memcpy(current->governor, linebuf + pos, i - pos); in cpufreq_get_available_governors()
308 current->governor[i - pos] = '\0'; in cpufreq_get_available_governors()
[all …]
/Linux-v6.6/tools/power/cpupower/man/
Dcpupower-frequency-set.115 new minimum CPU frequency the governor may select.
18 new maximum CPU frequency the governor may select.
20 \fB\-g\fR \fB\-\-governor\fR <GOV>
21 new cpufreq governor.
24 specific frequency to be set. Requires userspace governor to be available and loaded.
Dcpupower-idle-set.135 Depending on the used cpuidle governor, implementing the kernel policy
40 governor is always available, if CONFIG_CPU_IDLE is selected, the
41 menu governor additionally requires CONFIG_NO_HZ.
44 implementation of a particular governor. In the ladder governor, for

1234567