/linux/Documentation/scheduler/ |
H A D | sched-stats.rst | 5 Version 17 of schedstats removed 'lb_imbalance' field as it has no 20 …b/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/scheduler/sched-stats.txt?id=1e1dbb25… 24 12 which was in the kernel from 2.6.13-2.6.19 (version 13 never saw a kernel 25 release). Some counters make more sense to be per-runqueue; other to be 26 per-domain. Note that domains (and their associated information) will only 31 domain. Domains have no particular names in this implementation, but 35 are no architectures which need more than three domain levels. The first 39 …https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/sched-stats.… 44 …https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/sched-stats.… 53 Note that any such script will necessarily be version-specific, as the main [all …]
|
/linux/kernel/time/ |
H A D | timer_migration.c | 1 // SPDX-License-Identifier: GPL-2.0-only 15 #include "tick-internal.h" 34 * GRP0:0 - GRP0:2 GRP0:3 - GRP0:5 37 * CPUS 0-7 8-15 16-23 24-31 32-39 40-47 40 * queues are updated when CPUs go in idle. When they come out of idle 50 * no CPU is active, it also checks the groups where no migrator is set 54 * from the idle CPU and runs the timer function. After that it updates the 57 * CPUs which go idle arm their CPU local timer hardware for the next local 59 * next local timer or the CPU has no migratable timer pending then the 62 * in the LVL0 group. In both cases the CPU marks itself idle in the LVL0 [all …]
|
H A D | tick-sched.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 17 /* The CPU is in the tick idle mode */ 19 /* The idle tick has been stopped */ 22 * Indicator that the CPU is actively in the tick idle mode; 26 /* CPU was the last one doing do_timer before going idle */ 34 * struct tick_sched - sched tick emulation and no idle tick control/stats 47 * @idle_jiffies: jiffies at the entry to idle for idle time accounting 48 * @idle_waketime: Time when the idle was interrupted 50 * @idle_entrytime: Time when the idle call was entered 55 * @idle_expires: Next tick in idle, for debugging purpose only [all …]
|
/linux/Documentation/timers/ |
H A D | no_hz.rst | 2 NO_HZ: Reducing Scheduling-Clock Ticks 7 reduce the number of scheduling-clock interrupts, thereby improving energy 9 some types of computationally intensive high-performance computing (HPC) 10 applications and for real-time applications. 12 There are three main ways of managing scheduling-clock interrupts 13 (also known as "scheduling-clock ticks" or simply "ticks"): 15 1. Never omit scheduling-clock ticks (CONFIG_HZ_PERIODIC=y or 16 CONFIG_NO_HZ=n for older kernels). You normally will -not- 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 [all …]
|
/linux/Documentation/admin-guide/pm/ |
H A D | intel_idle.rst | 1 .. SPDX-License-Identifier: GPL-2.0 5 ``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 24 Documentation/admin-guide/pm/cpuidle.rst if you have not done that yet.] 27 logical CPU executing it is idle and so it may be possible to put some of the 28 processor's functional blocks into low-power states. That instruction takes two 38 only way to pass early-configuration-time parameters to it is via the kernel 55 C-state requests from the OS (e.g., C6 requests) to C1. The idea is that 56 firmware monitors CPU wake-up rate, and if it is higher than a [all …]
|
/linux/kernel/sched/ |
H A D | idle.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * 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. 29 cpu_idle_force_poll--; in cpu_idle_poll_ctrl() 104 * default_idle_call - Default CPU idle routine. 132 return -EBUSY; in call_cpuidle_s2idle() 141 * The idle task must be scheduled, it is pointless to go to idle, just in call_cpuidle() 142 * update no idle residency and return. in call_cpuidle() 145 dev->last_residency_ns = 0; in call_cpuidle() [all …]
|
H A D | ext_idle.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * BPF extensible scheduler class: Documentation/scheduler/sched-ext.rst 5 * Built-in idle CPU tracking policy. 14 /* Enable/disable built-in idle CPU selection policy */ 17 /* Enable/disable per-node idle cpumasks */ 28 * cpumasks to track idle CPUs within each NUMA node. 31 * from is used to track all the idle CPUs in the system. 39 * Global host-wide idle cpumasks (used when SCX_OPS_BUILTIN_IDLE_PER_NODE 45 * Per-node idle cpumasks. 50 * Local per-CPU cpumasks (used to generate temporary idle cpumasks). [all …]
|
/linux/drivers/cpuidle/ |
H A D | coupled.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * 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 57 * state are no longer updating it. 62 * the waiting loop, in the ready loop, or in the coupled idle state. 64 * or in the coupled idle state. [all …]
|
/linux/arch/arm/boot/dts/ti/omap/ |
H A D | omap3-beagle-ab4.dts | 1 // SPDX-License-Identifier: GPL-2.0-only 2 /dts-v1/; 4 #include "omap3-beagle.dts" 8 compatible = "ti,omap3-beagle-ab4", "ti,omap3-beagle", "ti,omap3430", "ti,omap3"; 21 /* Unusable as clockevent because of unreliable oscillator, allow to idle */ 23 /delete-property/ti,no-reset-on-init; 24 /delete-property/ti,no-idle; 26 /delete-property/ti,timer-alwon; 30 /* Preferred always-on timer for clocksource */ 32 ti,no-reset-on-init; [all …]
|
/linux/arch/arm/mach-omap2/ |
H A D | cm33xx.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2011-2012 Texas Instruments Incorporated - https://www.ti.com/ 20 #include "cm-regbits-34xx.h" 21 #include "cm-regbits-33xx.h" 33 * 0x2 idle: Module is in Idle mode (only OCP part). It is functional if 57 /* Read-modify-write a register in CM */ 82 * _clkctrl_idlest - read a CM_*_CLKCTRL register; mask & shift IDLEST bitfield 98 * _is_module_ready - can module registers be accessed without causing an abort? 116 * _clktrctrl_write - write @c to a CM_CLKSTCTRL.CLKTRCTRL register bitfield 121 * @c must be the unshifted value for CLKTRCTRL - i.e., this function [all …]
|
H A D | cminst44xx.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 * Copyright (C) 2008-2011 Texas Instruments, Inc. 26 #include "cm-regbits-34xx.h" 30 #include "prcm-common.h" 45 * 0x2 idle: Module is in Idle mode (only OCP part). It is functional if 58 * omap_cm_base_init - Populates the cm partitions 77 * _clkctrl_idlest - read a CM_*_CLKCTRL register; mask & shift IDLEST bitfield 94 * _is_module_ready - can module registers be accessed without causing an abort? 130 /* Read-modify-write a register in CM1. Caller must lock */ 171 * _clktrctrl_write - write @c to a CM_CLKSTCTRL.CLKTRCTRL register bitfield [all …]
|
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc/ |
H A D | idle.fuc | 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 26 process(PROC_IDLE, #idle, #idle_recv) 30 * IDLE data segment 36 * IDLE code segment 41 // $r15 - current (idle) 42 // $r14 - message 43 // $r0 - zero 49 // $r15 - current (idle) 50 // $r0 - zero 51 idle: [all …]
|
/linux/drivers/cpuidle/governors/ |
H A D | teo.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Timer events oriented CPU idle governor 5 * Copyright (C) 2018 - 2021 Intel Corporation 10 * DOC: teo-description 16 * can be determined at the idle state selection time, although doing that may 18 * for idle state selection. 20 * Of course, non-timer wakeup sources are more important in some use cases, 21 * but even then it is generally unnecessary to consider idle duration values 27 * checks if it can select a shallow idle state using wakeup pattern information 29 * at all. For this purpose, it counts CPU wakeup events and looks for an idle [all …]
|
/linux/drivers/clk/ti/ |
H A D | clkt_dflt.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2005-2008, 2015 Texas Instruments, Inc. 6 * Copyright (C) 2004-2010 Nokia Corporation 9 * Richard Woodruff <r-woodruff2@ti.com> 11 * Tero Kristo <t-kristo@ti.com> 16 #include <linux/clk-provider.h> 25 * for a module to indicate that it is no longer in idle 37 * _wait_idlest_generic - wait for a module to leave the idle state 41 * @idlest: idle state indicator (0 or 1) for the clock 44 * Wait for a module to leave idle, where its idle-status register is [all …]
|
/linux/Documentation/devicetree/bindings/i2c/ |
H A D | i2c-mux-pinctrl.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 3 --- 4 $id: http://devicetree.org/schemas/i2c/i2c-mux-pinctrl.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Pinctrl-based I2C Bus Mux 10 - Wolfram Sang <wsa@kernel.org> 17 +-----+ +-----+ 19 +------------------------+ +-----+ +-----+ 21 | /----|------+--------+ 22 | +---+ +------+ | child bus A, on first set of pins [all …]
|
H A D | i2c-mux-gpio.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 3 --- 4 $id: http://devicetree.org/schemas/i2c/i2c-mux-gpio.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: GPIO-based I2C Bus Mux 10 - Wolfram Sang <wsa@kernel.org> 15 +-----+ +-----+ 17 +------------+ +-----+ +-----+ 19 | | /--------+--------+ 20 | +------+ | +------+ child bus A, on GPIO value set to 0 [all …]
|
/linux/Documentation/driver-api/nvdimm/ |
H A D | firmware-activate.rst | 1 .. SPDX-License-Identifier: GPL-2.0 10 involves a reboot because it has implications for in-flight memory 21 attribute that shows the state of the firmware activation as one of 'idle', 24 - idle: 25 No devices are set / armed to activate firmware 27 - armed: 30 - busy: 32 back to idle and completing an activation cycle. 34 - overflow: 46 'ndbusX/firmware/activate' property will be elided completely if no [all …]
|
/linux/tools/power/cpupower/man/ |
H A D | cpupower-idle-set.1 | 1 .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 16 \fB\-d\fR \fB\-\-disable\fR <STATE_NO> 19 \fB\-e\fR \fB\-\-enable\fR <STATE_NO> 22 \fB\-D\fR \fB\-\-disable-by-latency\fR <LATENCY> 23 Disable all idle states with a equal or higher latency than <LATENCY>. 25 Enable all idle states with a latency lower than <LATENCY>. 27 \fB\-E\fR \fB\-\-enable-all\fR [all …]
|
/linux/Documentation/admin-guide/thermal/ |
H A D | intel_powerclamp.rst | 6 - Arjan van de Ven <arjan@linux.intel.com> 7 - Jacob Pan <jacob.jun.pan@linux.intel.com> 12 - Goals and Objectives 15 - Idle Injection 16 - Calibration 19 - Effectiveness and Limitations 20 - Power vs Performance 21 - Scalability 22 - Calibration 23 - Comparison with Alternative Techniques [all …]
|
/linux/Documentation/core-api/ |
H A D | workqueue.rst | 24 there is no work item left on the workqueue the worker becomes idle. 33 thread system-wide. A single MT wq needed to keep around the same 50 limitation that no two polling PIOs can progress at the same time. As 60 * Use per-CPU unified worker pools shared by all wq to provide 83 the functions off of the queue, one after the other. If no work is queued, 84 the worker threads become idle. These worker threads are managed in 85 worker-pools. 87 The cmwq design differentiates between the user-facing workqueues that 89 which manages worker-pools and processes the queued work items. 91 There are two worker-pools, one for normal work items and the other [all …]
|
/linux/Documentation/driver-api/pm/ |
H A D | cpuidle.rst | 1 .. SPDX-License-Identifier: GPL-2.0 5 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 [all …]
|
/linux/block/ |
H A D | bfq-wf2q.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Hierarchical Budget Worst-case Fair Weighted Fair Queueing 4 * (B-WF2Q+): hierarchical scheduling algorithm by which the BFQ I/O 9 #include "bfq-iosched.h" 12 * bfq_gt - compare two timestamps. 20 return (s64)(a - b) > 0; in bfq_gt() 25 struct rb_node *node = tree->rb_node; in bfq_root_active_entity() 34 return bfqq ? bfqq->ioprio_class - 1 : in bfq_class_idx() 35 BFQ_DEFAULT_GRP_CLASS - 1; in bfq_class_idx() 40 return bfqd->busy_queues[0] + bfqd->busy_queues[1] + in bfq_tot_busy_queues() [all …]
|
/linux/drivers/macintosh/ |
H A D | via-macii.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Device driver for the via ADB on (many) Mac II-class machines 13 * 1999-08-02 (jmt) - Initial rewrite for Unified ADB. 14 * 2000-03-29 Tony Mantler <tonym@mac.linux-m68k.org> 15 * - Big overhaul, should actually work now. 16 * 2006-12-31 Finn Thain - Another overhaul. 24 * ftp://ftp.apple.com/developer/Tool_Chest/Devices_-_Hardware/Apple_Desktop_Bus/ 39 /* VIA registers - spaced 0x200 bytes apart */ 41 #define B 0 /* B-side data */ 42 #define A RS /* A-side data */ [all …]
|
/linux/Documentation/driver-api/usb/ |
H A D | power-management.rst | 1 .. _usb-power-management: 7 :Date: Last-updated: February 2014 11 --------- 14 * When is a USB device idle? 17 * Changing the default idle-delay time 31 ------------------------- 35 component is ``suspended`` it is in a nonfunctional low-power state; it 37 ``resumed`` (returned to a functional full-power state) when the kernel 67 ---------------------- 84 When is a USB device idle? [all …]
|
/linux/Documentation/devicetree/bindings/bus/ |
H A D | ti-sysc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/bus/ti-sysc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Tony Lindgren <tony@atomide.com> 22 module clocks, idle modes and interconnect level resets. 31 pattern: "^target-module(@[0-9a-f]+)?$" 35 - items: 36 - enum: 37 - ti,sysc-omap2 [all …]
|