/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 …]
|
H A D | cpu-capacity.txt | 6 1 - Introduction 15 2 - CPU capacity definition 19 heterogeneity. Such heterogeneity can come from micro-architectural differences 23 capture a first-order approximation of the relative performance of CPUs. 29 * A "single-threaded" or CPU affine benchmark 43 3 - capacity-dmips-mhz 46 capacity-dmips-mhz is an optional cpu node [1] property: u32 value 51 capacity-dmips-mhz property is all-or-nothing: if it is specified for a cpu 54 available, final capacities are calculated by directly using capacity-dmips- 58 4 - Examples [all …]
|
/linux/Documentation/tools/rtla/ |
H A D | common_timerlat_options.rst | 1 **-a**, **--auto** *us* 4 while debugging the system. It is equivalent to use **-T** *us* **-s** *us* 5 **-t**. By default, *timerlat* tracer uses FIFO:95 for *timerlat* threads, 6 thus equilavent to **-P** *f:95*. 8 **-p**, **--period** *us* 12 **-i**, **--irq** *us* 14 Stop trace if the *IRQ* latency is higher than the argument in us. 16 **-T**, **--thread** *us* 18 Stop trace if the *Thread* latency is higher than the argument in us. 20 **-s**, **--stack** *us* [all …]
|
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/tracing/rtla/src/ |
H A D | timerlat_top.c | 1 // SPDX-License-Identifier: GPL-2.0 50 * timerlat_free_top - free runtime data 55 free(data->cpu_data); in timerlat_free_top() 60 * timerlat_alloc_histogram - alloc runtime data 71 data->nr_cpus = nr_cpus; in timerlat_alloc_top() 74 data->cpu_data = calloc(1, sizeof(*data->cpu_data) * nr_cpus); in timerlat_alloc_top() 75 if (!data->cpu_data) in timerlat_alloc_top() 80 data->cpu_data[cpu].min_irq = ~0; in timerlat_alloc_top() 81 data->cpu_data[cpu].min_thread = ~0; in timerlat_alloc_top() 82 data->cpu_data[cpu].min_user = ~0; in timerlat_alloc_top() [all …]
|
H A D | timerlat_hist.c | 1 // SPDX-License-Identifier: GPL-2.0 52 * timerlat_free_histogram - free runtime data 60 for (cpu = 0; cpu < data->nr_cpus; cpu++) { in timerlat_free_histogram() 61 if (data->hist[cpu].irq) in timerlat_free_histogram() 62 free(data->hist[cpu].irq); in timerlat_free_histogram() 64 if (data->hist[cpu].thread) in timerlat_free_histogram() 65 free(data->hist[cpu].thread); in timerlat_free_histogram() 67 if (data->hist[cpu].user) in timerlat_free_histogram() 68 free(data->hist[cpu].user); in timerlat_free_histogram() 73 if (data->hist) in timerlat_free_histogram() [all …]
|
H A D | timerlat_aa.c | 1 // SPDX-License-Identifier: GPL-2.0 23 * Per-cpu data statistics and data. 29 /* timerlat IRQ latency */ 34 /* timerlat Thread latency */ 64 * If now - timestamp is <= latency, it might have influenced 65 * in the timerlat irq latency. Otherwise, ignore it. 135 * timerlat_aa_get_data - Get the per-cpu data from the timerlat context 140 return &taa_ctx->taa_data[cpu]; in timerlat_aa_get_data() 144 * timerlat_aa_irq_latency - Handles timerlat IRQ event 154 taa_data->curr_state = TIMERLAT_WAITING_THREAD; in timerlat_aa_irq_latency() [all …]
|
/linux/Documentation/devicetree/bindings/thermal/ |
H A D | thermal-idle.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/thermal/thermal-idle.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 11 - Daniel Lezcano <daniel.lezcano@linaro.org> 22 const: thermal-idle 24 A thermal-idle node describes the idle cooling device properties to 27 '#cooling-cells': 31 the cooling-maps reference. The first cell is the minimum cooling state 34 duration-us: [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() 118 * the guest, the guest will trigger a IO/MMIO exit all the in migration_worker() 120 * the generic "exit to userspace" logic, not by KVM. The in migration_worker() 121 * exit to userspace is necessary to give the test a chance in migration_worker() 125 * to trigger an exit that is handled by KVM, but any such in migration_worker() 126 * exit requires architecture specific code. in migration_worker() [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/devicetree/bindings/arm/ |
H A D | psci.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> 15 processors") can be used by Linux to initiate various CPU-centric power 25 r0 => 32-bit Function ID / return value 26 {r1 - r3} => Parameters 40 - description: 44 - description: 52 - const: arm,psci-0.2 [all …]
|
/linux/Documentation/devicetree/bindings/power/ |
H A D | power-domain.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/power/power-domain.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Rafael J. Wysocki <rjw@rjwysocki.net> 11 - Kevin Hilman <khilman@kernel.org> 12 - Ulf Hansson <ulf.hansson@linaro.org> 25 \#power-domain-cells property in the PM domain provider node. 29 pattern: "^(power-controller|power-domain|performance-domain)([@-].*)?$" 31 domain-idle-states: [all …]
|
/linux/tools/testing/selftests/ftrace/test.d/preemptirq/ |
H A D | irqsoff_tracer.tc | 2 # SPDX-License-Identifier: GPL-2.0 46 grep -q "tracer: preemptoff" trace || fail 49 grep -E -q "5.....us : <stack trace>" trace || fail 51 # Check for 500ms of latency 52 grep -E -q "latency: 5..... us" trace || fail 69 grep -q "tracer: irqsoff" trace || fail 72 grep -E -q "5.....us : <stack trace>" trace || fail 74 # Check for 500ms of latency 75 grep -E -q "latency: 5..... us" trace || fail 78 exit 0
|
/linux/tools/testing/selftests/dma/ |
H A D | dma_map_benchmark.c | 1 // SPDX-License-Identifier: GPL-2.0-only 29 int threads = 1, seconds = 20, node = -1; in main() 37 while ((opt = getopt(argc, argv, "t:s:n:b:d:x:g:")) != -1) { in main() 61 return -1; in main() 66 fprintf(stderr, "invalid number of threads, must be in 1-%d\n", in main() 68 exit(1); in main() 72 fprintf(stderr, "invalid number of seconds, must be in 1-%d\n", in main() 74 exit(1); in main() 78 fprintf(stderr, "invalid transmit delay, must be in 0-%ld\n", in main() 80 exit(1); in main() [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() 73 exit(1); in validate() 77 exit(1); in validate() 83 exit(1); in validate() 94 return -1; in kthread_pid_ticks() 112 exit(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() [all …]
|
/linux/arch/arm64/boot/dts/sprd/ |
H A D | ums9620.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 8 #include <dt-bindings/interrupt-controller/arm-gic.h> 11 interrupt-parent = <&gic>; 12 #address-cells = <2>; 13 #size-cells = <2>; 16 #address-cells = <2>; 17 #size-cells = <0>; 19 cpu-map { 50 compatible = "arm,cortex-a55"; 52 enable-method = "psci"; [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/power/qcom,rpmhpd.h> 14 #include <dt-bindings/power/qcom-rpmpd.h> [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 …]
|
H A D | sdm630.dtsi | 1 // SPDX-License-Identifier: BSD-3-Clause 7 #include <dt-bindings/clock/qcom,dsi-phy-28nm.h> 8 #include <dt-bindings/clock/qcom,gcc-sdm660.h> 9 #include <dt-bindings/clock/qcom,gpucc-sdm660.h> 10 #include <dt-bindings/clock/qcom,mmcc-sdm660.h> 11 #include <dt-bindings/clock/qcom,rpmcc.h> 12 #include <dt-bindings/firmware/qcom,scm.h> 13 #include <dt-bindings/interconnect/qcom,sdm660.h> 14 #include <dt-bindings/power/qcom-rpmpd.h> 15 #include <dt-bindings/gpio/gpio.h> [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 * ----------------------- 40 * C state entry and exit have an energy cost, and a certain amount of time in 42 * provides us this duration in the "target_residency" field. So all that we 61 * Repeatable-interval-detector 62 * ---------------------------- 110 s64 value, min_thresh = -1, max_thresh = UINT_MAX; in get_typical_interval() [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/arch/arm64/boot/dts/arm/ |
H A D | juno-r2.dts | 9 /dts-v1/; 11 #include <dt-bindings/interrupt-controller/arm-gic.h> 12 #include <dt-bindings/arm/coresight-cti-dt.h> 13 #include "juno-base.dtsi" 14 #include "juno-cs-r1r2.dtsi" 18 compatible = "arm,juno-r2", "arm,juno", "arm,vexpress"; 19 interrupt-parent = <&gic>; 20 #address-cells = <2>; 21 #size-cells = <2>; 28 stdout-path = "serial0:115200n8"; [all …]
|
H A D | juno.dts | 4 * Copyright (c) 2013-2014 ARM Ltd. 9 /dts-v1/; 11 #include <dt-bindings/interrupt-controller/arm-gic.h> 12 #include <dt-bindings/arm/coresight-cti-dt.h> 13 #include "juno-base.dtsi" 18 interrupt-parent = <&gic>; 19 #address-cells = <2>; 20 #size-cells = <2>; 27 stdout-path = "serial0:115200n8"; 31 compatible = "arm,psci-0.2"; [all …]
|
H A D | juno-r1.dts | 9 /dts-v1/; 11 #include <dt-bindings/interrupt-controller/arm-gic.h> 12 #include <dt-bindings/arm/coresight-cti-dt.h> 13 #include "juno-base.dtsi" 14 #include "juno-cs-r1r2.dtsi" 18 compatible = "arm,juno-r1", "arm,juno", "arm,vexpress"; 19 interrupt-parent = <&gic>; 20 #address-cells = <2>; 21 #size-cells = <2>; 28 stdout-path = "serial0:115200n8"; [all …]
|