/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/Documentation/devicetree/bindings/power/ |
H A D | domain-idle-state.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/power/domain-idle-state.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Ulf Hansson <ulf.hansson@linaro.org> 18 const: domain-idle-states 21 "^(cpu|cluster|domain)-": 29 const: domain-idle-state 31 entry-latency-us: 33 The worst case latency in microseconds required to enter the idle [all …]
|
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> 24 \#power-domain-cells property in the PM domain provider node. 28 pattern: "^(power-controller|power-domain)([@-].*)?$" 30 domain-idle-states: [all …]
|
/openbmc/linux/tools/tracing/rtla/src/ |
H A D | timerlat_top.c | 1 // SPDX-License-Identifier: GPL-2.0 78 * timerlat_free_top - free runtime data 83 free(data->cpu_data); in timerlat_free_top() 88 * timerlat_alloc_histogram - alloc runtime data 99 data->nr_cpus = nr_cpus; in timerlat_alloc_top() 102 data->cpu_data = calloc(1, sizeof(*data->cpu_data) * nr_cpus); in timerlat_alloc_top() 103 if (!data->cpu_data) in timerlat_alloc_top() 108 data->cpu_data[cpu].min_irq = ~0; in timerlat_alloc_top() 109 data->cpu_data[cpu].min_thread = ~0; in timerlat_alloc_top() 110 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 86 * timerlat_free_histogram - free runtime data 94 for (cpu = 0; cpu < data->nr_cpus; cpu++) { in timerlat_free_histogram() 95 if (data->hist[cpu].irq) in timerlat_free_histogram() 96 free(data->hist[cpu].irq); in timerlat_free_histogram() 98 if (data->hist[cpu].thread) in timerlat_free_histogram() 99 free(data->hist[cpu].thread); in timerlat_free_histogram() 101 if (data->hist[cpu].user) in timerlat_free_histogram() 102 free(data->hist[cpu].user); in timerlat_free_histogram() 107 if (data->hist) in timerlat_free_histogram() [all …]
|
/openbmc/linux/drivers/cpuidle/ |
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 …]
|
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 …]
|
/openbmc/linux/tools/power/cpupower/utils/ |
H A D | cpuidle-set.c | 1 // SPDX-License-Identifier: GPL-2.0 19 {"disable-by-latency", required_argument, NULL, 'D'}, 20 {"enable-all", no_argument, NULL, 'E'}, 30 unsigned long long latency = 0, state_latency; in cmd_idle_set() local 36 if (ret == -1) in cmd_idle_set() 46 param = -1; in cmd_idle_set() 54 exit(EXIT_FAILURE); in cmd_idle_set() 61 param = -1; in cmd_idle_set() 66 latency = strtoull(optarg, &endptr, 10); in cmd_idle_set() 68 printf(_("Bad latency value: %s\n"), optarg); in cmd_idle_set() [all …]
|
/openbmc/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 …]
|
/openbmc/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 …]
|
/openbmc/linux/Documentation/devicetree/bindings/arm/msm/ |
H A D | qcom,idle-state.txt | 3 ARM provides idle-state node to define the cpuidle states, as defined in [1]. 4 cpuidle-qcom is the cpuidle driver for Qualcomm SoCs and uses these idle 5 states. Idle states have different enter/exit latency and residency values. 6 The idle states supported by the QCOM SoC are defined as - 31 state. Retention may have a slightly higher latency than Standby. 44 code in the EL for the SoC. On SoCs with write-back L1 cache, the cache has to 50 be flushed, system bus, clocks - lowered, and SoC main XO clock gated and 52 power modes possible at this state is vast, the exit latency and the residency 58 The idle-state for QCOM SoCs are distinguished by the compatible property of 59 the idle-states device node. [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/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 * ----------------------- 43 * C state entry and exit have an energy cost, and a certain amount of time in 70 * Repeatable-interval-detector 71 * ---------------------------- 81 * --------------------------- 82 * C states, especially those with large exit latencies, can have a real [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() 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 …]
|
/openbmc/openbmc/poky/scripts/ |
H A D | oe-time-dd-test.sh | 5 # SPDX-License-Identifier: MIT 7 # oe-time-dd-test records how much time it takes to 16 echo "$0 is used to detect i/o latency and runs commands to display host information." 18 echo "1) top -c -b -n1 -w 512" 19 echo "2) iostat -y -z -x 5 1" 20 echo "3) tail -30 tmp*/log/cooker/*/console-latest.log to gather cooker log." 23 …echo "-c | --count <amount> dd (transfer) <amount> KiB of data within specified timeout to detect… 24 echo " Must enable -t option." 25 echo "-t | --timeout <time> timeout in seconds for the <count> amount of data to be transferred." 26 echo "-l | --log-only run the commands without performing the data transfer." [all …]
|
/openbmc/linux/tools/testing/selftests/ftrace/test.d/trigger/ |
H A D | trigger-trace-marker-synthetic-kernel.tc | 2 # SPDX-License-Identifier: GPL-2.0 3 # description: trace_marker trigger - test histogram with synthetic event against kernel event 12 echo "Test histogram kernel event to trace_marker latency histogram trigger" 14 echo 'latency u64 lat' > synthetic_events 16 echo 'hist:keys=common_pid:lat=common_timestamp.usecs-$ts0:onmatch(sched.sched_waking).latency($lat… 17 echo 'hist:keys=common_pid,lat:sort=lat' > events/synthetic/latency/trigger 24 grep 'hitcount: *1$' events/synthetic/latency/hist > /dev/null || \ 27 exit 0
|
H A D | trigger-trace-marker-synthetic.tc | 2 # SPDX-License-Identifier: GPL-2.0 3 # description: trace_marker trigger - test histogram with synthetic event 12 echo "Test histogram trace_marker to trace_marker latency histogram trigger" 14 echo 'latency u64 lat' > synthetic_events 16 echo 'hist:keys=common_pid:lat=common_timestamp.usecs-$ts0:onmatch(ftrace.print).latency($lat) if b… 17 echo 'hist:keys=common_pid,lat:sort=lat' > events/synthetic/latency/trigger 18 echo -n "start" > trace_marker 19 echo -n "end" > trace_marker 21 cnt=`grep 'hitcount: *1$' events/ftrace/print/hist | wc -l` 23 if [ $cnt -ne 2 ]; then [all …]
|
/openbmc/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 …]
|
/openbmc/linux/arch/arm64/boot/dts/qcom/ |
H A D | sm4450.dtsi | 1 // SPDX-License-Identifier: BSD-3-Clause 6 #include <dt-bindings/gpio/gpio.h> 7 #include <dt-bindings/interrupt-controller/arm-gic.h> 10 interrupt-parent = <&intc>; 12 #address-cells = <2>; 13 #size-cells = <2>; 18 xo_board: xo-board { 19 compatible = "fixed-clock"; 20 clock-frequency = <76800000>; 21 #clock-cells = <0>; [all …]
|
/openbmc/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() 38 while ((opt = getopt(argc, argv, "t:s:n:b:d:x:g:")) != -1) { in main() 62 return -1; in main() 67 fprintf(stderr, "invalid number of threads, must be in 1-%d\n", in main() 69 exit(1); in main() 73 fprintf(stderr, "invalid number of seconds, must be in 1-%d\n", in main() 75 exit(1); in main() 79 fprintf(stderr, "invalid transmit delay, must be in 0-%ld\n", in main() 81 exit(1); in main() [all …]
|
/openbmc/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 …]
|
/openbmc/linux/tools/testing/selftests/drivers/net/netdevsim/ |
H A D | psample.sh | 2 # SPDX-License-Identifier: GPL-2.0 32 rm -f $CAPTURE_FILE 48 if [ $(cat $CAPTURE_FILE | wc -l) -eq 0 ]; then 59 if [ $(cat $CAPTURE_FILE | wc -l) -ne 0 ]; then 74 grep -q -e "group 1234" $CAPTURE_FILE 81 grep -q -e "group 4321" $CAPTURE_FILE 87 grep -q -e "group 4321" $CAPTURE_FILE 105 grep -q -e "in-ifindex 1234" $CAPTURE_FILE 106 check_err $? "Sampled packets reported with wrong in-ifindex" 108 grep -q -e "out-ifindex 4321" $CAPTURE_FILE [all …]
|
/openbmc/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 …]
|
/openbmc/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
|
/openbmc/qemu/scripts/ |
H A D | userfaultfd-wrlat.py | 3 # userfaultfd-wrlat Summarize userfaultfd write fault latencies. 5 # run, while latency distribution histogram is 10 # USAGE: userfaultfd-lat [interval [count]] 18 # later. See the COPYING file in the top-level directory. 28 exit() 58 u64 delta = ts - (*tsp); 86 count = -1 94 except: # also catches -h, --help 104 print("Tracing UFFD-WP write fault latency... Hit Ctrl-C to end.") 113 exit() [all …]
|