| /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/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/arch/arm64/boot/dts/exynos/google/ |
| H A D | gs101.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright 2019-2023 Google LLC 6 * Copyright 2023 Linaro Ltd - <peter.griffin@linaro.org> 9 #include <dt-bindings/clock/google,gs101.h> 10 #include <dt-bindings/clock/google,gs101-acpm.h> 11 #include <dt-bindings/gpio/gpio.h> 12 #include <dt-bindings/interrupt-controller/arm-gic.h> 13 #include <dt-bindings/soc/samsung,exynos-usi.h> 17 #address-cells = <2>; 18 #size-cells = <1>; [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 …]
|
| H A D | ftrace.rst | 2 ftrace - Function Tracer 13 - Written for: 2.6.28-rc2 14 - Updated for: 3.10 15 - Updated for: 4.13 - Copyright 2017 VMware Inc. Steven Rostedt 16 - Converted to rst format - Changbin Du <changbin.du@intel.com> 19 ------------ 24 performance issues that take place outside of user-space. 28 There's latency tracing to examine what occurs between interrupts 41 ---------------------- 43 See Documentation/trace/ftrace-design.rst for details for arch porters and such. [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/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/Documentation/tools/rtla/ |
| H A D | common_timerlat_description.txt | 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 seen 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/drivers/i2c/busses/ |
| H A D | i2c-omap.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 7 * Copyright (C) 2004 - 2007 Texas Instruments. 30 #include <linux/platform_data/i2c-omap.h> 53 /* For OMAP3 I2C_IV has changed to I2C_WE (wakeup enable) */ 104 /* I2C WE wakeup enable register */ 106 #define OMAP_I2C_WE_RDR_WE (1 << 13) /* RX drain wakeup */ 107 #define OMAP_I2C_WE_AAS_WE (1 << 9) /* Address as slave wakeup*/ 108 #define OMAP_I2C_WE_BF_WE (1 << 8) /* Bus free wakeup */ 109 #define OMAP_I2C_WE_STC_WE (1 << 6) /* Start condition wakeup */ 110 #define OMAP_I2C_WE_GC_WE (1 << 5) /* General call wakeup */ [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 92 See Documentation/trace/ftrace-design.rst 97 Arch supports the gcc options -pg with -mfentry 102 Arch supports the gcc options -pg with -mrecord-mcount and -nop-mcount 107 Arch supports objtool --mcount 112 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/drivers/cpuidle/governors/ |
| H A D | menu.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * menu.c - the menu idle governor 5 * Copyright (C) 2006-2007 Adam Belay <abelay@novell.com> 35 * 2) Latency tolerance (from pmqos infrastructure) 39 * ----------------------- 61 * Repeatable-interval-detector 62 * ---------------------------- 102 /* Update the repeating-pattern data. */ in menu_update_intervals() 103 data->intervals[data->interval_ptr++] = interval_us; in menu_update_intervals() 104 if (data->interval_ptr >= INTERVALS) in menu_update_intervals() [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 …]
|