/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/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/Documentation/tools/rtla/ |
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/Documentation/trace/ |
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 …]
|
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/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 15 very quickly by at least saving us a trip through the scheduler, normally on 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 [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() 88 * Bspec's guidance is to use 25us (really 25 * 1280ns) here. What we in gen11_rc6_enable() [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() 142 * run with a range of delays at 1us intervals from 1us to 10us in migration_worker() [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/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/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 …]
|
/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/gpio/gpio.h> 11 #include <dt-bindings/interrupt-controller/arm-gic.h> 12 #include <dt-bindings/soc/samsung,exynos-usi.h> 16 #address-cells = <2>; 17 #size-cells = <1>; 19 interrupt-parent = <&gic>; [all …]
|
/linux/arch/arm64/boot/dts/qcom/ |
H A D | sm4450.dtsi | 1 // SPDX-License-Identifier: BSD-3-Clause 6 #include <dt-bindings/clock/qcom,rpmh.h> 7 #include <dt-bindings/clock/qcom,sm4450-camcc.h> 8 #include <dt-bindings/clock/qcom,sm4450-dispcc.h> 9 #include <dt-bindings/clock/qcom,sm4450-gcc.h> 10 #include <dt-bindings/clock/qcom,sm4450-gpucc.h> 11 #include <dt-bindings/gpio/gpio.h> 12 #include <dt-bindings/interrupt-controller/arm-gic.h> 13 #include <dt-bindings/soc/qcom,rpmh-rsc.h> 16 interrupt-parent = <&intc>; [all …]
|
/linux/Documentation/accounting/ |
H A D | psi.rst | 4 PSI - Pressure Stall Information 11 latency spikes, throughput losses, and run the risk of OOM kills. 14 either play it safe and under-utilize their hardware resources, or 23 scarcity aids users in sizing workloads to hardware--or provisioning 38 respective file in /proc/pressure/ -- cpu, memory, and io. 48 The "full" line indicates the share of time in which all non-idle 63 (in us) is tracked and exported as well, to allow detection of latency 75 generate a wakeup event. 83 <some|full> <stall amount in us> <time window in us> 116 Notifications to the userspace are rate-limited to one per tracking window. [all …]
|
/linux/drivers/usb/host/ |
H A D | xhci-port.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 /* PORTSC - Port Status and Control Register - port_status_base bitmasks */ 9 /* true: port has an over-current condition */ 13 /* Port Link State - bits 5:8 35 * 0 - undefined speed - port hasn't be initialized by a reset yet 36 * 1 - full speed 37 * 2 - low speed 38 * 3 - high speed 39 * 4 - super speed 40 * 5-15 reserved [all …]
|
/linux/arch/arm64/boot/dts/freescale/ |
H A D | fsl-ls1012a.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 3 * Device Tree Include file for NXP Layerscape-1012A family SoC. 6 * Copyright 2019-2020 NXP 10 #include <dt-bindings/clock/fsl,qoriq-clockgen.h> 11 #include <dt-bindings/interrupt-controller/arm-gic.h> 12 #include <dt-bindings/thermal/thermal.h> 16 interrupt-parent = <&gic>; 17 #address-cells = <2>; 18 #size-cells = <2>; 23 rtic-a = &rtic_a; [all …]
|
/linux/sound/soc/ti/ |
H A D | omap-mcbsp.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * omap-mcbsp.c -- OMAP ALSA SoC DAI driver using McBSP port 23 #include "omap-mcbsp-priv.h" 24 #include "omap-mcbsp.h" 25 #include "sdma-pcm.h" 40 dev_dbg(mcbsp->dev, "**** McBSP%d regs ****\n", mcbsp->id); in omap_mcbsp_dump_reg() 41 dev_dbg(mcbsp->dev, "DRR2: 0x%04x\n", MCBSP_READ(mcbsp, DRR2)); in omap_mcbsp_dump_reg() 42 dev_dbg(mcbsp->dev, "DRR1: 0x%04x\n", MCBSP_READ(mcbsp, DRR1)); in omap_mcbsp_dump_reg() 43 dev_dbg(mcbsp->dev, "DXR2: 0x%04x\n", MCBSP_READ(mcbsp, DXR2)); in omap_mcbsp_dump_reg() 44 dev_dbg(mcbsp->dev, "DXR1: 0x%04x\n", MCBSP_READ(mcbsp, DXR1)); in omap_mcbsp_dump_reg() [all …]
|
/linux/tools/tracing/latency/ |
H A D | latency-collector.c | 1 // SPDX-License-Identifier: GPL-2.0 44 C(FUNC_TR, "function-trace"), \ 45 C(DISP_GR, "display-graph"), \ 134 "No latency tracers are supported by your kernel!\n"; 159 "wakeup", 271 count -= r; in write_or_die() 519 future->tv_sec += time_us / USEC_PER_SEC; in get_time_in_future() 520 nsec = future->tv_nse in get_time_in_future() 1079 long us, sec; __print_skipmessage() local 1137 long us, sec; print_tracefile() local [all...] |
/linux/arch/arm/boot/dts/ti/omap/ |
H A D | omap3-n950-n9.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * omap3-n950-n9.dtsi - Device Tree file for Nokia N950 & N9 (common stuff) 13 cpu0-supply = <&vcc>; 23 compatible = "regulator-fixed"; 24 regulator-name = "VEMMC"; 25 regulator-min-microvolt = <2900000>; 26 regulator-max-microvolt = <2900000>; 28 startup-delay-us = <150>; 29 enable-active-high; 33 compatible = "regulator-fixed"; [all …]
|
/linux/arch/arm64/boot/dts/mediatek/ |
H A D | mt8365.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 10 #include <dt-bindings/clock/mediatek,mt8365-clk.h> 11 #include <dt-bindings/interrupt-controller/arm-gic.h> 12 #include <dt-bindings/interrupt-controller/irq.h> 13 #include <dt-bindings/phy/phy.h> 14 #include <dt-bindings/power/mediatek,mt8365-power.h> 18 interrupt-parent = <&sysirq>; 19 #address-cells = <2>; 20 #size-cells = <2>; 23 #address-cells = <1>; [all …]
|
/linux/drivers/tty/serial/8250/ |
H A D | 8250_omap.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * 8250-core based driver for the OMAP internal UART 5 * based on omap-serial.c, Copyright (C) 2010 Texas Instruments. 28 #include <linux/dma-mapping.h> 140 u32 latency; member 169 return readl(priv->membase + (reg << OMAP_UART_REGSHIFT)); in uart_read() 179 struct omap8250_priv *priv = up->port.private_data; in __omap8250_set_mctrl() 184 if (!mctrl_gpio_to_gpiod(up->gpios, UART_GPIO_RTS)) { in __omap8250_set_mctrl() 191 if ((mctrl & TIOCM_RTS) && (port->status & UPSTAT_AUTORTS)) in __omap8250_set_mctrl() 192 priv->efr |= UART_EFR_RTS; in __omap8250_set_mctrl() [all …]
|
/linux/arch/arm64/boot/dts/hisilicon/ |
H A D | hi6220.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <dt-bindings/interrupt-controller/arm-gic.h> 9 #include <dt-bindings/reset/hisi,hi6220-resets.h> 10 #include <dt-bindings/clock/hi6220-clock.h> 11 #include <dt-bindings/pinctrl/hisi.h> 12 #include <dt-bindings/thermal/thermal.h> 16 interrupt-parent = <&gic>; 17 #address-cells = <2>; 18 #size-cells = <2>; 21 compatible = "arm,psci-0.2"; [all …]
|
/linux/tools/perf/Documentation/ |
H A D | perf-script-python.txt | 1 perf-script-python(1) 5 ---- 6 perf-script-python - Process trace data with a Python script 9 - [all...] |
/linux/drivers/cpufreq/ |
H A D | powernow-k7.c | 1 // SPDX-License-Identifier: GPL-2.0-only 10 * - We cli/sti on stepping A0 CPUs around the FID/VID transition. 12 * CPU with half frequency multipliers may hang upon wakeup from disconnect. 13 * - We disable half multipliers if ACPI is used on A0 stepping CPUs. 38 #include "powernow-k7.h" 82 150, 225, 160, 165, 170, 180, -1, -1, 95 static unsigned int minimum_speed = -1; 99 static unsigned int latency; variable 107 delta = (fsbspeed > f) ? fsbspeed - f : f - fsbspeed; in check_fsb() 134 if ((c->x86_model == 6) && (c->x86_stepping == 0)) { in check_powernow() [all …]
|
/linux/tools/perf/bench/ |
H A D | futex-requeue.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * futex-requeue: Block a bunch of threads on futex1 and requeue them 8 * This program is particularly useful to measure the latency of nthread 9 * requeues without waking up any tasks (in the non-pi case) -- thus 20 #include <subcmd/parse-options.h> 59 OPT_BOOLEAN( 'p', "pi", ¶ms.pi, "Use PI-aware variants of FUTEX_CMP_REQUEUE"), 75 printf("Requeued %d of %d threads in %.4f ms (+-%.2f%%)\n", in print_summary() 87 threads_starting--; in workerfn() 240 * For the regular non-pi case, do not wakeup any tasks in bench_futex_requeue() 241 * blocked on futex1, allowing us to really measure in bench_futex_requeue() [all …]
|