/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/ABI/testing/ |
H A D | sysfs-devices-power | 9 What: /sys/devices/.../power/wakeup 13 The /sys/devices/.../power/wakeup attribute allows the user 19 Some devices support "wakeup" events, which are hardware signals 21 have one of the following two values for the sysfs power/wakeup 31 For the devices that are not capable of generating system wakeup 40 space to control the run-time power management of the device. 61 with the main suspend/resume thread) during system-wide power 85 of signaled wakeup events associated with the device. This 86 attribute is read-only. If the device is not capable to wake up 96 number of times the processing of wakeup events associated with [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/Documentation/admin-guide/pm/ |
H A D | cpuidle.rst | 1 .. SPDX-License-Identifier: GPL-2.0 27 CPU idle time management is an energy-efficiency feature concerned about using 31 ------------ 37 software as individual single-core processors. In other words, a CPU is an 46 Second, if the processor is multi-core, each core in it is able to follow at 61 Finally, each core in a multi-core processor may be able to follow more than one 66 multiple individual single-core "processors", referred to as *hardware threads* 67 (or hyper-threads specifically on Intel hardware), that each can follow one 78 --------- 107 next wakeup event, or there are strict latency constraints preventing any of the [all …]
|
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/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 …]
|
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/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 | 2 rtla-timerlat-top 4 ------------------------------------------- 5 Measures the operating system timer latency 6 ------------------------------------------- 22 seem with the option **-T**. 35 **--aa-only** *us* 38 Print the auto-analysis if the system hits the stop tracing condition. This option 45 In the example below, the timerlat tracer is dispatched in cpus *1-23* in the 46 automatic trace mode, instructing the tracer to stop if a *40 us* latency or 49 # 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 ;) */ 73 "perf bench futex wake-parallel <options>", 86 waker->nwoken = futex_wake(&futex, nwakes, futex_flag); in waking_workerfn() 87 if (waker->nwoken != nwakes) in waking_workerfn() 88 warnx("couldn't wakeup all tasks (%d/%d)", in waking_workerfn() 89 waker->nwoken, nwakes); 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. 20 if (dev->power.subsys_data && dev->power.subsys_data->domain_data) { in dev_update_qos_constraint() 21 struct gpd_timing_data *td = dev_gpd_data(dev)->td; in dev_update_qos_constraint() 24 * Only take suspend-time QoS constraints of devices into in dev_update_qos_constraint() 30 constraint_ns = td ? td->effective_constraint_ns : in dev_update_qos_constraint() 50 * default_suspend_ok - Default PM domain governor routine to suspend devices. 57 struct gpd_timing_data *td = dev_gpd_data(dev)->td; in default_suspend_ok() 63 spin_lock_irqsave(&dev->power.lock, flags); in default_suspend_ok() 65 if (!td->constraint_changed) { in default_suspend_ok() [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. 29 #include <linux/platform_data/i2c-omap.h> 52 /* For OMAP3 I2C_IV has changed to I2C_WE (wakeup enable) */ 103 /* I2C WE wakeup enable register */ 105 #define OMAP_I2C_WE_RDR_WE (1 << 13) /* RX drain wakeup */ 106 #define OMAP_I2C_WE_AAS_WE (1 << 9) /* Address as slave wakeup*/ 107 #define OMAP_I2C_WE_BF_WE (1 << 8) /* Bus free wakeup */ 108 #define OMAP_I2C_WE_STC_WE (1 << 6) /* Start condition wakeup */ 109 #define OMAP_I2C_WE_GC_WE (1 << 5) /* General call wakeup */ [all …]
|
/linux/drivers/gpu/drm/i915/gt/ |
H A D | intel_rc6.c | 1 // SPDX-License-Identifier: MIT 24 * low-voltage mode when idle, using down to 0V while at this stage. This 30 * among each other with the latency required to enter and leave RC6 and 38 * require higher latency to switch to and wake up. 48 return rc6_to_gt(rc)->uncore; in rc6_to_uncore() 53 return rc6_to_gt(rc)->i915; in rc6_to_i915() 59 struct intel_uncore *uncore = gt->uncore; in gen11_rc6_enable() 68 if (!intel_uc_uses_guc_rc(>->uc)) { in gen11_rc6_enable() 76 intel_uncore_write_fw(uncore, RING_MAX_IDLE(engine->mmio_base), 10); in gen11_rc6_enable() 90 * it takes us to service a CS interrupt and submit a new ELSP - that in gen11_rc6_enable() [all …]
|
/linux/kernel/locking/ |
H A D | lock_events_list.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 28 LOCK_EVENT(pv_latency_kick) /* Average latency (ns) of vCPU kick */ 29 LOCK_EVENT(pv_latency_wake) /* Average latency (ns) of kick-to-wakeup */ 31 LOCK_EVENT(pv_spurious_wakeup) /* # of spurious wakeups in non-head vCPUs */ 35 LOCK_EVENT(pv_wait_node) /* # of vCPU wait's at non-head queue node */ 59 LOCK_EVENT(rwsem_opt_lock) /* # of opt-acquired write locks */
|
/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/kernel/trace/ |
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/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 …]
|