| /kernel/linux/linux-6.6/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 <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 …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/arm/ |
| D | idle-states.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/arm/idle-states.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> 14 1 - Introduction 18 where cores can be put in different low-power states (ranging from simple wfi 20 range of dynamic idle states that a processor can enter at run-time, can be 27 - Running 28 - Idle_standby [all …]
|
| /kernel/linux/linux-5.10/drivers/cpuidle/ |
| D | cpuidle-pseries.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * cpuidle-pseries - idle state cpuidle driver. 78 * were soft-disabled in check_and_cede_processor() 92 * "ibm,get-systems-parameter" RTAS call with the token 98 * table with all the parameters to ibm,get-system-parameters. 99 * CEDE_LATENCY_TOKEN corresponds to the token value for Cede Latency 105 * If the platform supports the cede latency settings information system 109 * a. The first byte is the length “N” of each cede latency setting record minus 112 * b. For each supported cede latency setting a cede latency setting record 115 * ----------------------------- [all …]
|
| D | dt_idle_states.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 #define pr_fmt(fmt) "DT idle-states: " fmt 33 idle_state->enter = match_id->data; in init_state_node() 39 idle_state->enter_s2idle = match_id->data; in init_state_node() 41 err = of_property_read_u32(state_node, "wakeup-latency-us", in init_state_node() 42 &idle_state->exit_latency); in init_state_node() 46 err = of_property_read_u32(state_node, "entry-latency-us", in init_state_node() 49 pr_debug(" * %pOF missing entry-latency-us property\n", in init_state_node() 51 return -EINVAL; in init_state_node() 54 err = of_property_read_u32(state_node, "exit-latency-us", in init_state_node() [all …]
|
| /kernel/linux/linux-6.6/drivers/cpuidle/ |
| 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 …]
|
| 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 …]
|
| /kernel/linux/linux-6.6/Documentation/tools/rtla/ |
| 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 …]
|
| /kernel/linux/linux-6.6/Documentation/trace/ |
| 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 …]
|
| 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 …]
|
| /kernel/linux/linux-5.10/Documentation/trace/ |
| 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 :doc:`ftrace-design` for details for arch porters and such. [all …]
|
| /kernel/linux/linux-5.10/Documentation/virt/kvm/ |
| 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 dependant. 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 …]
|
| /kernel/linux/linux-6.6/Documentation/virt/kvm/ |
| 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 …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/i915/gt/ |
| D | intel_rc6.c | 2 * SPDX-License-Identifier: MIT 20 * low-voltage mode when idle, using down to 0V while at this stage. This 26 * among each other with the latency required to enter and leave RC6 and 34 * require higher latency to switch to and wake up. 44 return rc6_to_gt(rc)->uncore; in rc6_to_uncore() 49 return rc6_to_gt(rc)->i915; in rc6_to_i915() 60 struct intel_uncore *uncore = gt->uncore; in gen11_rc6_enable() 73 set(uncore, RING_MAX_IDLE(engine->mmio_base), 10); in gen11_rc6_enable() 84 * Bspec's guidance is to use 25us (really 25 * 1280ns) here. What we in gen11_rc6_enable() 86 * it takes us to service a CS interrupt and submit a new ELSP - that in gen11_rc6_enable() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/i915/gt/ |
| 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 …]
|
| /kernel/linux/linux-5.10/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 <abelay@novell.com> 36 * 3) Latency tolerance (from pmqos infrastructure) 40 * ----------------------- 43 * provides us this duration in the "target_residency" field. So all that we 68 * Repeatable-interval-detector 69 * ---------------------------- 79 * --------------------------- 88 * This rule-of-thumb is implemented using a performance-multiplier: [all …]
|
| /kernel/linux/linux-6.6/arch/arm64/boot/dts/sprd/ |
| 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 …]
|
| /kernel/linux/linux-5.10/arch/arm64/boot/dts/sprd/ |
| 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 …]
|
| /kernel/linux/linux-6.6/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 <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 …]
|
| /kernel/linux/linux-6.6/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() 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 …]
|
| /kernel/linux/linux-5.10/Documentation/driver-api/thermal/ |
| 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 …]
|
| /kernel/linux/linux-6.6/Documentation/driver-api/thermal/ |
| 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 …]
|
| /kernel/linux/linux-6.6/drivers/base/power/ |
| 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 …]
|
| /kernel/linux/linux-6.6/arch/arm64/boot/dts/qcom/ |
| 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 …]
|
| /kernel/linux/linux-6.6/Documentation/accounting/ |
| 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 …]
|
| /kernel/linux/linux-5.10/Documentation/accounting/ |
| 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. 52 The "full" line indicates the share of time in which all non-idle 64 (in us) is tracked and exported as well, to allow detection of latency 76 generate a wakeup event. 84 <some|full> <stall amount in us> <time window in us> 113 Notifications to the userspace are rate-limited to one per tracking window. [all …]
|