Commit 1be0730f authored by Lukasz Luba's avatar Lukasz Luba Committed by MyungJoo Ham
Browse files

trace: events: add devfreq trace event file



The patch adds a new file for with trace events for devfreq
framework. They are used for performance analysis of the framework.
It also contains updates in MAINTAINERS file adding new entry for
devfreq maintainers.

Signed-off-by: default avatarLukasz Luba <l.luba@partner.samsung.com>
Reviewed-by: default avatarChanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: default avatarMyungJoo Ham <myungjoo.ham@samsung.com>
parent 9173c5ce
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -4552,6 +4552,7 @@ S: Maintained
F:	drivers/devfreq/
F:	include/linux/devfreq.h
F:	Documentation/devicetree/bindings/devfreq/
F:	include/trace/events/devfreq.h

DEVICE FREQUENCY EVENT (DEVFREQ-EVENT)
M:	Chanwoo Choi <cw00.choi@samsung.com>
+40 −0
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM devfreq

#if !defined(_TRACE_DEVFREQ_H) || defined(TRACE_HEADER_MULTI_READ)
#define _TRACE_DEVFREQ_H

#include <linux/devfreq.h>
#include <linux/tracepoint.h>

TRACE_EVENT(devfreq_monitor,
	TP_PROTO(struct devfreq *devfreq),

	TP_ARGS(devfreq),

	TP_STRUCT__entry(
		__field(unsigned long, freq)
		__field(unsigned long, busy_time)
		__field(unsigned long, total_time)
		__field(unsigned int, polling_ms)
		__string(dev_name, dev_name(&devfreq->dev))
	),

	TP_fast_assign(
		__entry->freq = devfreq->previous_freq;
		__entry->busy_time = devfreq->last_status.busy_time;
		__entry->total_time = devfreq->last_status.total_time;
		__entry->polling_ms = devfreq->profile->polling_ms;
		__assign_str(dev_name, dev_name(&devfreq->dev));
	),

	TP_printk("dev_name=%s freq=%lu polling_ms=%u load=%lu",
		__get_str(dev_name), __entry->freq, __entry->polling_ms,
		__entry->total_time == 0 ? 0 :
			(100 * __entry->busy_time) / __entry->total_time)
);
#endif /* _TRACE_DEVFREQ_H */

/* This part must be outside protection */
#include <trace/define_trace.h>