^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) #undef TRACE_SYSTEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #define TRACE_SYSTEM cpufreq_interactive
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) #if !defined(_TRACE_CPUFREQ_INTERACTIVE_H) || defined(TRACE_HEADER_MULTI_READ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #define _TRACE_CPUFREQ_INTERACTIVE_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #include <linux/tracepoint.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) DECLARE_EVENT_CLASS(set,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) TP_PROTO(u32 cpu_id, unsigned long targfreq,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) unsigned long actualfreq),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) TP_ARGS(cpu_id, targfreq, actualfreq),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) __field(u32, cpu_id)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) __field(unsigned long, targfreq)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) __field(unsigned long, actualfreq)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) __entry->cpu_id = (u32)cpu_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) __entry->targfreq = targfreq;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) __entry->actualfreq = actualfreq;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) TP_printk("cpu=%u targ=%lu actual=%lu",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) __entry->cpu_id, __entry->targfreq,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) __entry->actualfreq)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) DEFINE_EVENT(set, cpufreq_interactive_setspeed,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) TP_PROTO(u32 cpu_id, unsigned long targfreq,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) unsigned long actualfreq),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) TP_ARGS(cpu_id, targfreq, actualfreq)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) DECLARE_EVENT_CLASS(loadeval,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) TP_PROTO(unsigned long cpu_id, unsigned long load,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) unsigned long curtarg, unsigned long curactual,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) unsigned long newtarg),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) TP_ARGS(cpu_id, load, curtarg, curactual, newtarg),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) __field(unsigned long, cpu_id)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) __field(unsigned long, load)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) __field(unsigned long, curtarg)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) __field(unsigned long, curactual)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) __field(unsigned long, newtarg)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) __entry->cpu_id = cpu_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) __entry->load = load;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) __entry->curtarg = curtarg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) __entry->curactual = curactual;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) __entry->newtarg = newtarg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) TP_printk("cpu=%lu load=%lu cur=%lu actual=%lu targ=%lu",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) __entry->cpu_id, __entry->load, __entry->curtarg,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) __entry->curactual, __entry->newtarg)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) DEFINE_EVENT(loadeval, cpufreq_interactive_target,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) TP_PROTO(unsigned long cpu_id, unsigned long load,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) unsigned long curtarg, unsigned long curactual,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) unsigned long newtarg),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) TP_ARGS(cpu_id, load, curtarg, curactual, newtarg)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) DEFINE_EVENT(loadeval, cpufreq_interactive_already,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) TP_PROTO(unsigned long cpu_id, unsigned long load,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) unsigned long curtarg, unsigned long curactual,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) unsigned long newtarg),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) TP_ARGS(cpu_id, load, curtarg, curactual, newtarg)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) DEFINE_EVENT(loadeval, cpufreq_interactive_notyet,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) TP_PROTO(unsigned long cpu_id, unsigned long load,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) unsigned long curtarg, unsigned long curactual,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) unsigned long newtarg),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) TP_ARGS(cpu_id, load, curtarg, curactual, newtarg)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) TRACE_EVENT(cpufreq_interactive_boost,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) TP_PROTO(const char *s),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) TP_ARGS(s),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) __string(s, s)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) __assign_str(s, s);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) TP_printk("%s", __get_str(s))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) TRACE_EVENT(cpufreq_interactive_unboost,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) TP_PROTO(const char *s),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) TP_ARGS(s),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) __string(s, s)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) __assign_str(s, s);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) TP_printk("%s", __get_str(s))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) #endif /* _TRACE_CPUFREQ_INTERACTIVE_H */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) /* This part must be outside protection */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) #include <trace/define_trace.h>