Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/include/trace/events/alarmtimer.h
26282 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
#undef TRACE_SYSTEM
3
#define TRACE_SYSTEM alarmtimer
4
5
#if !defined(_TRACE_ALARMTIMER_H) || defined(TRACE_HEADER_MULTI_READ)
6
#define _TRACE_ALARMTIMER_H
7
8
#include <linux/alarmtimer.h>
9
#include <linux/rtc.h>
10
#include <linux/tracepoint.h>
11
12
TRACE_DEFINE_ENUM(ALARM_REALTIME);
13
TRACE_DEFINE_ENUM(ALARM_BOOTTIME);
14
TRACE_DEFINE_ENUM(ALARM_REALTIME_FREEZER);
15
TRACE_DEFINE_ENUM(ALARM_BOOTTIME_FREEZER);
16
17
#define show_alarm_type(type) __print_flags(type, " | ", \
18
{ 1 << ALARM_REALTIME, "REALTIME" }, \
19
{ 1 << ALARM_BOOTTIME, "BOOTTIME" }, \
20
{ 1 << ALARM_REALTIME_FREEZER, "REALTIME Freezer" }, \
21
{ 1 << ALARM_BOOTTIME_FREEZER, "BOOTTIME Freezer" })
22
23
#ifdef CONFIG_RTC_CLASS
24
TRACE_EVENT(alarmtimer_suspend,
25
26
TP_PROTO(ktime_t expires, int flag),
27
28
TP_ARGS(expires, flag),
29
30
TP_STRUCT__entry(
31
__field(s64, expires)
32
__field(unsigned char, alarm_type)
33
),
34
35
TP_fast_assign(
36
__entry->expires = expires;
37
__entry->alarm_type = flag;
38
),
39
40
TP_printk("alarmtimer type:%s expires:%llu",
41
show_alarm_type((1 << __entry->alarm_type)),
42
__entry->expires
43
)
44
);
45
#endif /* CONFIG_RTC_CLASS */
46
47
DECLARE_EVENT_CLASS(alarm_class,
48
49
TP_PROTO(struct alarm *alarm, ktime_t now),
50
51
TP_ARGS(alarm, now),
52
53
TP_STRUCT__entry(
54
__field(void *, alarm)
55
__field(unsigned char, alarm_type)
56
__field(s64, expires)
57
__field(s64, now)
58
),
59
60
TP_fast_assign(
61
__entry->alarm = alarm;
62
__entry->alarm_type = alarm->type;
63
__entry->expires = alarm->node.expires;
64
__entry->now = now;
65
),
66
67
TP_printk("alarmtimer:%p type:%s expires:%llu now:%llu",
68
__entry->alarm,
69
show_alarm_type((1 << __entry->alarm_type)),
70
__entry->expires,
71
__entry->now
72
)
73
);
74
75
DEFINE_EVENT(alarm_class, alarmtimer_fired,
76
77
TP_PROTO(struct alarm *alarm, ktime_t now),
78
79
TP_ARGS(alarm, now)
80
);
81
82
DEFINE_EVENT(alarm_class, alarmtimer_start,
83
84
TP_PROTO(struct alarm *alarm, ktime_t now),
85
86
TP_ARGS(alarm, now)
87
);
88
89
DEFINE_EVENT(alarm_class, alarmtimer_cancel,
90
91
TP_PROTO(struct alarm *alarm, ktime_t now),
92
93
TP_ARGS(alarm, now)
94
);
95
96
#endif /* _TRACE_ALARMTIMER_H */
97
98
/* This part must be outside protection */
99
#include <trace/define_trace.h>
100
101