Home
last modified time | relevance | path

Searched full:idle (Results 1 – 25 of 2417) sorted by relevance

12345678910>>...97

/Linux-v6.6/Documentation/admin-guide/pm/
Dcpuidle.rst8 CPU Idle Time Management
21 memory or executed. Those states are the *idle* states of the processor.
23 Since part of the processor hardware is not used in idle states, entering them
27 CPU idle time management is an energy-efficiency feature concerned about using
28 the idle states of processors for this purpose.
33 CPU idle time management operates on CPUs as seen by the *CPU scheduler* (that
44 enter an idle state, that applies to the processor as a whole.
52 enter an idle state, that applies to the core that asked for it in the first
56 except for one have been put into idle states at the "core level" and the
57 remaining core asks the processor to enter an idle state, that may trigger it
[all …]
Dintel_idle.rst5 ``intel_idle`` CPU Idle Time Management Driver
17 :doc:`CPU idle time management subsystem <cpuidle>` in the Linux kernel
18 (``CPUIdle``). It is the default CPU idle time management driver for the
27 logical CPU executing it is idle and so it may be possible to put some of the
42 .. _intel-idle-enumeration-of-states:
44 Enumeration of Idle States
50 as C-states (in the ACPI terminology) or idle states. The list of meaningful
51 ``MWAIT`` hint values and idle states (i.e. low-power configurations of the
55 In order to create a list of available idle states required by the ``CPUIdle``
56 subsystem (see :ref:`idle-states-representation` in
[all …]
/Linux-v6.6/drivers/powercap/
Didle_inject.c7 * The idle injection framework provides a way to force CPUs to enter idle
13 * All of the kthreads used for idle injection are created at init time.
15 * Next, the users of the idle injection framework provide a cpumask via
19 * The idle + run duration is specified via separate helpers and that allows
20 * idle injection to be started.
22 * The idle injection kthreads will call play_idle_precise() with the idle
25 * After all of them have been woken up, a timer is set to start the next idle
28 * The timer interrupt handler will wake up the idle injection kthreads for
31 * Idle injection is stopped synchronously and no leftover idle injection
35 * synchronization to prevent race conditions like starting idle injection
[all …]
/Linux-v6.6/Documentation/devicetree/bindings/powerpc/opal/
Dpower-mgt.txt5 idle states. The description of these idle states is exposed via the
10 Typically each idle state has the following associated properties:
12 - name: The name of the idle state as defined by the firmware.
14 - flags: indicating some aspects of this idle states such as the
16 idle states and so on. The flag bits are as follows:
19 CPU from idle to running.
22 this idle state in order to accrue power-savings
27 The following properties provide details about the idle states. These
29 provides the value of that property for the idle state associated with
32 If idle-states are defined, then the properties
[all …]
/Linux-v6.6/Documentation/devicetree/bindings/memory-controllers/
Drockchip,rk3399-dmc.yaml60 Configure the PD_IDLE value. Defines the power-down idle period in which
61 memories are placed into power-down mode if bus is idle for PD_IDLE DFI
63 See also rockchip,pd-idle-ns.
69 Configure the SR_IDLE value. Defines the self-refresh idle period in
70 which memories are placed into self-refresh mode if bus is idle for
72 See also rockchip,sr-idle-ns.
79 Defines the memory self-refresh and controller clock gating idle period.
81 arg gating started if bus is idle for sr_mc_gate_idle*1024 DFI clock
83 See also rockchip,sr-mc-gate-idle-ns.
89 Defines the self-refresh power down idle period in which memories are
[all …]
/Linux-v6.6/drivers/cpuidle/
DKconfig.arm3 # ARM CPU Idle drivers
6 bool "Generic ARM CPU idle Driver"
12 It provides a generic idle driver whose idle states are configured
14 initialized by calling the CPU operations init idle hook
18 bool "PSCI CPU idle Driver"
24 It provides an idle driver that is capable of detecting and
25 managing idle states through the PSCI firmware interface.
28 - If the idle states are described with the non-hierarchical layout,
29 all idle states are still available.
31 - If the idle states are described with the hierarchical layout,
[all …]
Ddt_idle_states.c3 * DT idle states parsing code.
9 #define pr_fmt(fmt) "DT idle-states: " fmt
29 * pointer of the passed in struct of_device_id array to the idle in init_state_node()
62 * latencies as defined in idle states bindings in init_state_node()
75 err = of_property_read_string(state_node, "idle-state-name", &desc); in init_state_node()
93 * Check that the idle state is uniform across all CPUs in the CPUidle driver
104 * Compare idle state phandles for index idx on all CPUs in the in idle_state_valid()
127 * dt_init_idle_driver() - Parse the DT idle states and initialize the
128 * idle driver states array
129 * @drv: Pointer to CPU idle driver to be initialized
[all …]
/Linux-v6.6/Documentation/devicetree/bindings/cpu/
Didle-states.yaml4 $id: http://devicetree.org/schemas/cpu/idle-states.yaml#
7 title: Idle states
21 representing the range of dynamic idle states that a processor can enter at
23 parameters required to enter/exit specific idle states on a given processor.
26 2 - ARM idle states
40 PM implementation to put the processor in different idle states (which include
41 states listed above; "off" state is not an idle state since it does not have
44 Idle state parameters (e.g. entry latency) are platform specific and need to
48 The device tree binding definition for ARM idle states is the subject of this
52 3 - RISC-V idle states
[all …]
/Linux-v6.6/Documentation/admin-guide/thermal/
Dintel_powerclamp.rst15 - Idle Injection
46 idle injection across all online CPU threads was introduced. The goal
57 Idle Injection
70 If the kernel can also inject idle time to the system, then a
73 control system, where the target set point is a user-selected idle
75 between the actual package level C-state residency ratio and the target idle
83 thread synchronizes its idle time and duration, based on the rounding
91 Alignment of idle time around jiffies ensures scalability for HZ
94 kidle_inject/cpu. During idle injection, it runs monitor/mwait idle
98 The NOHZ schedule tick is disabled during idle time, but interrupts
[all …]
/Linux-v6.6/Documentation/driver-api/pm/
Dcpuidle.rst5 CPU Idle Time Management
13 CPU Idle Time Management Subsystem
18 cores) is idle after an interrupt or equivalent wakeup event, which means that
19 there are no tasks to run on it except for the special "idle" task associated
21 belongs to. That can be done by making the idle logical CPU stop fetching
23 depended on by it into an idle state in which they will draw less power.
25 However, there may be multiple different idle states that can be used in such a
28 particular idle state. That is the role of the CPU idle time management
35 units: *governors* responsible for selecting idle states to ask the processor
40 CPU Idle Time Governors
[all …]
/Linux-v6.6/arch/s390/kernel/
Didle.c3 * Idle functions for s390.
26 struct s390_idle_data *idle = this_cpu_ptr(&s390_idle); in account_idle_time_irq() local
34 this_cpu_add(mt_cycles[i], cycles_new[i] - idle->mt_cycles_enter[i]); in account_idle_time_irq()
37 idle_time = S390_lowcore.int_clock - idle->clock_idle_enter; in account_idle_time_irq()
39 S390_lowcore.steal_timer += idle->clock_idle_enter - S390_lowcore.last_update_clock; in account_idle_time_irq()
42 S390_lowcore.system_timer += S390_lowcore.last_update_timer - idle->timer_idle_enter; in account_idle_time_irq()
45 /* Account time spent with enabled wait psw loaded as idle time. */ in account_idle_time_irq()
46 WRITE_ONCE(idle->idle_time, READ_ONCE(idle->idle_time) + idle_time); in account_idle_time_irq()
47 WRITE_ONCE(idle->idle_count, READ_ONCE(idle->idle_count) + 1); in account_idle_time_irq()
53 struct s390_idle_data *idle = this_cpu_ptr(&s390_idle); in arch_cpu_idle() local
[all …]
/Linux-v6.6/Documentation/driver-api/thermal/
Dcpu-idle-cooling.rst4 CPU Idle Cooling
37 decrease. Acting on the idle state duration or the idle cycle
47 At a specific OPP, we can assume that injecting idle cycle on all CPUs
49 idle state target residency, we lead to dropping the static and the
51 this state). So the sustainable power with idle cycles has a linear
57 Idle Injection:
60 The base concept of the idle injection is to force the CPU to go to an
61 idle state for a specified time each control cycle, it provides
64 their idle cycles synchronously, the cluster can reach its power down
66 to almost zero. However, these idle cycles injection will add extra
[all …]
/Linux-v6.6/Documentation/devicetree/bindings/arm/msm/
Dqcom,idle-state.txt1 QCOM Idle States for cpuidle driver
3 ARM provides idle-state node to define the cpuidle states, as defined in [1].
4 cpuidle-qcom is the cpuidle driver for Qualcomm SoCs and uses these idle
5 states. Idle states have different enter/exit latency and residency values.
6 The idle states supported by the QCOM SoC are defined as -
18 hierarchy to enter standby states, when all cpus are idle. An interrupt brings
34 between the time it enters idle and the next known wake up. SPC mode is used
37 sequence for this idle state is programmed to power down the supply to the
58 The idle-state for QCOM SoCs are distinguished by the compatible property of
59 the idle-states device node.
[all …]
/Linux-v6.6/drivers/cpuidle/governors/
Dteo.c3 * Timer events oriented CPU idle governor
20 * wakeups from idle states. Moreover, information about what happened in the
22 * idle state with target residency within the (known) time till the closest
24 * the upcoming CPU idle period and, if not, then which of the shallower idle
28 * which can be covered by taking a few most recent idle time intervals of the
30 * consider idle duration values greater than the sleep length, because the
34 * Thus this governor estimates whether or not the prospective idle duration of
36 * an idle state for it accordingly.
40 * idle states provided by the %CPUIdle driver in the ascending order. That is,
42 * the second idle state (idle state 1), the second bin spans from the target
[all …]
/Linux-v6.6/arch/powerpc/include/asm/
Didle.h46 * Indicate to the HV that we are idle. Now would be in pseries_idle_prolog()
49 get_lppaca()->idle = 1; in pseries_idle_prolog()
56 get_lppaca()->idle = 0; in pseries_idle_epilog()
63 * If we are reading from an idle context, update the in read_this_idle_purr()
64 * idle-purr cycles corresponding to the last idle period. in read_this_idle_purr()
65 * Since the idle context is not yet over, take a fresh in read_this_idle_purr()
66 * snapshot of the idle-purr. in read_this_idle_purr()
68 if (unlikely(get_lppaca()->idle == 1)) { in read_this_idle_purr()
79 * If we are reading from an idle context, update the in read_this_idle_spurr()
80 * idle-spurr cycles corresponding to the last idle period. in read_this_idle_spurr()
[all …]
/Linux-v6.6/kernel/time/
Dtick-sched.h24 * struct tick_sched - sched tick emulation and no idle tick control/stats
26 * @inidle: Indicator that the CPU is in the tick idle mode
27 * @tick_stopped: Indicator that the idle tick has been stopped
28 * @idle_active: Indicator that the CPU is actively in the tick idle mode;
30 * @do_timer_last: CPU was the last one doing do_timer before going idle
41 * @idle_jiffies: jiffies at the entry to idle for idle time accounting
42 * @idle_waketime: Time when the idle was interrupted
43 * @idle_entrytime: Time when the idle call was entered
49 * @idle_expires: Next tick in idle, for debugging purpose only
50 * @idle_calls: Total number of idle calls
[all …]
/Linux-v6.6/tools/power/cpupower/man/
Dcpupower-idle-info.11 .TH "CPUPOWER-IDLE-INFO" "1" "0.1" "" "cpupower Manual"
4 cpupower\-idle\-info \- Utility to retrieve cpu idle kernel information
7 cpupower [ \-c cpulist ] idle\-info [\fIoptions\fP]
10 A tool which prints out per cpu idle information helpful to developers and interested users.
19 Prints out idle information in old /proc/acpi/processor/*/power format. This
23 .SH IDLE\-INFO DESCRIPTIONS
26 statistics when it enters or leaves an idle state, therefore on a very idle or
42 .SH IDLE\-INFO ARCHITECTURE SPECIFIC DESCRIPTIONS
44 POLL idle state
46 If cpuidle is active, X86 platforms have one special idle state.
[all …]
Dcpupower-idle-set.11 .TH "CPUPOWER-IDLE-SET" "1" "0.1" "" "cpupower Manual"
4 cpupower\-idle\-set \- Utility to set cpu idle state specific kernel options
7 cpupower [ \-c cpulist ] idle\-set [\fIoptions\fP]
10 The cpupower idle\-set subcommand allows to set cpu idle, also called cpu
23 Disable all idle states with a equal or higher latency than <LATENCY>.
25 Enable all idle states with a latency lower than <LATENCY>.
28 Enable all idle states if not enabled already.
54 state is chosen when idle, the kernel may still enter this sleep state,
56 the usage count of the disabled sleep state when using the cpupower idle-info
79 cpupower\-idle\-info(1)
/Linux-v6.6/Documentation/admin-guide/mm/
Didle_page_tracking.rst2 Idle Page Tracking
8 The idle page tracking feature allows to track which memory pages are being
9 accessed by a workload and which are idle. This information can be useful for
21 The idle page tracking API is located at ``/sys/kernel/mm/page_idle``.
28 set, the corresponding page is idle.
30 A page is considered idle if it has not been accessed since it was marked idle
33 To mark a page idle one has to set the bit corresponding to
39 page types (e.g. SLAB pages) an attempt to mark a page idle is silently ignored,
40 and hence such pages are never reported idle.
42 For huge pages the idle flag is set only on the head page, so one has to read
[all …]
/Linux-v6.6/Documentation/devicetree/bindings/mux/
Dmux-controller.yaml33 have when it is idle. The idle-state property is used for this. If the
34 idle-state is not present, the mux controller is typically left as is when
35 it is idle. For multiplexer chips that expose several mux controllers, the
36 idle-state property is an array with one idle state for each mux controller.
39 as is when it is idle. This is the default, but can still be useful for
41 there is a need to "step past" a mux controller and set some other idle
45 multiplexer. Using this disconnected high-impedance state as the idle state
46 is indicated with idle state (-2).
62 idle-state = <MUX_IDLE_DISCONNECT MUX_IDLE_AS_IS 2>;
85 idle-state:
[all …]
/Linux-v6.6/kernel/sched/
Didle.c3 * Generic entry points for the idle threads and
4 * implementation of the idle task scheduling class.
14 * sched_idle_set_state - Record idle state for the current CPU.
85 * default_idle_call - Default CPU idle routine.
120 * The idle task must be scheduled, it is pointless to go to idle, just in call_cpuidle()
121 * update no idle residency and return. in call_cpuidle()
130 * Enter the idle state previously returned by the governor decision. in call_cpuidle()
138 * cpuidle_idle_call - the main idle function
153 * Check if the idle task must be rescheduled. If it is the in cpuidle_idle_call()
162 * The RCU framework needs to be told that we are entering an idle in cpuidle_idle_call()
[all …]
/Linux-v6.6/drivers/thermal/
Dcpuidle_cooling.c21 * struct cpuidle_cooling_device - data for the idle cooling device
22 * @ii_dev: an atomic to keep track of the last task exiting the idle cycle
32 * @idle_duration_us: CPU idle time to inject in microseconds
35 * The running duration is computed from the idle injection duration
36 * which is fixed. If we reach 100% of idle injection ratio, that
38 * injection, that means we have equal duration for idle and for
43 * running = idle x ((100 / ratio) - 1)
47 * running = (idle x 100) / ratio - idle
50 * with 10ms of idle injection and 10ms of running duration.
78 * cycle and the idle cycle could be different. We want to in cpuidle_cooling_get_max_state()
[all …]
/Linux-v6.6/Documentation/devicetree/bindings/power/
Ddomain-idle-state.yaml4 $id: http://devicetree.org/schemas/power/domain-idle-state.yaml#
7 title: PM Domain Idle States
13 A domain idle state node represents the state parameters that will be used to
18 const: domain-idle-states
25 Each state node represents a domain idle state description.
29 const: domain-idle-state
33 The worst case latency in microseconds required to enter the idle
39 The worst case latency in microseconds required to exit the idle
44 The minimum residency duration in microseconds after which the idle
46 entering the idle state.
[all …]
/Linux-v6.6/Documentation/devicetree/bindings/thermal/
Dthermal-idle.yaml5 $id: http://devicetree.org/schemas/thermal/thermal-idle.yaml#
8 title: Thermal idle cooling device
14 The thermal idle cooling device allows the system to passively
15 mitigate the temperature on the device by injecting idle cycles,
18 This binding describes the thermal idle node.
22 const: thermal-idle
24 A thermal-idle node describes the idle cooling device properties to
36 The idle duration in microsecond the device should cool down.
40 The exit latency constraint in microsecond for the injected idle state
42 idle state from among all the present ones.
[all …]
/Linux-v6.6/Documentation/timers/
Dno_hz.rst19 2. Omit scheduling-clock ticks on idle CPUs (CONFIG_NO_HZ_IDLE=y or
23 3. Omit scheduling-clock ticks on CPUs that are either idle or that
40 that use short bursts of CPU, where there are very frequent idle
41 periods, but where these idle periods are also quite short (tens or
46 other than increasing the overhead of switching to and from idle and
52 However, if you are instead running a light workload with long idle
65 Omit Scheduling-Clock Ticks For Idle CPUs
68 If a CPU is idle, there is little point in sending it a scheduling-clock
71 and an idle CPU has no duties to shift its attention among.
73 An idle CPU that is not receiving scheduling-clock interrupts is said to
[all …]

12345678910>>...97