/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/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> 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/tracing/rtla/sample/ |
H A D | timerlat_load.py | 2 # SPDX-License-Identifier: GPL-2.0-only 7 # so rtla can measure and provide auto-analysis for the overall latency (IOW 10 # Before running it, you need to dispatch timerlat with -U option in a terminal. 13 # timerlat_load.py 1 -p 95 15 # The "Timerlat IRQ" is the IRQ latency, The thread latency is the latency 16 # for the python process to get the CPU. The Ret from user Timer Latency is 17 # the overall latency. In other words, it is the response time for that 21 # It is in python because it is easy to read :-) 27 parser = argparse.ArgumentParser(description='user-space timerlat thread in Python') 29 parser.add_argument("-p", "--prio", help='FIFO priority') [all …]
|
/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 …]
|
/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 | intel_idle.rst | 1 .. SPDX-License-Identifier: GPL-2.0 24 Documentation/admin-guide/pm/cpuidle.rst if you have not done that yet.] 28 processor's functional blocks into low-power states. That instruction takes two 38 only way to pass early-configuration-time parameters to it is via the kernel 42 .. _intel-idle-enumeration-of-states: 50 as C-states (in the ACPI terminology) or idle states. The list of meaningful 51 ``MWAIT`` hint values and idle states (i.e. low-power configurations of the 56 subsystem (see :ref:`idle-states-representation` in 57 Documentation/admin-guide/pm/cpuidle.rst), 66 `below <intel-idle-parameters_>`_.] [all …]
|
/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 …]
|
/linux/tools/tracing/rtla/src/ |
H A D | timerlat_top.c | 1 // SPDX-License-Identifier: GPL-2.0 83 * timerlat_free_top - free runtime data 88 free(data->cpu_data); in timerlat_free_top() 93 * timerlat_alloc_histogram - alloc runtime data 104 data->nr_cpus = nr_cpus; in timerlat_alloc_top() 107 data->cpu_data = calloc(1, sizeof(*data->cpu_data) * nr_cpus); in timerlat_alloc_top() 108 if (!data->cpu_dat in timerlat_alloc_top() 162 timerlat_top_update(struct osnoise_tool * tool,int cpu,unsigned long long thread,unsigned long long latency) timerlat_top_update() argument 197 unsigned long long latency, thread; timerlat_top_handler() local [all...] |
H A D | timerlat_hist.c | 1 // SPDX-License-Identifier: GPL-2.0 90 * timerlat_free_histogram - free runtime data 98 for (cpu = 0; cpu < data->nr_cpus; cpu++) { in timerlat_free_histogram() 99 if (data->hist[cpu].irq) in timerlat_free_histogram() 100 free(data->hist[cpu].irq); in timerlat_free_histogram() 102 if (data->hist[cpu].thread) in timerlat_free_histogram() 103 free(data->hist[cpu].thread); in timerlat_free_histogram() 105 if (data->hist[cpu].user) in timerlat_free_histogram() 106 free(data->hist[cpu].user); in timerlat_free_histogram() 111 if (data->hist) in timerlat_free_histogram() [all …]
|
H A D | timerlat_aa.c | 1 // SPDX-License-Identifier: GPL-2.0 25 * Per-cpu data statistics and data. 31 /* timerlat IRQ latency */ 36 /* timerlat Thread latency */ 66 * If now - timestamp is <= latency, it might have influenced 67 * in the timerlat irq latency. Otherwise, ignore it. 137 * timerlat_aa_get_data - Get the per-cpu data from the timerlat context 142 return &taa_ctx->taa_data[cpu]; in timerlat_aa_get_data() 146 * timerlat_aa_irq_latency - Handles timerlat IRQ event 156 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/perf/tests/shell/ |
H A D | ftrace.sh | 3 # SPDX-License-Identifier: GPL-2.0 5 set -e 8 if [ "$(id -u)" != 0 ]; then 10 exit 2 16 rm -f "${output}" 18 trap - EXIT TERM INT 23 exit 1 25 trap trap_cleanup EXIT TERM INT 32 perf ftrace -F > "${output}" 42 perf ftrace trace --graph-opts depth=5 sleep 0.1 > "${output}" [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> 36 * 3) Latency tolerance (from pmqos infrastructure) 40 * ----------------------- 41 * C state entry and exit have an energy cost, and a certain amount of time in 68 * Repeatable-interval-detector 69 * ---------------------------- 79 * --------------------------- 80 * C states, especially those with large exit latencies, can have a real [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/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/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/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 …]
|
/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 …]
|
/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 …]
|
/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/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 …]
|
/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 …]
|