alarmtimer.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. #undef TRACE_SYSTEM
  2. #define TRACE_SYSTEM alarmtimer
  3. #if !defined(_TRACE_ALARMTIMER_H) || defined(TRACE_HEADER_MULTI_READ)
  4. #define _TRACE_ALARMTIMER_H
  5. #include <linux/alarmtimer.h>
  6. #include <linux/rtc.h>
  7. #include <linux/tracepoint.h>
  8. TRACE_DEFINE_ENUM(ALARM_REALTIME);
  9. TRACE_DEFINE_ENUM(ALARM_BOOTTIME);
  10. TRACE_DEFINE_ENUM(ALARM_REALTIME_FREEZER);
  11. TRACE_DEFINE_ENUM(ALARM_BOOTTIME_FREEZER);
  12. #define show_alarm_type(type) __print_flags(type, " | ", \
  13. { 1 << ALARM_REALTIME, "REALTIME" }, \
  14. { 1 << ALARM_BOOTTIME, "BOOTTIME" }, \
  15. { 1 << ALARM_REALTIME_FREEZER, "REALTIME Freezer" }, \
  16. { 1 << ALARM_BOOTTIME_FREEZER, "BOOTTIME Freezer" })
  17. TRACE_EVENT(alarmtimer_suspend,
  18. TP_PROTO(ktime_t expires, int flag),
  19. TP_ARGS(expires, flag),
  20. TP_STRUCT__entry(
  21. __field(s64, expires)
  22. __field(unsigned char, alarm_type)
  23. ),
  24. TP_fast_assign(
  25. __entry->expires = expires;
  26. __entry->alarm_type = flag;
  27. ),
  28. TP_printk("alarmtimer type:%s expires:%llu",
  29. show_alarm_type((1 << __entry->alarm_type)),
  30. __entry->expires
  31. )
  32. );
  33. DECLARE_EVENT_CLASS(alarm_class,
  34. TP_PROTO(struct alarm *alarm, ktime_t now),
  35. TP_ARGS(alarm, now),
  36. TP_STRUCT__entry(
  37. __field(void *, alarm)
  38. __field(unsigned char, alarm_type)
  39. __field(s64, expires)
  40. __field(s64, now)
  41. ),
  42. TP_fast_assign(
  43. __entry->alarm = alarm;
  44. __entry->alarm_type = alarm->type;
  45. __entry->expires = alarm->node.expires;
  46. __entry->now = now;
  47. ),
  48. TP_printk("alarmtimer:%p type:%s expires:%llu now:%llu",
  49. __entry->alarm,
  50. show_alarm_type((1 << __entry->alarm_type)),
  51. __entry->expires,
  52. __entry->now
  53. )
  54. );
  55. DEFINE_EVENT(alarm_class, alarmtimer_fired,
  56. TP_PROTO(struct alarm *alarm, ktime_t now),
  57. TP_ARGS(alarm, now)
  58. );
  59. DEFINE_EVENT(alarm_class, alarmtimer_start,
  60. TP_PROTO(struct alarm *alarm, ktime_t now),
  61. TP_ARGS(alarm, now)
  62. );
  63. DEFINE_EVENT(alarm_class, alarmtimer_cancel,
  64. TP_PROTO(struct alarm *alarm, ktime_t now),
  65. TP_ARGS(alarm, now)
  66. );
  67. #endif /* _TRACE_ALARMTIMER_H */
  68. /* This part must be outside protection */
  69. #include <trace/define_trace.h>