Home
last modified time | relevance | path

Searched refs:idle (Results 1 – 25 of 733) sorted by relevance

12345678910>>...30

/linux/arch/s390/kernel/
H A Didle.c26 struct s390_idle_data *idle = this_cpu_ptr(&s390_idle); in account_idle_time_irq() local
35 this_cpu_add(mt_cycles[i], cycles_new[i] - idle->mt_cycles_enter[i]); in account_idle_time_irq()
38 idle_time = lc->int_clock - idle->clock_idle_enter; in account_idle_time_irq()
40 lc->steal_timer += idle->clock_idle_enter - lc->last_update_clock; in account_idle_time_irq()
43 lc->system_timer += lc->last_update_timer - idle->timer_idle_enter; in account_idle_time_irq()
47 WRITE_ONCE(idle->idle_time, READ_ONCE(idle->idle_time) + idle_time); in account_idle_time_irq()
48 WRITE_ONCE(idle->idle_count, READ_ONCE(idle->idle_count) + 1); in account_idle_time_irq()
54 struct s390_idle_data *idle = this_cpu_ptr(&s390_idle); in arch_cpu_idle() local
63 stcctm(MT_DIAG, smp_cpu_mtid, (u64 *)&idle->mt_cycles_enter); in arch_cpu_idle()
64 idle->clock_idle_enter = get_tod_clock_fast(); in arch_cpu_idle()
[all …]
/linux/Documentation/devicetree/bindings/powerpc/opal/
H A 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/Documentation/admin-guide/pm/
H A Dintel_idle.rst17 :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:
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
58 ``intel_idle`` can use two sources of information: static tables of idle states
66 `below <intel-idle-parameters_>`_.]
[all …]
H A Dcpuidle.rst21 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/Documentation/admin-guide/thermal/
H A Dintel_powerclamp.rst46 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 Dg84.c121 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/drivers/cpuidle/
H A DKconfig.arm6 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,
32 only the idle states defined per CPU are available, but not the ones
[all …]
/linux/Documentation/driver-api/thermal/
H A Dcpu-idle-cooling.rst37 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/arch/arm/mach-tegra/
H A Dplatsmp.c42 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/pm/
H A Dcpuidle.rst18 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/fs/proc/
H A Duptime.c15 struct timespec64 idle; in uptime_proc_show() local
31 idle.tv_sec = div_u64_rem(idle_nsec, NSEC_PER_SEC, &rem); in uptime_proc_show()
32 idle.tv_nsec = rem; in uptime_proc_show()
36 (unsigned long) idle.tv_sec, in uptime_proc_show()
37 (idle.tv_nsec / (NSEC_PER_SEC / 100))); in uptime_proc_show()
/linux/Documentation/admin-guide/mm/
H A Didle_page_tracking.rst8 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/arch/arm64/boot/dts/freescale/
H A Dfsl-ls2088a.dtsi28 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 Dfsl-ls2080a.dtsi28 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/tools/power/cpupower/
H A Dcpupower-completion.sh41 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/kernel/sched/
H A Dext.h60 void __scx_update_idle(struct rq *rq, bool idle);
62 static inline void scx_update_idle(struct rq *rq, bool idle) in scx_update_idle() argument
65 __scx_update_idle(rq, idle); in scx_update_idle()
68 static inline void scx_update_idle(struct rq *rq, bool idle) {} in scx_update_idle() argument
80 void scx_group_set_idle(struct task_group *tg, bool idle);
89 static inline void scx_group_set_idle(struct task_group *tg, bool idle) {} in scx_group_set_idle() argument
/linux/Documentation/scheduler/
H A Dsched-stats.rst55 4) # of times schedule() left the processor idle
81 of idleness (idle, busy, and newly idle):
84 cpu was idle
86 the load did not require balancing when the cpu was idle
88 more tasks and failed, when the cpu was idle
90 sched_balance_rq() in this domain when the cpu was idle
92 was idle
94 the target task was cache-hot when idle
96 not find a busier queue while the cpu was idle
98 cpu was idle but no busier group was found
[all …]
/linux/arch/arm64/boot/dts/sprd/
H A Dums9620.dtsi53 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 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
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 Dworkqueue.rst577 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/x86/include/asm/
H A Dstackprotector.h66 static inline void cpu_init_stack_canary(int cpu, struct task_struct *idle) in cpu_init_stack_canary() argument
69 per_cpu(fixed_percpu_data.stack_canary, cpu) = idle->stack_canary; in cpu_init_stack_canary()
71 per_cpu(__stack_chk_guard, cpu) = idle->stack_canary; in cpu_init_stack_canary()
79 static inline void cpu_init_stack_canary(int cpu, struct task_struct *idle) in cpu_init_stack_canary() argument
/linux/Documentation/devicetree/bindings/mfd/
H A Dtwl4030-power.txt11 "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/arch/powerpc/include/asm/
H A Didle.h49 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 Dvia-macii.c108 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/drivers/gpu/drm/etnaviv/
H A Detnaviv_gpu.c510 u32 control, idle; in etnaviv_hw_reset() local
559 idle = gpu_read(gpu, VIVS_HI_IDLE_STATE); in etnaviv_hw_reset()
562 if ((idle & VIVS_HI_IDLE_STATE_FE) == 0) { in etnaviv_hw_reset()
586 idle = gpu_read(gpu, VIVS_HI_IDLE_STATE); in etnaviv_hw_reset()
590 idle & VIVS_HI_IDLE_STATE_FE ? "" : "not ", in etnaviv_hw_reset()
930 u32 dma_lo, dma_hi, axi, idle; in etnaviv_gpu_debugfs() local
942 idle = gpu_read(gpu, VIVS_HI_IDLE_STATE); in etnaviv_gpu_debugfs()
1008 seq_printf(m, "\tidle: 0x%08x\n", idle); in etnaviv_gpu_debugfs()
1009 idle |= ~gpu->idle_mask & ~VIVS_HI_IDLE_STATE_AXI_LP; in etnaviv_gpu_debugfs()
1010 if ((idle & VIVS_HI_IDLE_STATE_FE) == 0) in etnaviv_gpu_debugfs()
[all …]

12345678910>>...30