Home
last modified time | relevance | path

Searched refs:governor (Results 1 – 25 of 88) sorted by relevance

1234

/linux-6.1.9/drivers/devfreq/
Ddevfreq.c294 struct devfreq_governor *governor; in try_then_request_governor() local
304 governor = find_devfreq_governor(name); in try_then_request_governor()
305 if (IS_ERR(governor)) { in try_then_request_governor()
318 governor = find_devfreq_governor(name); in try_then_request_governor()
321 return governor; in try_then_request_governor()
411 if (!devfreq->governor) in devfreq_update_target()
415 err = devfreq->governor->get_target_freq(devfreq, &freq); in devfreq_update_target()
482 if (IS_SUPPORTED_FLAG(devfreq->governor->flags, IRQ_DRIVEN)) in devfreq_monitor_start()
512 if (IS_SUPPORTED_FLAG(devfreq->governor->flags, IRQ_DRIVEN)) in devfreq_monitor_stop()
543 if (IS_SUPPORTED_FLAG(devfreq->governor->flags, IRQ_DRIVEN)) in devfreq_monitor_suspend()
[all …]
DKconfig9 in order to let the governor provided to devfreq choose an
12 Each device may have its own governor and policy. Devfreq can
39 similar as ONDEMAND governor of CPUFREQ does. A device with
42 values to the governor with data field at devfreq_add_device().
48 This governor always returns UINT_MAX as frequency so that
56 This governor always returns 0 as frequency so that
64 This governor returns the user configured frequency if there
66 Otherwise, the governor does not change the frequency
73 device. This governor does not change the frequency by itself
74 through sysfs entries. The passive governor recommends that
Dgovernor.h109 int devfreq_add_governor(struct devfreq_governor *governor);
110 int devfreq_remove_governor(struct devfreq_governor *governor);
113 struct devfreq_governor *governor);
/linux-6.1.9/drivers/cpufreq/
DKconfig13 clock speed, you need to either enable a dynamic cpufreq governor
39 prompt "Default CPUFreq governor"
45 This option sets which CPUFreq governor shall be loaded at
52 Use the CPUFreq governor 'performance' as default. This sets
60 Use the CPUFreq governor 'powersave' as default. This sets
68 Use the CPUFreq governor 'userspace' as default. This allows
71 to enable the userspace governor manually.
79 Use the CPUFreq governor 'ondemand' as default. This allows
83 governor. If unsure have a look at the help section of the
84 driver. Fallback governor will be the performance governor.
[all …]
Dcpufreq.c762 else if (policy->governor) in show_scaling_governor()
764 policy->governor->name); in show_scaling_governor()
882 if (!policy->governor || !policy->governor->store_setspeed) in store_scaling_setspeed()
889 policy->governor->store_setspeed(policy, freq); in store_scaling_setspeed()
896 if (!policy->governor || !policy->governor->show_setspeed) in show_scaling_setspeed()
899 return policy->governor->show_setspeed(policy, buf); in show_scaling_setspeed()
1132 cpufreq_set_policy(policy, policy->governor, policy->policy); in refresh_frequency_limits()
1341 policy->governor = NULL; in cpufreq_online()
1605 strncpy(policy->last_governor, policy->governor->name, in __cpufreq_offline()
2341 if (!policy->governor) in cpufreq_init_governor()
[all …]
/linux-6.1.9/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 …]
Dparse.c135 strncpy(config->governor, "ondemand", sizeof(config->governor)); in prepare_default_config()
211 strncpy(config->governor, val, in prepare_config()
212 sizeof(config->governor)); in prepare_config()
213 config->governor[sizeof(config->governor) - 1] = '\0'; in prepare_config()
Dsystem.c46 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()
Dmain.c105 strncpy(config->governor, optarg, 14); in main()
175 config->governor); in main()
/linux-6.1.9/drivers/thermal/
Dthermal_core.c76 if (tz->governor && tz->governor->bind_to_tz) { in bind_previous_governor()
77 if (tz->governor->bind_to_tz(tz)) { in bind_previous_governor()
80 failed_gov_name, tz->governor->name, tz->type); in bind_previous_governor()
81 tz->governor = NULL; in bind_previous_governor()
100 if (tz->governor && tz->governor->unbind_from_tz) in thermal_set_governor()
101 tz->governor->unbind_from_tz(tz); in thermal_set_governor()
112 tz->governor = new_gov; in thermal_set_governor()
117 int thermal_register_governor(struct thermal_governor *governor) in thermal_register_governor() argument
123 if (!governor) in thermal_register_governor()
129 if (!__find_governor(governor->name)) { in thermal_register_governor()
[all …]
DKconfig26 trip point crossed, cooling device update or governor
91 prompt "Default Thermal governor"
94 This option sets which thermal governor shall be loaded at
101 Use the step_wise governor as default. This throttles the
108 Use the fair_share governor as default. This throttles the
116 The Userspace governor allows to get trip point crossed
126 system and device power allocation. This governor can only
132 bool "Fair-share thermal governor"
134 Enable this to manage platform thermals using fair-share governor.
137 bool "Step_wise thermal governor"
[all …]
/linux-6.1.9/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 …]
Dcpufreq.h14 char *governor; member
18 char *governor; member
193 int cpufreq_modify_policy_governor(unsigned int cpu, char *governor);
/linux-6.1.9/tools/power/cpupower/utils/
Dcpufreq-set.c160 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()
268 new_pol.governor = gov; in cmd_freq_set()
/linux-6.1.9/drivers/cpuidle/
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-6.1.9/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-6.1.9/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-6.1.9/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-6.1.9/Documentation/ABI/testing/
Dsysfs-class-devfreq17 What: /sys/class/devfreq/.../governor
21 The /sys/class/devfreq/.../governor show or set the name of the
22 governor used by the corresponding devfreq object.
37 The /sys/class/devfreq/.../target_freq shows the next governor
99 no polling. This value is meaningless if the governor is
112 userspace governor is in effect.
Dsysfs-class-thermal122 The derivative term of the power allocator governor's PID
130 The integral term of the power allocator governor's PID
139 The proportional term of the power allocator governor's PID
149 The proportional term of the power allocator governor's PID
161 governor's PID controller starts accumulating errors. For
192 the thermal zone. Used by the power allocator governor. For
/linux-6.1.9/Documentation/ABI/obsolete/
Dsysfs-cpuidle5 current_governor_ro shows current using cpuidle governor, but read only.
6 with the update that cpuidle governor can be changed at runtime in default,
/linux-6.1.9/tools/testing/selftests/cpufreq/
Dgovernor.sh138 for governor in $governors; do
139 $1 $2 $governor
/linux-6.1.9/tools/testing/selftests/net/forwarding/
Dtsn_lib.sh110 local governor="cpu${cpu}_governor"
120 declare -g "${governor}=$(cat /sys/bus/cpu/devices/cpu${cpu}/cpufreq/scaling_governor)"
132 local governor="cpu${cpu}_governor"
/linux-6.1.9/tools/thermal/thermal-engine/
Dthermal-engine.c62 INFO("governor: '%s'\n", tz->governor); in show_governor()
193 INFO("%s: governor changed %s -> %s\n", tz->name, tz->governor, name); in gov_change()
195 strcpy(tz->governor, name); in gov_change()

1234