/openbmc/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 …]
|
/openbmc/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 …]
|
H A D | cpuidle-pseries.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * cpuidle-pseries - idle state cpuidle driver. 47 dev->poll_time_limit = false; in snooze_loop() 58 dev->poll_time_limit = true; in snooze_loop() 80 * were soft-disabled in check_and_cede_processor() 94 * "ibm,get-systems-parameter" RTAS call with the token 100 * table with all the parameters to ibm,get-system-parameters. 101 * CEDE_LATENCY_TOKEN corresponds to the token value for Cede Latency 107 * If the platform supports the cede latency settings information system 111 * a. The first byte is the length “N” of each cede latency setting record minus [all …]
|
/openbmc/u-boot/arch/arm/dts/ |
H A D | fsl-imx8-ca53.dtsi | 17 #address-cells = <2>; 18 #size-cells = <0>; 20 idle-states { 21 entry-method = "psci"; 23 CPU_SLEEP: cpu-sleep { 24 compatible = "arm,idle-state"; 25 local-timer-stop; 26 arm,psci-suspend-param = <0x0000000>; 27 entry-latency-us = <700>; 28 exit-latency-us = <250>; [all …]
|
/openbmc/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 …]
|
/openbmc/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 …]
|
/openbmc/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 …]
|
/openbmc/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 …]
|
/openbmc/linux/arch/arm64/boot/dts/sprd/ |
H A D | sc9860.dtsi | 6 * SPDX-License-Identifier: (GPL-2.0+ OR MIT) 9 #include <dt-bindings/interrupt-controller/arm-gic.h> 10 #include <dt-bindings/input/input.h> 11 #include <dt-bindings/gpio/gpio.h> 16 #address-cells = <2>; 17 #size-cells = <0>; 19 cpu-map { 53 compatible = "arm,cortex-a53"; 55 enable-method = "psci"; 56 cpu-idle-states = <&CORE_PD &CLUSTER_PD>; [all …]
|
/openbmc/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> 38 * 3) Latency tolerance (from pmqos infrastructure) 42 * ----------------------- 45 * provides us this duration in the "target_residency" field. So all that we 70 * Repeatable-interval-detector 71 * ---------------------------- 81 * --------------------------- 90 * This rule-of-thumb is implemented using a performance-multiplier: [all …]
|
/openbmc/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 …]
|
/openbmc/linux/drivers/base/power/ |
H A D | domain_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. 55 struct gpd_timing_data *td = dev_gpd_data(dev)->td; in default_suspend_ok() 61 spin_lock_irqsave(&dev->power.lock, flags); in default_suspend_ok() 63 if (!td->constraint_changed) { in default_suspend_ok() [all …]
|
/openbmc/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 …]
|
/openbmc/linux/arch/arm64/boot/dts/qcom/ |
H A D | sdx75.dtsi | 1 // SPDX-License-Identifier: BSD-3-Clause 9 #include <dt-bindings/clock/qcom,rpmh.h> 10 #include <dt-bindings/clock/qcom,sdx75-gcc.h> 11 #include <dt-bindings/interrupt-controller/arm-gic.h> 12 #include <dt-bindings/power/qcom,rpmhpd.h> 13 #include <dt-bindings/power/qcom-rpmpd.h> 14 #include <dt-bindings/soc/qcom,rpmh-rsc.h> 17 #address-cells = <2>; 18 #size-cells = <2>; 19 interrupt-parent = <&intc>; [all …]
|
H A D | sdm845-cheza.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 8 #include <dt-bindings/input/input.h> 9 #include <dt-bindings/regulator/qcom,rpmh-regulator.h> 25 stdout-path = "serial0:115200n8"; 29 compatible = "pwm-backlight"; 31 enable-gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>; 32 power-supply = <&ppvar_sys>; 33 pinctrl-names = "default"; 34 pinctrl-0 = <&ap_edp_bklten>; 37 /* FIXED REGULATORS - parents above children */ [all …]
|
/openbmc/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 …]
|
/openbmc/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 40 See Documentation/trace/ftrace-design.rst 69 See Documentation/trace/ftrace-design.rst 74 See Documentation/trace/ftrace-design.rst 79 Arch supports the gcc options -pg with -mfentry 84 Arch supports the gcc options -pg with -mrecord-mcount and -nop-mcount 89 Arch supports objtool --mcount [all …]
|
/openbmc/linux/arch/arm64/boot/dts/mediatek/ |
H A D | mt8365.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 8 #include <dt-bindings/clock/mediatek,mt8365-clk.h> 9 #include <dt-bindings/interrupt-controller/arm-gic.h> 10 #include <dt-bindings/interrupt-controller/irq.h> 11 #include <dt-bindings/phy/phy.h> 15 interrupt-parent = <&sysirq>; 16 #address-cells = <2>; 17 #size-cells = <2>; 20 #address-cells = <1>; 21 #size-cells = <0>; [all …]
|
H A D | mt8186.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 4 * Author: Allen-KH Cheng <allen-kh.cheng@mediatek.com> 6 /dts-v1/; 7 #include <dt-bindings/clock/mt8186-clk.h> 8 #include <dt-bindings/gce/mt8186-gce.h> 9 #include <dt-bindings/interrupt-controller/arm-gic.h> 10 #include <dt-bindings/interrupt-controller/irq.h> 11 #include <dt-bindings/memory/mt8186-memory-port.h> 12 #include <dt-bindings/pinctrl/mt8186-pinfunc.h> 13 #include <dt-bindings/power/mt8186-power.h> [all …]
|
/openbmc/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 …]
|
/openbmc/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 24 #include "omap-mcbsp-priv.h" 25 #include "omap-mcbsp.h" 26 #include "sdma-pcm.h" 41 dev_dbg(mcbsp->dev, "**** McBSP%d regs ****\n", mcbsp->id); in omap_mcbsp_dump_reg() 42 dev_dbg(mcbsp->dev, "DRR2: 0x%04x\n", MCBSP_READ(mcbsp, DRR2)); in omap_mcbsp_dump_reg() 43 dev_dbg(mcbsp->dev, "DRR1: 0x%04x\n", MCBSP_READ(mcbsp, DRR1)); in omap_mcbsp_dump_reg() 44 dev_dbg(mcbsp->dev, "DXR2: 0x%04x\n", MCBSP_READ(mcbsp, DXR2)); in omap_mcbsp_dump_reg() 45 dev_dbg(mcbsp->dev, "DXR1: 0x%04x\n", MCBSP_READ(mcbsp, DXR1)); in omap_mcbsp_dump_reg() [all …]
|
/openbmc/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 …]
|
/openbmc/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_nsec + (time_us * NSEC_PER_USEC) % NSEC_PER_SEC; in get_time_in_future() 522 future->tv_nsec = nsec % NSEC_PER_SEC; in get_time_in_future() 523 future->tv_sec += 1; in get_time_in_future() [all …]
|
/openbmc/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 …]
|