/Linux-v5.4/arch/s390/kernel/ |
D | idle.c | 25 struct s390_idle_data *idle = this_cpu_ptr(&s390_idle); in enabled_wait() local 37 psw_idle(idle, psw_mask); 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() 55 struct s390_idle_data *idle = &per_cpu(s390_idle, dev->id); in show_idle_count() local 60 seq = read_seqcount_begin(&idle->seqcount); in show_idle_count() [all …]
|
/Linux-v5.4/Documentation/devicetree/bindings/powerpc/opal/ |
D | power-mgt.txt | 5 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/Documentation/devicetree/bindings/arm/ |
D | idle-states.txt | 2 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 35 The device tree binding definition for ARM idle states is the subject of this 39 2 - idle-states definitions 44 triggered upon idle states entry and exit. 47 properties required to enter and exit an idle state: 59 Diagram 1: CPU idle state execution phases [all …]
|
/Linux-v5.4/Documentation/admin-guide/pm/ |
D | cpuidle.rst | 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 58 to put the whole larger unit into an idle state which also will affect the [all …]
|
/Linux-v5.4/Documentation/driver-api/thermal/ |
D | intel_powerclamp.rst | 44 idle injection across all online CPU threads was introduced. The goal 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 123 In terms of dynamics of the idle control system, package level idle 126 intel_powerclamp driver attempts to enforce the desired idle time [all …]
|
/Linux-v5.4/drivers/gpu/drm/nouveau/nvkm/engine/gr/ |
D | g84.c | 121 bool idle, timeout = false; in g84_gr_tlb_flush() local 132 idle = true; in g84_gr_tlb_flush() 134 for (tmp = nvkm_rd32(device, 0x400380); tmp && idle; tmp >>= 3) { in g84_gr_tlb_flush() 136 idle = false; in g84_gr_tlb_flush() 139 for (tmp = nvkm_rd32(device, 0x400384); tmp && idle; tmp >>= 3) { in g84_gr_tlb_flush() 141 idle = false; in g84_gr_tlb_flush() 144 for (tmp = nvkm_rd32(device, 0x400388); tmp && idle; tmp >>= 3) { in g84_gr_tlb_flush() 146 idle = false; in g84_gr_tlb_flush() 148 } while (!idle && in g84_gr_tlb_flush()
|
/Linux-v5.4/fs/proc/ |
D | stat.c | 28 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 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 117 user = nice = system = idle = iowait = in show_stat() [all …]
|
D | uptime.c | 13 struct timespec64 idle; in uptime_proc_show() local 23 idle.tv_sec = div_u64_rem(nsec, NSEC_PER_SEC, &rem); in uptime_proc_show() 24 idle.tv_nsec = rem; in uptime_proc_show() 28 (unsigned long) idle.tv_sec, in uptime_proc_show() 29 (idle.tv_nsec / (NSEC_PER_SEC / 100))); in uptime_proc_show()
|
/Linux-v5.4/arch/arm/mach-tegra/ |
D | platsmp.c | 42 static int tegra20_boot_secondary(unsigned int cpu, struct task_struct *idle) in tegra20_boot_secondary() argument 70 static int tegra30_boot_secondary(unsigned int cpu, struct task_struct *idle) in tegra30_boot_secondary() argument 129 static int tegra114_boot_secondary(unsigned int cpu, struct task_struct *idle) in tegra114_boot_secondary() argument 159 struct task_struct *idle) in tegra_boot_secondary() argument 162 return tegra20_boot_secondary(cpu, idle); in tegra_boot_secondary() 164 return tegra30_boot_secondary(cpu, idle); in tegra_boot_secondary() 166 return tegra114_boot_secondary(cpu, idle); in tegra_boot_secondary() 168 return tegra114_boot_secondary(cpu, idle); in tegra_boot_secondary()
|
/Linux-v5.4/Documentation/devicetree/bindings/arm/msm/ |
D | qcom,idle-state.txt | 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 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. 61 The devicetree representation of the idle state should be - 66 "qcom,idle-state-ret", [all …]
|
/Linux-v5.4/Documentation/devicetree/bindings/i2c/ |
D | i2c-mux-pinctrl.txt | 39 The only exception is that no bus will be created for a state named "idle". If 43 pinctrl-names = "ddc", "pta", "idle" -> ddc = bus 0, pta = bus 1 44 pinctrl-names = "ddc", "idle", "pta" -> Invalid ("idle" not last) 45 pinctrl-names = "idle", "ddc", "pta" -> Invalid ("idle" not last) 50 If an idle state is defined, whenever an access is not being made to a device 51 on a child bus, the idle pinctrl state will be programmed into hardware. 53 If an idle state is not defined, the most recently used pinctrl state will be 66 pinctrl-names = "ddc", "pta", "idle";
|
/Linux-v5.4/Documentation/driver-api/pm/ |
D | cpuidle.rst | 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 48 A CPU idle time (``CPUIdle``) governor is a bundle of policy code invoked when 49 one of the logical CPUs in the system turns out to be idle. Its role is to 50 select an idle state to ask the processor to enter in order to save some energy. [all …]
|
/Linux-v5.4/arch/arm64/boot/dts/freescale/ |
D | fsl-ls2080a.dtsi | 20 cpu-idle-states = <&CPU_PW20>; 30 cpu-idle-states = <&CPU_PW20>; 40 cpu-idle-states = <&CPU_PW20>; 50 cpu-idle-states = <&CPU_PW20>; 60 cpu-idle-states = <&CPU_PW20>; 70 cpu-idle-states = <&CPU_PW20>; 81 cpu-idle-states = <&CPU_PW20>; 90 cpu-idle-states = <&CPU_PW20>; 112 compatible = "arm,idle-state"; 113 idle-state-name = "PW20";
|
D | fsl-ls2088a.dtsi | 20 cpu-idle-states = <&CPU_PW20>; 30 cpu-idle-states = <&CPU_PW20>; 40 cpu-idle-states = <&CPU_PW20>; 50 cpu-idle-states = <&CPU_PW20>; 61 cpu-idle-states = <&CPU_PW20>; 70 cpu-idle-states = <&CPU_PW20>; 80 cpu-idle-states = <&CPU_PW20>; 90 cpu-idle-states = <&CPU_PW20>; 112 compatible = "arm,idle-state"; 113 idle-state-name = "PW20";
|
/Linux-v5.4/tools/power/cpupower/ |
D | cpupower-completion.sh | 41 idle-info) COMPREPLY=($(compgen -W "$flags" -- "$cur")) ;; 51 idle-set) COMPREPLY=($(compgen -W "$flags" -- "$cur")) ;; 86 idle-info) _idle_info ;; 87 idle-set) _idle_set ;; 120 idle-info) _idle_info ;; 121 idle-set) _idle_set ;;
|
/Linux-v5.4/Documentation/devicetree/bindings/power/ |
D | domain-idle-state.txt | 3 A domain idle state node represents the state parameters that will be used to 11 Definition: Must be "domain-idle-state". 17 microseconds required to enter the idle state. 25 in microseconds required to exit the idle state. 31 in microseconds after which the idle state will yield 33 i the idle state.
|
D | power_domain.txt | 32 - domain-idle-states : A phandle of an idle-state that shall be soaked into a 33 generic domain power state. The idle state definitions are 34 compatible with domain-idle-state specified in [1]. phandles 35 that are not compatible with domain-idle-state will be 37 The domain-idle-state property reflects the idle state of this PM domain and 38 not the idle states of the devices or sub-domains in the PM domain. Devices 39 and sub-domains have their own idle-states independent of the parent 40 domain's idle states. In the absence of this property, the domain would be 84 domain-idle-states = <&DOMAIN_RET>, <&DOMAIN_PWR_DN>; 92 domain-idle-states = <&DOMAIN_PWR_DN>; [all …]
|
/Linux-v5.4/Documentation/admin-guide/mm/ |
D | idle_page_tracking.rst | 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 45 ``/proc/kpageflags`` in order to correctly count idle huge pages. [all …]
|
/Linux-v5.4/drivers/cpuidle/ |
D | Kconfig.arm | 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.
|
/Linux-v5.4/Documentation/scheduler/ |
D | sched-stats.rst | 50 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/Documentation/timers/ |
D | no_hz.rst | 19 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 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 82 idle CPUs. That said, dyntick-idle mode is not free: [all …]
|
/Linux-v5.4/Documentation/devicetree/bindings/mfd/ |
D | twl4030-power.txt | 11 "ti,twl4030-power-idle" 12 "ti,twl4030-power-idle-osc-off" 17 When using ti,twl4030-power-idle, the TI recommended configuration 18 for idle modes is loaded to the tlw4030 PMIC. 20 When using ti,twl4030-power-idle-osc-off, the TI recommended 22 down during off-idle. Note that this does not work on all boards
|
/Linux-v5.4/Documentation/devicetree/bindings/watchdog/ |
D | atmel-sama5d4-wdt.txt | 15 - atmel,idle-halt: present if you want to stop the watchdog when the CPU is 16 in idle state. 18 watchdog not counting when the CPU is in idle state, therefore the 20 if the CPU stop working while it is in idle state, which is probably 33 atmel,idle-halt;
|
/Linux-v5.4/drivers/gpu/drm/amd/amdgpu/ |
D | amdgpu_ids.c | 199 struct amdgpu_vmid **idle) in amdgpu_vmid_grab_idle() argument 217 list_for_each_entry((*idle), &id_mgr->ids_lru, list) { in amdgpu_vmid_grab_idle() 218 fences[i] = amdgpu_sync_peek_fence(&(*idle)->active, ring); in amdgpu_vmid_grab_idle() 225 if (&(*idle)->list == &id_mgr->ids_lru) { in amdgpu_vmid_grab_idle() 231 *idle = NULL; in amdgpu_vmid_grab_idle() 413 struct amdgpu_vmid *idle = NULL; in amdgpu_vmid_grab() local 418 r = amdgpu_vmid_grab_idle(vm, ring, sync, &idle); in amdgpu_vmid_grab() 419 if (r || !idle) in amdgpu_vmid_grab() 435 id = idle; in amdgpu_vmid_grab() 472 struct amdgpu_vmid *idle; in amdgpu_vmid_alloc_reserved() local [all …]
|
/Linux-v5.4/Documentation/devicetree/bindings/mux/ |
D | mux-controller.txt | 127 have when it is idle. The idle-state property is used for this. If the 128 idle-state is not present, the mux controller is typically left as is when 129 it is idle. For multiplexer chips that expose several mux controllers, the 130 idle-state property is an array with one idle state for each mux controller. 133 as is when it is idle. This is the default, but can still be useful for 135 there is a need to "step past" a mux controller and set some other idle 139 multiplexer. Using this disconnected high-impedance state as the idle state 140 is indicated with idle state (-2). 156 idle-state = <MUX_IDLE_DISCONNECT MUX_IDLE_AS_IS 2>;
|