diff options
author | Sahara <keun-o.park@windriver.com> | 2013-06-20 22:12:28 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-06-24 07:09:03 -0400 |
commit | 247e9ee034b0448a585afa16e292cbb9dc0aef68 (patch) | |
tree | a6feaff9bd5bf5116e79432b96ae3cb6f0345381 /include/trace | |
parent | d30b82a46942cda5c0af3744142a650db0732a7c (diff) |
PM / QoS: Add pm_qos_update_target/flags tracepoints
This patch adds tracepoints to pm_qos_update_target and
pm_qos_update_flags. It's useful for checking pm qos action,
previous value and current value.
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 | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/include/trace/events/power.h b/include/trace/events/power.h index 427acab5d69a..f1e73bd04beb 100644 --- a/include/trace/events/power.h +++ b/include/trace/events/power.h | |||
@@ -5,6 +5,7 @@ | |||
5 | #define _TRACE_POWER_H | 5 | #define _TRACE_POWER_H |
6 | 6 | ||
7 | #include <linux/ktime.h> | 7 | #include <linux/ktime.h> |
8 | #include <linux/pm_qos.h> | ||
8 | #include <linux/tracepoint.h> | 9 | #include <linux/tracepoint.h> |
9 | 10 | ||
10 | DECLARE_EVENT_CLASS(cpu, | 11 | DECLARE_EVENT_CLASS(cpu, |
@@ -177,6 +178,56 @@ DEFINE_EVENT(power_domain, power_domain_target, | |||
177 | 178 | ||
178 | TP_ARGS(name, state, cpu_id) | 179 | TP_ARGS(name, state, cpu_id) |
179 | ); | 180 | ); |
181 | |||
182 | /* | ||
183 | * The pm qos events are used for pm qos update | ||
184 | */ | ||
185 | DECLARE_EVENT_CLASS(pm_qos_update, | ||
186 | |||
187 | TP_PROTO(enum pm_qos_req_action action, int prev_value, int curr_value), | ||
188 | |||
189 | TP_ARGS(action, prev_value, curr_value), | ||
190 | |||
191 | TP_STRUCT__entry( | ||
192 | __field( enum pm_qos_req_action, action ) | ||
193 | __field( int, prev_value ) | ||
194 | __field( int, curr_value ) | ||
195 | ), | ||
196 | |||
197 | TP_fast_assign( | ||
198 | __entry->action = action; | ||
199 | __entry->prev_value = prev_value; | ||
200 | __entry->curr_value = curr_value; | ||
201 | ), | ||
202 | |||
203 | TP_printk("action=%s prev_value=%d curr_value=%d", | ||
204 | __print_symbolic(__entry->action, | ||
205 | { PM_QOS_ADD_REQ, "ADD_REQ" }, | ||
206 | { PM_QOS_UPDATE_REQ, "UPDATE_REQ" }, | ||
207 | { PM_QOS_REMOVE_REQ, "REMOVE_REQ" }), | ||
208 | __entry->prev_value, __entry->curr_value) | ||
209 | ); | ||
210 | |||
211 | DEFINE_EVENT(pm_qos_update, pm_qos_update_target, | ||
212 | |||
213 | TP_PROTO(enum pm_qos_req_action action, int prev_value, int curr_value), | ||
214 | |||
215 | TP_ARGS(action, prev_value, curr_value) | ||
216 | ); | ||
217 | |||
218 | DEFINE_EVENT_PRINT(pm_qos_update, pm_qos_update_flags, | ||
219 | |||
220 | TP_PROTO(enum pm_qos_req_action action, int prev_value, int curr_value), | ||
221 | |||
222 | TP_ARGS(action, prev_value, curr_value), | ||
223 | |||
224 | TP_printk("action=%s prev_value=0x%x curr_value=0x%x", | ||
225 | __print_symbolic(__entry->action, | ||
226 | { PM_QOS_ADD_REQ, "ADD_REQ" }, | ||
227 | { PM_QOS_UPDATE_REQ, "UPDATE_REQ" }, | ||
228 | { PM_QOS_REMOVE_REQ, "REMOVE_REQ" }), | ||
229 | __entry->prev_value, __entry->curr_value) | ||
230 | ); | ||
180 | #endif /* _TRACE_POWER_H */ | 231 | #endif /* _TRACE_POWER_H */ |
181 | 232 | ||
182 | /* This part must be outside protection */ | 233 | /* This part must be outside protection */ |