Home
last modified time | relevance | path

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

12345678910>>...84

/Linux-v5.4/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 …]
/Linux-v5.4/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-v5.4/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 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() with the idle duration
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-v5.4/Documentation/devicetree/bindings/arm/
Didle-states.txt2 ARM idle states binding description
12 the range of dynamic idle states that a processor can enter at run-time, can be
14 to enter/exit specific idle states on a given processor.
27 PM implementation to put the processor in different idle states (which include
28 states listed above; "off" state is not an idle state since it does not have
31 Idle state parameters (e.g. entry latency) are platform specific and need to be
35 The device tree binding definition for ARM idle states is the subject of this
39 2 - idle-states definitions
42 Idle states are characterized for a specific system through a set of
44 triggered upon idle states entry and exit.
[all …]
/Linux-v5.4/arch/s390/kernel/
Didle.c3 * Idle functions for s390.
25 struct s390_idle_data *idle = this_cpu_ptr(&s390_idle); in enabled_wait() local
37 psw_idle(idle, psw_mask); in enabled_wait()
41 /* Account time spent with enabled wait psw loaded as idle time. */ in enabled_wait()
42 write_seqcount_begin(&idle->seqcount); in enabled_wait()
43 idle_time = idle->clock_idle_exit - idle->clock_idle_enter; in enabled_wait()
44 idle->clock_idle_enter = idle->clock_idle_exit = 0ULL; in enabled_wait()
45 idle->idle_time += idle_time; in enabled_wait()
46 idle->idle_count++; in enabled_wait()
48 write_seqcount_end(&idle->seqcount); in enabled_wait()
[all …]
/Linux-v5.4/Documentation/driver-api/thermal/
Dintel_powerclamp.rst15 - Idle Injection
44 idle injection across all online CPU threads was introduced. The goal
55 Idle Injection
68 If the kernel can also inject idle time to the system, then a
71 control system, where the target set point is a user-selected idle
73 between the actual package level C-state residency ratio and the target idle
81 thread synchronizes its idle time and duration, based on the rounding
89 Alignment of idle time around jiffies ensures scalability for HZ
92 kidle_inject/cpu. During idle injection, it runs monitor/mwait idle
96 The NOHZ schedule tick is disabled during idle time, but interrupts
[all …]
/Linux-v5.4/drivers/cpuidle/
DKconfig.arm3 # ARM CPU Idle drivers
6 bool "Generic ARM/ARM64 CPU idle Driver"
11 It provides a generic idle driver whose idle states are configured
13 initialized by calling the CPU operations init idle hook
17 bool "PSCI CPU idle Driver"
23 It provides an idle driver that is capable of detecting and
24 managing idle states through the PSCI firmware interface.
34 Select this option to enable CPU idle driver for big.LITTLE based
37 multiple CPU idle drivers infrastructure.
40 bool "CPU Idle Driver for CLPS711X processors"
[all …]
Ddt_idle_states.c3 * DT idle states parsing code.
9 #define pr_fmt(fmt) "DT idle-states: " fmt
30 * pointer of the passed in struct of_device_id array to the idle in init_state_node()
63 * latencies as defined in idle states bindings in init_state_node()
76 err = of_property_read_string(state_node, "idle-state-name", &desc); in init_state_node()
94 * Check that the idle state is uniform across all CPUs in the CPUidle driver
105 * Compare idle state phandles for index idx on all CPUs in the in idle_state_valid()
114 curr_state_node = of_parse_phandle(cpu_node, "cpu-idle-states", in idle_state_valid()
129 * dt_init_idle_driver() - Parse the DT idle states and initialize the
130 * idle driver states array
[all …]
DKconfig2 menu "CPU Idle"
5 bool "CPU idle PM support"
10 CPU idle is a generic framework for supporting software-controlled
11 idle processor power management. It includes modular cross-platform
30 This governor implements a simplified idle state selection method
40 This governor implements haltpoll idle state selection, to be
42 for polling for a certain amount of time before entering idle
50 menu "ARM CPU Idle Drivers"
55 menu "MIPS CPU Idle Drivers"
60 menu "POWERPC CPU Idle Drivers"
Dcpuidle-psci.c3 * PSCI CPU idle driver.
40 * PSCI idle states relies on architectural WFI to
54 { .compatible = "arm,idle-state",
82 /* Count idle states */ in psci_dt_cpu_init_idle()
83 while ((state_node = of_parse_phandle(cpu_node, "cpu-idle-states", in psci_dt_cpu_init_idle()
97 state_node = of_parse_phandle(cpu_node, "cpu-idle-states", i); in psci_dt_cpu_init_idle()
107 /* Idle states parsed correctly, initialize per-cpu pointer */ in psci_dt_cpu_init_idle()
123 * idle states must not be enabled, so bail out in psci_cpu_init_idle()
169 * Initialize idle states data, starting at index 1, since in psci_idle_init_cpu()
170 * by default idle state 0 is the quiescent state reached in psci_idle_init_cpu()
[all …]
Dcoupled.c3 * coupled.c - helper functions to enter the same idle state on multiple cpus
40 * Once all cpus are ready to enter idle, they are woken by an smp
42 * cpus will find work to do, and choose not to enter idle. A
47 * cpu exits idle, the other cpus will decrement their counter and
50 * requested_state stores the deepest coupled idle state each cpu
56 * and only read after all the cpus are ready for the coupled idle
62 * the waiting loop, in the ready loop, or in the coupled idle state.
64 * or in the coupled idle state.
88 * struct cpuidle_coupled - data for set of cpus that share a coupled idle state
94 * @prevent: flag to prevent coupled idle while a cpu is hotplugging
[all …]
Dcpuidle-arm.c3 * ARM/ARM64 generic CPU idle driver.
37 * Pass idle state index to arm_cpuidle_suspend which in turn in arm_enter_idle_state()
38 * will call the CPU ops suspend protocol with idle index as a in arm_enter_idle_state()
52 * handler for idle state index 0.
65 { .compatible = "arm,idle-state",
74 * framework. It relies on core code to parse the idle states
89 * Initialize idle states data, starting at index 1. This in arm_idle_init_cpu()
90 * driver is DT only, if no DT idle states are detected (ret in arm_idle_init_cpu()
92 * there is no reason to initialize the idle driver if only in arm_idle_init_cpu()
103 * idle states suspend back-end specific data in arm_idle_init_cpu()
[all …]
/Linux-v5.4/drivers/cpuidle/governors/
Dteo.c3 * Timer events oriented CPU idle governor
11 * wakeups from idle states. Moreover, information about what happened in the
13 * idle state with target residency within the time to the closest timer is
14 * likely to be suitable for the upcoming idle time of the CPU and, if not, then
15 * which of the shallower idle states to choose.
18 * they can be covered by taking a few most recent idle time intervals of the
20 * idle duration values greater than the time till the closest timer, as the
24 * Thus this governor estimates whether or not the upcoming idle time of the CPU
26 * idle state for it in accordance with that, as follows:
28 * - Find an idle state on the basis of the sleep length and state statistics
[all …]
/Linux-v5.4/Documentation/driver-api/pm/
Dcpuidle.rst10 CPU Idle Time Management
18 CPU Idle Time Management Subsystem
23 cores) is idle after an interrupt or equivalent wakeup event, which means that
24 there are no tasks to run on it except for the special "idle" task associated
26 belongs to. That can be done by making the idle logical CPU stop fetching
28 depended on by it into an idle state in which they will draw less power.
30 However, there may be multiple different idle states that can be used in such a
33 particular idle state. That is the role of the CPU idle time management
40 units: *governors* responsible for selecting idle states to ask the processor
45 CPU Idle Time Governors
[all …]
/Linux-v5.4/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-v5.4/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\-info [\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-v5.4/Documentation/admin-guide/mm/
Didle_page_tracking.rst4 Idle Page Tracking
10 The idle page tracking feature allows to track which memory pages are being
11 accessed by a workload and which are idle. This information can be useful for
23 The idle page tracking API is located at ``/sys/kernel/mm/page_idle``.
30 set, the corresponding page is idle.
32 A page is considered idle if it has not been accessed since it was marked idle
35 To mark a page idle one has to set the bit corresponding to
41 page types (e.g. SLAB pages) an attempt to mark a page idle is silently ignored,
42 and hence such pages are never reported idle.
44 For huge pages the idle flag is set only on the head page, so one has to read
[all …]
/Linux-v5.4/kernel/sched/
Didle.c3 * Generic entry points for the idle threads and
4 * implementation of the idle task scheduling class.
17 * sched_idle_set_state - Record idle state for the current CPU.
84 * default_idle_call - Default CPU idle routine.
103 * The idle task must be scheduled, it is pointless to go to idle, just in call_cpuidle()
104 * update no idle residency and return. in call_cpuidle()
113 * Enter the idle state previously returned by the governor decision. in call_cpuidle()
121 * cpuidle_idle_call - the main idle function
136 * Check if the idle task must be rescheduled. If it is the in cpuidle_idle_call()
145 * The RCU framework needs to be told that we are entering an idle in cpuidle_idle_call()
[all …]
/Linux-v5.4/kernel/time/
Dtick-sched.h24 * struct tick_sched - sched tick emulation and no idle tick control/stats
29 * @inidle: Indicator that the CPU is in the tick idle mode
30 * @tick_stopped: Indicator that the idle tick has been stopped
31 * @idle_active: Indicator that the CPU is actively in the tick idle mode;
33 * @do_timer_lst: CPU was the last one doing do_timer before going idle
40 * @idle_jiffies: jiffies at the entry to idle for idle time accounting
41 * @idle_calls: Total number of idle calls
42 * @idle_sleeps: Number of idle calls, where the sched tick was stopped
43 * @idle_entrytime: Time when the idle call was entered
44 * @idle_waketime: Time when the idle was interrupted
[all …]
/Linux-v5.4/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.
74 scheduling-clock interrupts to idle CPUs, which is critically important
[all …]
/Linux-v5.4/Documentation/scheduler/
Dsched-stats.rst50 4) # of times schedule() left the processor idle
76 of idleness (idle, busy, and newly idle):
79 cpu was idle
81 the load did not require balancing when the cpu was idle
83 more tasks and failed, when the cpu was idle
85 load_balance() in this domain when the cpu was idle
87 was idle
89 the target task was cache-hot when idle
91 not find a busier queue while the cpu was idle
93 cpu was idle but no busier group was found
[all …]
/Linux-v5.4/tools/testing/selftests/drivers/net/mlxsw/
Ddevlink_trap_l2_drops.sh101 # initially idle, then non-idle after changing the trap action and
102 # finally idle again. It also makes sure the packets are dropped and
105 check_err $? "Trap stats not idle with initial drop action"
107 check_err $? "Trap group stats not idle with initial drop action"
112 check_fail $? "Trap stats idle after setting action to trap"
114 check_fail $? "Trap group stats idle after setting action to trap"
119 check_err $? "Trap stats not idle after setting action to drop"
121 check_err $? "Trap group stats not idle after setting action to drop"
182 check_err $? "Trap stats not idle when packets should not be dropped"
184 check_err $? "Trap group stats not idle with when packets should not be dropped"
[all …]
/Linux-v5.4/arch/arm/mach-pxa/
Dpxa27x.h13 #define ARB_DMA_SLV_PARK (1<<31) /* Be parked with DMA slave when idle */
14 #define ARB_CI_PARK (1<<30) /* Be parked with Camera Interface when idle */
15 #define ARB_EX_MEM_PARK (1<<29) /* Be parked with external MEMC when idle */
16 #define ARB_INT_MEM_PARK (1<<28) /* Be parked with internal MEMC when idle */
17 #define ARB_USB_PARK (1<<27) /* Be parked with USB when idle */
18 #define ARB_LCD_PARK (1<<26) /* Be parked with LCD when idle */
19 #define ARB_DMA_PARK (1<<25) /* Be parked with DMA when idle */
20 #define ARB_CORE_PARK (1<<24) /* Be parked with core when idle */
/Linux-v5.4/fs/proc/
Dstat.c28 u64 idle; in get_idle_time() local
30 idle = kcs->cpustat[CPUTIME_IDLE]; in get_idle_time()
32 idle += arch_idle_time(cpu); in get_idle_time()
33 return idle; in get_idle_time()
50 u64 idle, idle_usecs = -1ULL; in get_idle_time() local
56 /* !NO_HZ or cpu offline so we can rely on cpustat.idle */ in get_idle_time()
57 idle = kcs->cpustat[CPUTIME_IDLE]; in get_idle_time()
59 idle = idle_usecs * NSEC_PER_USEC; in get_idle_time()
61 return idle; in get_idle_time()
110 u64 user, nice, system, idle, iowait, irq, softirq, steal; in show_stat() local
[all …]

12345678910>>...84