/linux-6.14.4/Documentation/devicetree/bindings/cpu/ |
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 <[email protected]> 11 - Anup Patel <[email protected]> 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-6.14.4/Documentation/devicetree/bindings/power/ |
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 <[email protected]> 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 …]
|
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 <[email protected]> 11 - Kevin Hilman <[email protected]> 12 - Ulf Hansson <[email protected]> 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-6.14.4/tools/tracing/rtla/sample/ |
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", type=int, help='FIFO priority') [all …]
|
/linux-6.14.4/drivers/cpuidle/ |
D | cpuidle-pseries.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * cpuidle-pseries - idle state cpuidle driver. 48 dev->poll_time_limit = false; in snooze_loop() 59 dev->poll_time_limit = true; in snooze_loop() 81 * were soft-disabled in check_and_cede_processor() 95 * "ibm,get-systems-parameter" RTAS call with the token 101 * table with all the parameters to ibm,get-system-parameters. 102 * CEDE_LATENCY_TOKEN corresponds to the token value for Cede Latency 108 * If the platform supports the cede latency settings information system 112 * a. The first byte is the length “N” of each cede latency setting record minus [all …]
|
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-6.14.4/tools/power/cpupower/utils/ |
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-6.14.4/tools/perf/tests/shell/ |
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-6.14.4/Documentation/devicetree/bindings/thermal/ |
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 <[email protected]> 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-6.14.4/tools/tracing/rtla/src/ |
D | timerlat_top.c | 1 // SPDX-License-Identifier: GPL-2.0 84 * timerlat_free_top - free runtime data 89 free(data->cpu_data); in timerlat_free_top() 94 * timerlat_alloc_histogram - alloc runtime data 105 data->nr_cpus = nr_cpus; in timerlat_alloc_top() 108 data->cpu_data = calloc(1, sizeof(*data->cpu_data) * nr_cpus); in timerlat_alloc_top() 109 if (!data->cpu_data) in timerlat_alloc_top() 114 data->cpu_data[cpu].min_irq = ~0; in timerlat_alloc_top() 115 data->cpu_data[cpu].min_thread = ~0; in timerlat_alloc_top() 116 data->cpu_data[cpu].min_user = ~0; in timerlat_alloc_top() [all …]
|
D | timerlat_hist.c | 1 // SPDX-License-Identifier: GPL-2.0 91 * timerlat_free_histogram - free runtime data 99 for (cpu = 0; cpu < data->nr_cpus; cpu++) { in timerlat_free_histogram() 100 if (data->hist[cpu].irq) in timerlat_free_histogram() 101 free(data->hist[cpu].irq); in timerlat_free_histogram() 103 if (data->hist[cpu].thread) in timerlat_free_histogram() 104 free(data->hist[cpu].thread); in timerlat_free_histogram() 106 if (data->hist[cpu].user) in timerlat_free_histogram() 107 free(data->hist[cpu].user); in timerlat_free_histogram() 112 if (data->hist) in timerlat_free_histogram() [all …]
|
/linux-6.14.4/Documentation/tools/rtla/ |
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 …]
|
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-6.14.4/Documentation/admin-guide/pm/ |
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 …]
|
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-6.14.4/tools/testing/selftests/bpf/benchs/ |
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-6.14.4/Documentation/devicetree/bindings/arm/ |
D | psci.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Lorenzo Pieralisi <[email protected]> 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-6.14.4/tools/testing/selftests/ftrace/test.d/trigger/ |
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
|
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-6.14.4/tools/testing/selftests/dma/ |
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-6.14.4/tools/testing/selftests/drivers/net/netdevsim/ |
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-6.14.4/drivers/cpuidle/governors/ |
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 <[email protected]> 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 67 * Repeatable-interval-detector 68 * ---------------------------- 133 unsigned int value = data->intervals[i]; in get_typical_interval() 156 unsigned int value = data->intervals[i]; in get_typical_interval() [all …]
|
/linux-6.14.4/Documentation/trace/ |
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-6.14.4/tools/testing/selftests/ftrace/test.d/preemptirq/ |
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-6.14.4/arch/arm64/boot/dts/sprd/ |
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 …]
|