1 ============================= 2 Subsystem Trace Points: power 3 ============================= 4 5 The power tracing system captures events relat 6 within the kernel. Broadly speaking there are 7 8 - Power state switch which reports events re 9 cpuidle (C-states) and cpufreq (P-states) 10 - System clock related changes 11 - Power domains related changes and transiti 12 13 This document describes what each of the trace 14 might be useful. 15 16 Cf. include/trace/events/power.h for the event 17 18 1. Power state switch events 19 ============================ 20 21 1.1 Trace API 22 ----------------- 23 24 A 'cpu' event class gathers the CPU-related ev 25 cpufreq. 26 :: 27 28 cpu_idle "state=%lu cpu_id=%lu" 29 cpu_frequency "state=%lu cpu_id=%lu" 30 cpu_frequency_limits "min=%lu max=%lu cpu_i 31 32 A suspend event is used to indicate the system 33 suspend mode: 34 :: 35 36 machine_suspend "state=%lu" 37 38 39 Note: the value of '-1' or '4294967295' for st 40 i.e. trace_cpu_idle(4, smp_processor_id()) mea 41 enters the idle state 4, while trace_cpu_idle( 42 means that the system exits the previous idle 43 44 The event which has 'state=4294967295' in the 45 space tools which are using it to detect the e 46 correctly draw the states diagrams and to calc 47 48 2. Clocks events 49 ================ 50 The clock events are used for clock enable/dis 51 clock rate change. 52 :: 53 54 clock_enable "%s state=%lu cpu_id=% 55 clock_disable "%s state=%lu cpu_id=% 56 clock_set_rate "%s state=%lu 57 58 The first parameter gives the clock name (e.g. 59 The second parameter is '1' for enable, '0' fo 60 clock rate for set_rate. 61 62 3. Power domains events 63 ======================= 64 The power domain events are used for power dom 65 :: 66 67 power_domain_target "%s state=%lu cpu_id=% 68 69 The first parameter gives the power domain nam 70 The second parameter is the power domain targe 71 72 4. PM QoS events 73 ================ 74 The PM QoS events are used for QoS add/update/ 75 target/flags update. 76 :: 77 78 pm_qos_update_target "action=% 79 pm_qos_update_flags "action=% 80 81 The first parameter gives the QoS action name 82 The second parameter is the previous QoS value 83 The third parameter is the current QoS value t 84 85 There are also events used for device PM QoS a 86 :: 87 88 dev_pm_qos_add_request "device=% 89 dev_pm_qos_update_request "device=% 90 dev_pm_qos_remove_request "device=% 91 92 The first parameter gives the device name whic 93 QoS requests. 94 The second parameter gives the request type (e 95 The third parameter is value to be added/updat 96 97 And, there are events used for CPU latency QoS 98 :: 99 100 pm_qos_add_request "value=%d" 101 pm_qos_update_request "value=%d" 102 pm_qos_remove_request "value=%d" 103 104 The parameter is the value to be added/updated
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.