diff options
author | Sahara <keun-o.park@windriver.com> | 2013-06-20 22:12:29 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-06-24 07:09:03 -0400 |
commit | ae8822b842e229fa4459fca2d979b630d812311d (patch) | |
tree | b95b7c91426f15617cc370c874858e2d25b6fd9c /include/trace | |
parent | 247e9ee034b0448a585afa16e292cbb9dc0aef68 (diff) |
PM / QoS: Add pm_qos_request tracepoints
Adds tracepoints to pm_qos_add_request, pm_qos_update_request,
pm_qos_remove_request, and pm_qos_update_request_timeout.
It's useful for checking pm_qos_class, value, and timeout_us.
Signed-off-by: Sahara <keun-o.park@windriver.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'include/trace')
-rw-r--r-- | include/trace/events/power.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/include/trace/events/power.h b/include/trace/events/power.h index f1e73bd04beb..6411f924afb1 100644 --- a/include/trace/events/power.h +++ b/include/trace/events/power.h | |||
@@ -182,6 +182,77 @@ DEFINE_EVENT(power_domain, power_domain_target, | |||
182 | /* | 182 | /* |
183 | * The pm qos events are used for pm qos update | 183 | * The pm qos events are used for pm qos update |
184 | */ | 184 | */ |
185 | DECLARE_EVENT_CLASS(pm_qos_request, | ||
186 | |||
187 | TP_PROTO(int pm_qos_class, s32 value), | ||
188 | |||
189 | TP_ARGS(pm_qos_class, value), | ||
190 | |||
191 | TP_STRUCT__entry( | ||
192 | __field( int, pm_qos_class ) | ||
193 | __field( s32, value ) | ||
194 | ), | ||
195 | |||
196 | TP_fast_assign( | ||
197 | __entry->pm_qos_class = pm_qos_class; | ||
198 | __entry->value = value; | ||
199 | ), | ||
200 | |||
201 | TP_printk("pm_qos_class=%s value=%d", | ||
202 | __print_symbolic(__entry->pm_qos_class, | ||
203 | { PM_QOS_CPU_DMA_LATENCY, "CPU_DMA_LATENCY" }, | ||
204 | { PM_QOS_NETWORK_LATENCY, "NETWORK_LATENCY" }, | ||
205 | { PM_QOS_NETWORK_THROUGHPUT, "NETWORK_THROUGHPUT" }), | ||
206 | __entry->value) | ||
207 | ); | ||
208 | |||
209 | DEFINE_EVENT(pm_qos_request, pm_qos_add_request, | ||
210 | |||
211 | TP_PROTO(int pm_qos_class, s32 value), | ||
212 | |||
213 | TP_ARGS(pm_qos_class, value) | ||
214 | ); | ||
215 | |||
216 | DEFINE_EVENT(pm_qos_request, pm_qos_update_request, | ||
217 | |||
218 | TP_PROTO(int pm_qos_class, s32 value), | ||
219 | |||
220 | TP_ARGS(pm_qos_class, value) | ||
221 | ); | ||
222 | |||
223 | DEFINE_EVENT(pm_qos_request, pm_qos_remove_request, | ||
224 | |||
225 | TP_PROTO(int pm_qos_class, s32 value), | ||
226 | |||
227 | TP_ARGS(pm_qos_class, value) | ||
228 | ); | ||
229 | |||
230 | TRACE_EVENT(pm_qos_update_request_timeout, | ||
231 | |||
232 | TP_PROTO(int pm_qos_class, s32 value, unsigned long timeout_us), | ||
233 | |||
234 | TP_ARGS(pm_qos_class, value, timeout_us), | ||
235 | |||
236 | TP_STRUCT__entry( | ||
237 | __field( int, pm_qos_class ) | ||
238 | __field( s32, value ) | ||
239 | __field( unsigned long, timeout_us ) | ||
240 | ), | ||
241 | |||
242 | TP_fast_assign( | ||
243 | __entry->pm_qos_class = pm_qos_class; | ||
244 | __entry->value = value; | ||
245 | __entry->timeout_us = timeout_us; | ||
246 | ), | ||
247 | |||
248 | TP_printk("pm_qos_class=%s value=%d, timeout_us=%ld", | ||
249 | __print_symbolic(__entry->pm_qos_class, | ||
250 | { PM_QOS_CPU_DMA_LATENCY, "CPU_DMA_LATENCY" }, | ||
251 | { PM_QOS_NETWORK_LATENCY, "NETWORK_LATENCY" }, | ||
252 | { PM_QOS_NETWORK_THROUGHPUT, "NETWORK_THROUGHPUT" }), | ||
253 | __entry->value, __entry->timeout_us) | ||
254 | ); | ||
255 | |||
185 | DECLARE_EVENT_CLASS(pm_qos_update, | 256 | DECLARE_EVENT_CLASS(pm_qos_update, |
186 | 257 | ||
187 | TP_PROTO(enum pm_qos_req_action action, int prev_value, int curr_value), | 258 | TP_PROTO(enum pm_qos_req_action action, int prev_value, int curr_value), |