]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blob - include/trace/events/osnoise.h
Merge tag 'drm-msm-fixes-2021-10-18' of https://gitlab.freedesktop.org/drm/msm into...
[mirror_ubuntu-jammy-kernel.git] / include / trace / events / osnoise.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #undef TRACE_SYSTEM
3 #define TRACE_SYSTEM osnoise
4
5 #if !defined(_OSNOISE_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
6 #define _OSNOISE_TRACE_H
7
8 #include <linux/tracepoint.h>
9 TRACE_EVENT(thread_noise,
10
11 TP_PROTO(struct task_struct *t, u64 start, u64 duration),
12
13 TP_ARGS(t, start, duration),
14
15 TP_STRUCT__entry(
16 __array( char, comm, TASK_COMM_LEN)
17 __field( u64, start )
18 __field( u64, duration)
19 __field( pid_t, pid )
20 ),
21
22 TP_fast_assign(
23 memcpy(__entry->comm, t->comm, TASK_COMM_LEN);
24 __entry->pid = t->pid;
25 __entry->start = start;
26 __entry->duration = duration;
27 ),
28
29 TP_printk("%8s:%d start %llu.%09u duration %llu ns",
30 __entry->comm,
31 __entry->pid,
32 __print_ns_to_secs(__entry->start),
33 __print_ns_without_secs(__entry->start),
34 __entry->duration)
35 );
36
37 TRACE_EVENT(softirq_noise,
38
39 TP_PROTO(int vector, u64 start, u64 duration),
40
41 TP_ARGS(vector, start, duration),
42
43 TP_STRUCT__entry(
44 __field( u64, start )
45 __field( u64, duration)
46 __field( int, vector )
47 ),
48
49 TP_fast_assign(
50 __entry->vector = vector;
51 __entry->start = start;
52 __entry->duration = duration;
53 ),
54
55 TP_printk("%8s:%d start %llu.%09u duration %llu ns",
56 show_softirq_name(__entry->vector),
57 __entry->vector,
58 __print_ns_to_secs(__entry->start),
59 __print_ns_without_secs(__entry->start),
60 __entry->duration)
61 );
62
63 TRACE_EVENT(irq_noise,
64
65 TP_PROTO(int vector, const char *desc, u64 start, u64 duration),
66
67 TP_ARGS(vector, desc, start, duration),
68
69 TP_STRUCT__entry(
70 __field( u64, start )
71 __field( u64, duration)
72 __string( desc, desc )
73 __field( int, vector )
74
75 ),
76
77 TP_fast_assign(
78 __assign_str(desc, desc);
79 __entry->vector = vector;
80 __entry->start = start;
81 __entry->duration = duration;
82 ),
83
84 TP_printk("%s:%d start %llu.%09u duration %llu ns",
85 __get_str(desc),
86 __entry->vector,
87 __print_ns_to_secs(__entry->start),
88 __print_ns_without_secs(__entry->start),
89 __entry->duration)
90 );
91
92 TRACE_EVENT(nmi_noise,
93
94 TP_PROTO(u64 start, u64 duration),
95
96 TP_ARGS(start, duration),
97
98 TP_STRUCT__entry(
99 __field( u64, start )
100 __field( u64, duration)
101 ),
102
103 TP_fast_assign(
104 __entry->start = start;
105 __entry->duration = duration;
106 ),
107
108 TP_printk("start %llu.%09u duration %llu ns",
109 __print_ns_to_secs(__entry->start),
110 __print_ns_without_secs(__entry->start),
111 __entry->duration)
112 );
113
114 TRACE_EVENT(sample_threshold,
115
116 TP_PROTO(u64 start, u64 duration, u64 interference),
117
118 TP_ARGS(start, duration, interference),
119
120 TP_STRUCT__entry(
121 __field( u64, start )
122 __field( u64, duration)
123 __field( u64, interference)
124 ),
125
126 TP_fast_assign(
127 __entry->start = start;
128 __entry->duration = duration;
129 __entry->interference = interference;
130 ),
131
132 TP_printk("start %llu.%09u duration %llu ns interference %llu",
133 __print_ns_to_secs(__entry->start),
134 __print_ns_without_secs(__entry->start),
135 __entry->duration,
136 __entry->interference)
137 );
138
139 #endif /* _TRACE_OSNOISE_H */
140
141 /* This part must be outside protection */
142 #include <trace/define_trace.h>