| /linux/Documentation/devicetree/bindings/powerpc/opal/ |
| H A 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/Documentation/admin-guide/thermal/ |
| H A D | intel_powerclamp.rst | 46 idle injection across all online CPU threads was introduced. The goal 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 125 In terms of dynamics of the idle control system, package level idle 128 intel_powerclamp driver attempts to enforce the desired idle time [all …]
|
| /linux/drivers/gpu/drm/nouveau/nvkm/engine/gr/ |
| H A 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/arch/arm/mach-tegra/ |
| H A 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/Documentation/driver-api/thermal/ |
| H A D | cpu-idle-cooling.rst | 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 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 69 We use a fixed duration of idle injection that gives an acceptable 71 or decreased by modulating the duty cycle of the idle injection. [all …]
|
| /linux/Documentation/driver-api/pm/ |
| H A D | cpuidle.rst | 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 43 A CPU idle time (``CPUIdle``) governor is a bundle of policy code invoked when 44 one of the logical CPUs in the system turns out to be idle. Its role is to 45 select an idle state to ask the processor to enter in order to save some energy. [all …]
|
| /linux/arch/um/kernel/ |
| H A D | smp.c | 141 struct task_struct *idle; in uml_start_secondary() local 151 idle = cpu_tasks[cpu]; in uml_start_secondary() 152 idle->thread_info.cpu = cpu; in uml_start_secondary() 155 idle->active_mm = mm; in uml_start_secondary() 157 idle->thread.request.thread.proc = start_secondary; in uml_start_secondary() 158 idle->thread.request.thread.arg = NULL; in uml_start_secondary() 160 new_thread(task_stack_page(idle), &idle->thread.switch_buf, in uml_start_secondary() 162 os_start_secondary(opaque, &idle->thread.switch_buf); in uml_start_secondary()
|
| /linux/Documentation/admin-guide/mm/ |
| H A D | idle_page_tracking.rst | 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 43 ``/proc/kpageflags`` in order to correctly count idle huge pages. [all …]
|
| /linux/tools/power/cpupower/ |
| H A 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/arch/arm64/boot/dts/freescale/ |
| H A D | fsl-ls2088a.dtsi | 28 cpu-idle-states = <&CPU_PW20>; 38 cpu-idle-states = <&CPU_PW20>; 48 cpu-idle-states = <&CPU_PW20>; 58 cpu-idle-states = <&CPU_PW20>; 69 cpu-idle-states = <&CPU_PW20>; 78 cpu-idle-states = <&CPU_PW20>; 88 cpu-idle-states = <&CPU_PW20>; 98 cpu-idle-states = <&CPU_PW20>; 128 compatible = "arm,idle-state"; 129 idle-state-name = "PW20";
|
| H A D | fsl-ls2080a.dtsi | 28 cpu-idle-states = <&CPU_PW20>; 38 cpu-idle-states = <&CPU_PW20>; 48 cpu-idle-states = <&CPU_PW20>; 58 cpu-idle-states = <&CPU_PW20>; 68 cpu-idle-states = <&CPU_PW20>; 78 cpu-idle-states = <&CPU_PW20>; 89 cpu-idle-states = <&CPU_PW20>; 98 cpu-idle-states = <&CPU_PW20>; 128 compatible = "arm,idle-state"; 129 idle-state-name = "PW20";
|
| /linux/arch/arm64/boot/dts/sprd/ |
| H A D | ums9620.dtsi | 53 cpu-idle-states = <&LIT_CORE_PD>; 61 cpu-idle-states = <&LIT_CORE_PD>; 69 cpu-idle-states = <&LIT_CORE_PD>; 77 cpu-idle-states = <&LIT_CORE_PD>; 85 cpu-idle-states = <&BIG_CORE_PD>; 93 cpu-idle-states = <&BIG_CORE_PD>; 101 cpu-idle-states = <&BIG_CORE_PD>; 109 cpu-idle-states = <&BIG_CORE_PD>; 113 idle-states { 116 compatible = "arm,idle-state"; [all …]
|
| /linux/Documentation/timers/ |
| H A 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. 73 An idle CPU that is not receiving scheduling-clock interrupts is said to 74 be "dyntick-idle", "in dyntick-idle mode", "in nohz mode", or "running [all …]
|
| /linux/Documentation/translations/zh_CN/core-api/ |
| H A D | workqueue.rst | 577 pool[00] ref= 1 nice= 0 idle/workers= 4/ 4 cpu= 0 578 pool[01] ref= 1 nice=-20 idle/workers= 2/ 2 cpu= 0 579 pool[02] ref= 1 nice= 0 idle/workers= 4/ 4 cpu= 1 580 pool[03] ref= 1 nice=-20 idle/workers= 2/ 2 cpu= 1 581 pool[04] ref= 1 nice= 0 idle/workers= 4/ 4 cpu= 2 582 pool[05] ref= 1 nice=-20 idle/workers= 2/ 2 cpu= 2 583 pool[06] ref= 1 nice= 0 idle/workers= 3/ 3 cpu= 3 584 pool[07] ref= 1 nice=-20 idle/workers= 2/ 2 cpu= 3 585 pool[08] ref=42 nice= 0 idle/workers= 6/ 6 cpus=0000000f 586 pool[09] ref=28 nice= 0 idle/workers= 3/ 3 cpus=00000003 [all …]
|
| /linux/arch/arm64/boot/dts/ti/ |
| H A D | k3-am62a.dtsi | 49 system-idle-states { 51 compatible = "system-idle-state"; 52 idle-state-name = "off-wake"; 56 compatible = "system-idle-state"; 57 idle-state-name = "mem-deep"; 61 compatible = "system-idle-state"; 62 idle-state-name = "mem"; 66 compatible = "system-idle-state"; 67 idle-state-name = "mem-mcu-active"; 71 compatible = "system-idle-state"; [all …]
|
| H A D | k3-am62.dtsi | 49 system-idle-states { 51 compatible = "system-idle-state"; 52 idle-state-name = "off-wake"; 56 compatible = "system-idle-state"; 57 idle-state-name = "mem"; 61 compatible = "system-idle-state"; 62 idle-state-name = "mem-mcu-active"; 66 compatible = "system-idle-state"; 67 idle-state-name = "standby";
|
| /linux/arch/powerpc/include/asm/ |
| H A D | idle.h | 49 get_lppaca()->idle = 1; in pseries_idle_prolog() 56 get_lppaca()->idle = 0; in pseries_idle_epilog() 68 if (unlikely(get_lppaca()->idle == 1)) { in read_this_idle_purr() 84 if (get_lppaca()->idle == 1) { in read_this_idle_spurr()
|
| /linux/drivers/macintosh/ |
| H A D | via-macii.c | 108 idle, enumerator 154 macii_state = idle; in macii_init() 270 if (macii_state == idle) in macii_write() 291 if (current_req && macii_state == idle) in macii_autopoll() 386 case idle: in macii_interrupt() 475 macii_state = idle; in macii_interrupt() 507 macii_state = idle; in macii_interrupt() 543 if (macii_state == idle) { in macii_interrupt() 550 if (macii_state == idle) { in macii_interrupt()
|
| /linux/arch/arm/boot/dts/ti/omap/ |
| H A D | omap3-beagle-ab4.dts | 21 /* Unusable as clockevent because of unreliable oscillator, allow to idle */ 24 /delete-property/ti,no-idle; 33 ti,no-idle; 42 ti,no-idle;
|
| /linux/drivers/gpu/drm/etnaviv/ |
| H A D | etnaviv_gpu.c | 536 u32 control, idle; in etnaviv_hw_reset() local 585 idle = gpu_read(gpu, VIVS_HI_IDLE_STATE); in etnaviv_hw_reset() 588 if ((idle & gpu->idle_mask) != gpu->idle_mask) { in etnaviv_hw_reset() 629 idle = gpu_read(gpu, VIVS_HI_IDLE_STATE); in etnaviv_hw_reset() 633 idle & VIVS_HI_IDLE_STATE_FE ? "" : "not ", in etnaviv_hw_reset() 989 u32 dma_lo, dma_hi, axi, idle; in etnaviv_gpu_debugfs() local 1001 idle = gpu_read(gpu, VIVS_HI_IDLE_STATE); in etnaviv_gpu_debugfs() 1067 seq_printf(m, "\tidle: 0x%08x\n", idle); in etnaviv_gpu_debugfs() 1068 idle |= ~gpu->idle_mask & ~VIVS_HI_IDLE_STATE_AXI_LP; in etnaviv_gpu_debugfs() 1069 if ((idle & VIVS_HI_IDLE_STATE_FE) == 0) in etnaviv_gpu_debugfs() [all …]
|
| /linux/arch/arm64/boot/dts/arm/ |
| H A D | juno-r1.dts | 66 idle-states { 70 compatible = "arm,idle-state"; 79 compatible = "arm,idle-state"; 101 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 118 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 135 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 152 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 169 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 186 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
|
| H A D | juno.dts | 65 idle-states { 69 compatible = "arm,idle-state"; 78 compatible = "arm,idle-state"; 100 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 118 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 136 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 154 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 172 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 190 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
|
| H A D | juno-r2.dts | 66 idle-states { 70 compatible = "arm,idle-state"; 79 compatible = "arm,idle-state"; 101 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 119 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 137 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 155 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 173 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 191 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
|
| /linux/Documentation/admin-guide/pm/ |
| H A D | suspend-flows.rst | 27 significant differences between the :ref:`suspend-to-idle <s2idle>` code flows 42 Suspend-to-idle Suspend Code Flow 46 state to the :ref:`suspend-to-idle <s2idle>` sleep state: 101 When all devices have been suspended, CPUs enter the idle loop and are put 102 into the deepest available idle state. While doing that, each of them 106 The last CPU to enter the idle state also stops the timekeeping which 109 That allows the CPUs to stay in the deep idle state relatively long in one 113 interrupts. If that happens, they go back to the idle state unless the 120 Suspend-to-idle Resume Code Flow 124 :ref:`suspend-to-idle <s2idle>` sleep state into the working state: [all …]
|
| /linux/arch/arm/boot/dts/hisilicon/ |
| H A D | hi3620-hi4511.dts | 81 uart0_pmx_idle: uart0-idle-pins { 93 uart1_pmx_idle: uart1-idle-pins { 105 uart2_pmx_idle: uart2-idle-pins { 117 uart3_pmx_idle: uart3-idle-pins { 130 uart4_pmx_idle: uart4-idle-pins { 142 i2c0_pmx_idle: i2c0-idle-pins { 152 i2c1_pmx_idle: i2c1-idle-pins { 163 i2c2_pmx_idle: i2c2-idle-pins { 175 i2c3_pmx_idle: i2c3-idle-pins { 190 spi0_pmx_idle: spi0-idle-pins { [all …]
|