at v5.2-rc4 1.1 kB view raw
1/* SPDX-License-Identifier: GPL-2.0 */ 2#undef TRACE_SYSTEM 3#define TRACE_SYSTEM devfreq 4 5#if !defined(_TRACE_DEVFREQ_H) || defined(TRACE_HEADER_MULTI_READ) 6#define _TRACE_DEVFREQ_H 7 8#include <linux/devfreq.h> 9#include <linux/tracepoint.h> 10 11TRACE_EVENT(devfreq_monitor, 12 TP_PROTO(struct devfreq *devfreq), 13 14 TP_ARGS(devfreq), 15 16 TP_STRUCT__entry( 17 __field(unsigned long, freq) 18 __field(unsigned long, busy_time) 19 __field(unsigned long, total_time) 20 __field(unsigned int, polling_ms) 21 __string(dev_name, dev_name(&devfreq->dev)) 22 ), 23 24 TP_fast_assign( 25 __entry->freq = devfreq->previous_freq; 26 __entry->busy_time = devfreq->last_status.busy_time; 27 __entry->total_time = devfreq->last_status.total_time; 28 __entry->polling_ms = devfreq->profile->polling_ms; 29 __assign_str(dev_name, dev_name(&devfreq->dev)); 30 ), 31 32 TP_printk("dev_name=%s freq=%lu polling_ms=%u load=%lu", 33 __get_str(dev_name), __entry->freq, __entry->polling_ms, 34 __entry->total_time == 0 ? 0 : 35 (100 * __entry->busy_time) / __entry->total_time) 36); 37#endif /* _TRACE_DEVFREQ_H */ 38 39/* This part must be outside protection */ 40#include <trace/define_trace.h>