/linux/Documentation/devicetree/bindings/cpu/ |
H A D | idle-states.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/cpu/idle-states.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> 11 - Anup Patel <anup@brainfault.org> 15 1 - Introduction 18 ARM and RISC-V systems contain HW capable of managing power consumption 19 dynamically, where cores can be put in different low-power states (ranging 22 run-time, can be specified through device tree bindings representing the [all …]
|
/linux/Documentation/arch/arm/omap/ |
H A D | omap_pm.rst | 6 authors use these functions to communicate minimum latency or 13 - support the range of power management parameters present in the TI SRF; 15 - separate the drivers from the underlying PM parameter 17 latency framework or something else; 19 - specify PM parameters in terms of fundamental units, such as 20 latency and throughput, rather than units which are specific to OMAP 23 - allow drivers which are shared with other architectures (e.g., 24 DaVinci) to add these constraints in a way which won't affect non-OMAP 27 - can be implemented immediately with minimal disruption of other 34 1. Set the maximum MPU wakeup latency:: [all …]
|
/linux/Documentation/devicetree/bindings/net/ |
H A D | marvell-bt-8xxx.txt | 2 ------ 9 - compatible : should be one of the following: 10 * "marvell,sd8897-bt" (for SDIO) 11 * "marvell,sd8997-bt" (for SDIO) 16 - marvell,cal-data: Calibration data downloaded to the device during 20 - marvell,wakeup-pin: It represents wakeup pin number of the bluetooth chip. 21 firmware will use the pin to wakeup host system (u16). 22 - marvell,wakeup-gap-ms: wakeup gap represents wakeup latency of the host 25 - interrupt-names: Used only for USB based devices (See below) 26 - interrupts : specifies the interrupt pin number to the cpu. For SDIO, the [all …]
|
/linux/drivers/cpuidle/governors/ |
H A D | teo.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2018 - 2021 Intel Corporation 10 * DOC: teo-description 14 * other interrupt types, so they are likely to dominate CPU wakeup patterns. 20 * Of course, non-timer wakeup sources are more important in some use cases, 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 31 * after wakeup) in the majority of relevant recent cases. If the target 51 * sleep length and the idle duration measured after CPU wakeup fall into the 54 * non-timer wakeup events for which the measured idle duration falls into a bin [all …]
|
/linux/Documentation/virt/kvm/ |
H A D | halt-polling.rst | 1 .. SPDX-License-Identifier: GPL-2.0 7 The KVM halt polling system provides a feature within KVM whereby the latency 11 vcpus of a single vcore have ceded, the host kernel polls for wakeup conditions 14 Polling provides a latency advantage in cases where the guest can be run again 16 the order of a few micro-seconds, although performance benefits are workload 17 dependent. In the event that no wakeup source arrives during the polling 20 wakeup periods where the time spent halt polling is minimised and the time 27 The powerpc kvm-hv specific case is implemented in: 39 kvm_vcpu->halt_poll_ns 41 or in the case of powerpc kvm-hv, in the vcore struct: [all …]
|
/linux/Documentation/devicetree/bindings/iio/accel/ |
H A D | lis302.txt | 8 - compatible: should be set to "st,lis3lv02d-spi" 9 - reg: the chipselect index 10 - spi-max-frequency: maximal bus speed, should be set to 1000000 unless 12 - interrupts: the interrupt generated by the device 15 - compatible: should be set to "st,lis3lv02d" 16 - reg: i2c slave address 17 - Vdd-supply: The input supply for Vdd 18 - Vdd_IO-supply: The input supply for Vdd_IO 23 - st,click-single-{x,y,z}: if present, tells the device to issue an 26 - st,click-double-{x,y,z}: if present, tells the device to issue an [all …]
|
/linux/tools/perf/scripts/perl/bin/ |
H A D | wakeup-latency-report | 2 # description: system-wide min/max/avg wakeup latency 3 perf script $@ -s "$PERF_EXEC_PATH"/scripts/perl/wakeup-latency.pl
|
/linux/drivers/cpuidle/ |
H A D | dt_idle_states.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 #define pr_fmt(fmt) "DT idle-states: " fmt 32 idle_state->enter = match_id->data; in init_state_node() 38 idle_state->enter_s2idle = match_id->data; in init_state_node() 40 err = of_property_read_u32(state_node, "wakeup-latency-us", in init_state_node() 41 &idle_state->exit_latency); in init_state_node() 45 err = of_property_read_u32(state_node, "entry-latency-us", in init_state_node() 48 pr_debug(" * %pOF missing entry-latency-us property\n", in init_state_node() 50 return -EINVAL; in init_state_node() 53 err = of_property_read_u32(state_node, "exit-latency-us", in init_state_node() [all …]
|
/linux/arch/arm/boot/dts/ti/omap/ |
H A D | omap3-gta04a3.dts | 1 // SPDX-License-Identifier: GPL-2.0-only 6 #include "omap3-gta04.dtsi" 18 interrupt-parent = <&gpio3>; 20 Vdd-supply = <&vaux2>; 21 Vdd_IO-supply = <&vaux2>; 23 st,click-single-x; 24 st,click-single-y; 25 st,click-single-z; 26 st,click-thresh-x = <8>; 27 st,click-thresh-y = <8>; [all …]
|
/linux/Documentation/trace/ |
H A D | timerlat-tracer.rst | 6 find sources of wakeup latencies of real-time threads. Like cyclictest, 8 computes a *wakeup latency* value as the difference between the *current 13 ----- 28 # _-----=> irqs-off 29 # / _----=> need-resched 30 # | / _---=> hardirq/softirq 31 # || / _--=> preempt-depth 34 # TASK-PID CPU# |||| TIMESTAMP ID CONTEXT LATENCY 36 <idle>-0 [000] d.h1 54.029328: #1 context irq timer_latency 932 ns 37 <...>-867 [000] .... 54.029339: #1 context thread timer_latency 11700 ns [all …]
|
/linux/tools/testing/selftests/kvm/ |
H A D | rseq_test.c | 1 // SPDX-License-Identifier: GPL-2.0-only 33 * Any bug related to task migration is likely to be timing-dependent; perform 89 * is in-progress, while a completely different count indicates in migration_worker() 96 * stable, i.e. while changing affinity is in-progress. in migration_worker() 108 * Wait 1-10us before proceeding to the next iteration and more in migration_worker() 135 * 3. To ensure the read-side makes efficient forward progress, in migration_worker() 136 * e.g. if getcpu() involves a syscall. Stalling the read-side in migration_worker() 138 * to stabilize and less time trying to hit the timing-dependent in migration_worker() 141 * Because any bug in this area is likely to be timing-dependent, in migration_worker() 148 * x86-64, but starts to require more iterations to reproduce in migration_worker() [all …]
|
/linux/Documentation/trace/rv/ |
H A D | monitor_rtapp.rst | 1 Real-time application monitors 4 - Name: rtapp 5 - Type: container for multiple monitors 6 - Author: Nam Cao <namcao@linutronix.de> 9 ----------- 11 Real-time applications may have design flaws such that they experience 12 unexpected latency and fail to meet their time requirements. Often, these flaws 15 - Page faults: A real-time thread may access memory that does not have a 16 mapped physical backing or must first be copied (such as for copy-on-write). 18 action. This causes significant delays to the real-time thread [all …]
|
/linux/Documentation/tools/rtla/ |
H A D | common_timerlat_description.rst | 2 *timerlat* tracer dispatches a kernel thread per-cpu. These threads 4 the wakeup, they collect and generate useful information for the 5 debugging of operating system timer latency. 8 prints the timer latency at the timer *IRQ* handler and the *Thread*
|
H A D | rtla-timerlat-top.rst | 4 rtla-timerlat-top 6 ------------------------------------------- 7 Measures the operating system timer latency 8 ------------------------------------------- 24 seem with the option **-T**. 37 **--aa-only** *us* 40 Print the auto-analysis if the system hits the stop tracing condition. This option 47 In the example below, the timerlat tracer is dispatched in cpus *1-23* in the 48 automatic trace mode, instructing the tracer to stop if a *40 us* latency or 51 # timerlat -a 40 -c 1-23 -q [all …]
|
/linux/tools/perf/bench/ |
H A D | futex-wake-parallel.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Block a bunch of threads and let parallel waker threads wakeup an 6 * equal amount of them. The program output reflects the avg latency 28 #include <subcmd/parse-options.h> 48 /* all threads will block on the same futex -- hash bucket chaos ;) */ 61 .nbuckets = -1, 76 "perf bench futex wake-parallel <options>", 89 waker->nwoken = futex_wake(&futex, nwakes, futex_flag); in waking_workerfn() 90 if (waker->nwoken != nwakes) in waking_workerfn() 91 warnx("couldn't wakeup all tasks (%d/%d)", in waking_workerfn() [all …]
|
/linux/drivers/pmdomain/ |
H A D | governor.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * drivers/base/power/domain_governor.c - Governors for device PM domains. 21 if (dev->power.subsys_data && dev->power.subsys_data->domain_data) { in dev_update_qos_constraint() 22 struct gpd_timing_data *td = dev_gpd_data(dev)->td; in dev_update_qos_constraint() 25 * Only take suspend-time QoS constraints of devices into in dev_update_qos_constraint() 31 constraint_ns = td ? td->effective_constraint_ns : in dev_update_qos_constraint() 51 * default_suspend_ok - Default PM domain governor routine to suspend devices. 58 struct gpd_timing_data *td = dev_gpd_data(dev)->td; in default_suspend_ok() 64 spin_lock_irqsave(&dev->power.lock, flags); in default_suspend_ok() 66 if (!td->constraint_changed) { in default_suspend_ok() [all …]
|
/linux/Documentation/admin-guide/pm/ |
H A D | sleep-states.rst | 1 .. SPDX-License-Identifier: GPL-2.0 13 Sleep states are global low-power states of the entire system in which user 28 Suspend-to-Idle 29 --------------- 31 This is a generic, pure software, light-weight variant of system suspend (also 34 I/O devices into low-power states (possibly lower-power than available in the 38 The system is woken up from this state by in-band interrupts, so theoretically 40 also be set up as wakeup devices for S2Idle. 43 or :ref:`suspend-to-RAM <s2ram>`, or it can be used in addition to any of the 44 deeper system suspend variants to provide reduced resume latency. It is always [all …]
|
/linux/kernel/trace/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 21 API, which will be used by other function-entry hooking 27 See Documentation/trace/ftrace-design.rst 32 See Documentation/trace/ftrace-design.rst 45 See Documentation/trace/ftrace-design.rst 86 See Documentation/trace/ftrace-design.rst 91 Arch supports the gcc options -pg with -mfentry 96 Arch supports the gcc options -pg with -mrecord-mcount and -nop-mcount 101 Arch supports objtool --mcount 106 Arch supports the objtool options --mcount with --mnop. [all …]
|
H A D | trace_sched_wakeup.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * trace task wakeup timings 5 * Copyright (C) 2007-2008 Steven Rostedt <srostedt@redhat.com> 10 * Copyright (C) 2004-2006 Ingo Molnar 28 static unsigned wakeup_prio = -1; 44 # define is_graph(tr) ((tr)->trace_flags & TRACE_ITER_DISPLAY_GRAPH) 54 * Prologue for the wakeup function tracers. 57 * is disabled and data->disabled is incremented. 59 * is not disabled and data->disabled is 85 *data = per_cpu_ptr(tr->array_buffer.data, cpu); in func_prolog_preempt_disable() [all …]
|
/linux/arch/arm64/boot/dts/freescale/ |
H A D | imx943.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 10 #address-cells = <1>; 11 #size-cells = <0>; 13 idle-states { 14 entry-method = "psci"; 16 cpu_pd_wait: cpu-pd-wait { 17 compatible = "arm,idle-state"; 18 arm,psci-suspend-param = <0x0010033>; 19 local-timer-stop; 20 entry-latency-us = <1000>; [all …]
|
/linux/Documentation/driver-api/pm/ |
H A D | cpuidle.rst | 1 .. SPDX-License-Identifier: GPL-2.0 18 cores) is idle after an interrupt or equivalent wakeup event, which means that 89 code, and that causes the kernel to run the architecture-specific 91 until the ``->enable()`` governor callback is invoked for that CPU 103 It is expected to reverse any changes made by the ``->enable()`` 143 selection made by the ``->select()`` callback (when it was invoked last 148 quality of service (PM QoS) constraints on the processor wakeup latency into 150 PM QoS wakeup latency constraint for a given CPU, a ``CPUIdle`` governor is 152 :c:func:`cpuidle_governor_latency_req()`. Then, the governor's ``->select()`` 190 state to start executing the first instruction after a wakeup from it, [all …]
|
/linux/tools/testing/selftests/bpf/benchs/ |
H A D | bench_local_storage_rcu_tasks_trace.c | 1 // SPDX-License-Identifier: GPL-2.0 72 fprintf(stderr, "benchmark doesn't support multi-producer!\n"); in validate() 94 return -1; in kthread_pid_ticks() 169 if (!bpf_program__attach(ctx.skel->progs.get_local)) { in local_storage_tasks_trace_setup() 174 if (!bpf_program__attach(ctx.skel->progs.pregp_step)) { in local_storage_tasks_trace_setup() 179 if (!bpf_program__attach(ctx.skel->progs.postgp)) { in local_storage_tasks_trace_setup() 193 res->gp_ct = atomic_swap(&ctx.skel->bss->gp_hits, 0); in measure() 194 res->gp_ns = atomic_swap(&ctx.skel->bss->gp_times, 0); in measure() 196 res->stime = ticks - ctx.prev_kthread_stime; in measure() 209 if (ctx.skel->bss->unexpected) { in report_progress() [all …]
|
/linux/arch/arm/boot/dts/allwinner/ |
H A D | sun8i-r16-bananapi-m2m.dts | 2 * Copyright (c) 2017 Free Electrons <maxime.ripard@free-electrons.com> 4 * This file is dual-licensed: you can use it either under the terms 43 /dts-v1/; 44 #include "sun8i-a33.dtsi" 46 #include <dt-bindings/gpio/gpio.h> 50 compatible = "sinovoip,bananapi-m2m", "allwinner,sun8i-a33"; 61 stdout-path = "serial0:115200n8"; 65 compatible = "gpio-leds"; 67 led-0 { 68 label = "bpi-m2m:blue:usr"; [all …]
|
/linux/arch/arm/boot/dts/samsung/ |
H A D | exynos4210.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. 7 * Copyright (c) 2010-2011 Linaro Ltd. 20 #include "exynos4-cpu-thermal.dtsi" 31 bus_acp: bus-acp { 32 compatible = "samsung,exynos-bus"; 34 clock-names = "bus"; 35 operating-points-v2 = <&bus_acp_opp_table>; 38 bus_acp_opp_table: opp-table { 39 compatible = "operating-points-v2"; [all …]
|
/linux/Documentation/driver-api/thermal/ |
H A D | cpu-idle-cooling.rst | 1 .. SPDX-License-Identifier: GPL-2.0 8 ---------- 26 budget lower than the requested one and under-utilize the CPU, thus 27 losing performance. In other words, one OPP under-utilizes the CPU 33 ---------- 58 --------------- 67 latencies as the CPUs will have to wakeup from a deep sleep state. 70 performance penalty and a fixed latency. Mitigation can be increased 78 |------- ------- 81 <------> [all …]
|