[2/3] thermal: trace: Trace when a cooling device's state is updated
diff mbox

Message ID 1406631050-14975-3-git-send-email-punit.agrawal@arm.com
State Accepted
Delegated to: Zhang Rui
Headers show

Commit Message

Punit Agrawal July 29, 2014, 10:50 a.m. UTC
Introduce and use an event to trace when a cooling device's state is
updated. This is useful to follow the effect of governor decisions on
cooling devices.

Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Eduardo Valentin <edubezval@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@redhat.com>
Signed-off-by: Punit Agrawal <punit.agrawal@arm.com>
---
 drivers/thermal/thermal_core.c |    1 +
 include/trace/events/thermal.h |   19 +++++++++++++++++++
 2 files changed, 20 insertions(+)

Patch
diff mbox

diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
index 6b32391..c74c78d 100644
--- a/drivers/thermal/thermal_core.c
+++ b/drivers/thermal/thermal_core.c
@@ -1291,6 +1291,7 @@  void thermal_cdev_update(struct thermal_cooling_device *cdev)
 	mutex_unlock(&cdev->lock);
 	cdev->ops->set_cur_state(cdev, target);
 	cdev->updated = true;
+	trace_cdev_update(cdev, target);
 	dev_dbg(&cdev->device, "set to state %lu\n", target);
 }
 EXPORT_SYMBOL(thermal_cdev_update);
diff --git a/include/trace/events/thermal.h b/include/trace/events/thermal.h
index 8c5ca96..894a79e 100644
--- a/include/trace/events/thermal.h
+++ b/include/trace/events/thermal.h
@@ -32,6 +32,25 @@  TRACE_EVENT(thermal_temperature,
 		__entry->temp)
 );
 
+TRACE_EVENT(cdev_update,
+
+	TP_PROTO(struct thermal_cooling_device *cdev, unsigned long target),
+
+	TP_ARGS(cdev, target),
+
+	TP_STRUCT__entry(
+		__string(type, cdev->type)
+		__field(unsigned long, target)
+	),
+
+	TP_fast_assign(
+		__assign_str(type, cdev->type);
+		__entry->target = target;
+	),
+
+	TP_printk("type=%s target=%lu", __get_str(type), __entry->target)
+);
+
 #endif /* _TRACE_THERMAL_H */
 
 /* This part must be outside protection */