Warning: This file is not a C or C++ file. It does not have highlighting.

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>
9TRACE_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
37TRACE_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
63TRACE_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
92TRACE_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
114TRACE_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>
143

Warning: This file is not a C or C++ file. It does not have highlighting.

source code of linux/include/trace/events/osnoise.h