Fix: build on sles15sp4
[lttng-modules.git] / instrumentation / events / lttng-module / jbd2.h
CommitLineData
9f36eaed 1/* SPDX-License-Identifier: GPL-2.0 */
b283666f
PW
2#undef TRACE_SYSTEM
3#define TRACE_SYSTEM jbd2
4
3bc29f0a
MD
5#if !defined(LTTNG_TRACE_JBD2_H) || defined(TRACE_HEADER_MULTI_READ)
6#define LTTNG_TRACE_JBD2_H
b283666f 7
6ec43db8 8#include <probes/lttng-tracepoint-event.h>
b283666f 9#include <linux/jbd2.h>
2d042821 10#include <lttng-kernel-version.h>
b283666f
PW
11
12#ifndef _TRACE_JBD2_DEF
13#define _TRACE_JBD2_DEF
14struct transaction_chp_stats_s;
15struct transaction_run_stats_s;
16#endif
17
3bc29f0a 18LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint,
b283666f
PW
19
20 TP_PROTO(journal_t *journal, int result),
21
22 TP_ARGS(journal, result),
23
f127e61e
MD
24 TP_FIELDS(
25 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
26 ctf_integer(int, result, result)
27 )
b283666f
PW
28)
29
38b4e82d 30#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,2,0) \
47d24a25 31 || LTTNG_KERNEL_RANGE(5,4,229, 5,5,0) \
c6711d1e 32 || LTTNG_KERNEL_RANGE(5,10,163, 5,11,0) \
38b4e82d
MJ
33 || LTTNG_KERNEL_RANGE(5,15,87, 5,16,0) \
34 || LTTNG_KERNEL_RANGE(6,0,18, 6,1,0) \
35 || LTTNG_KERNEL_RANGE(6,1,4, 6,2,0))
36LTTNG_TRACEPOINT_EVENT_CLASS(jbd2_commit,
37
38 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
39
40 TP_ARGS(journal, commit_transaction),
41
42 TP_FIELDS(
43 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
44 ctf_integer(char, sync_commit, commit_transaction->t_synchronous_commit)
45 ctf_integer(tid_t, transaction, commit_transaction->t_tid)
46 )
47)
48#else
3bc29f0a 49LTTNG_TRACEPOINT_EVENT_CLASS(jbd2_commit,
b283666f
PW
50
51 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
52
53 TP_ARGS(journal, commit_transaction),
54
f127e61e
MD
55 TP_FIELDS(
56 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
57 ctf_integer(char, sync_commit, commit_transaction->t_synchronous_commit)
58 ctf_integer(int, transaction, commit_transaction->t_tid)
59 )
b283666f 60)
38b4e82d 61#endif
b283666f 62
3bc29f0a 63LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit, jbd2_start_commit,
b283666f
PW
64
65 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
66
67 TP_ARGS(journal, commit_transaction)
68)
69
3bc29f0a 70LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit, jbd2_commit_locking,
b283666f
PW
71
72 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
73
74 TP_ARGS(journal, commit_transaction)
75)
76
3bc29f0a 77LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit, jbd2_commit_flushing,
b283666f
PW
78
79 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
80
81 TP_ARGS(journal, commit_transaction)
82)
83
3bc29f0a 84LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit, jbd2_commit_logging,
b283666f
PW
85
86 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
87
88 TP_ARGS(journal, commit_transaction)
89)
90
2d042821 91#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,4,0))
3bc29f0a 92LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit, jbd2_drop_transaction,
7c68b363
AG
93
94 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
95
96 TP_ARGS(journal, commit_transaction)
97)
98#endif
99
38b4e82d 100#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,2,0) \
47d24a25 101 || LTTNG_KERNEL_RANGE(5,4,229, 5,5,0) \
c6711d1e 102 || LTTNG_KERNEL_RANGE(5,10,163, 5,11,0) \
38b4e82d
MJ
103 || LTTNG_KERNEL_RANGE(5,15,87, 5,16,0) \
104 || LTTNG_KERNEL_RANGE(6,0,18, 6,1,0) \
105 || LTTNG_KERNEL_RANGE(6,1,4, 6,2,0))
106LTTNG_TRACEPOINT_EVENT(jbd2_end_commit,
107 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
108
109 TP_ARGS(journal, commit_transaction),
110
111 TP_FIELDS(
112 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
113 ctf_integer(char, sync_commit, commit_transaction->t_synchronous_commit)
114 ctf_integer(tid_t, transaction, commit_transaction->t_tid)
115 ctf_integer(tid_t, head, journal->j_tail_sequence)
116 )
117)
118#else
3bc29f0a 119LTTNG_TRACEPOINT_EVENT(jbd2_end_commit,
b283666f
PW
120 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
121
122 TP_ARGS(journal, commit_transaction),
123
f127e61e
MD
124 TP_FIELDS(
125 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
126 ctf_integer(char, sync_commit, commit_transaction->t_synchronous_commit)
127 ctf_integer(int, transaction, commit_transaction->t_tid)
128 ctf_integer(int, head, journal->j_tail_sequence)
129 )
b283666f 130)
38b4e82d 131#endif
b283666f 132
3bc29f0a 133LTTNG_TRACEPOINT_EVENT(jbd2_submit_inode_data,
b283666f
PW
134 TP_PROTO(struct inode *inode),
135
136 TP_ARGS(inode),
137
f127e61e
MD
138 TP_FIELDS(
139 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
140 ctf_integer(ino_t, ino, inode->i_ino)
141 )
b283666f
PW
142)
143
38b4e82d 144#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,2,0) \
47d24a25 145 || LTTNG_KERNEL_RANGE(5,4,229, 5,5,0) \
c6711d1e 146 || LTTNG_KERNEL_RANGE(5,10,163, 5,11,0) \
38b4e82d
MJ
147 || LTTNG_KERNEL_RANGE(5,15,87, 5,16,0) \
148 || LTTNG_KERNEL_RANGE(6,0,18, 6,1,0) \
104eadd2 149 || LTTNG_KERNEL_RANGE(6,1,4, 6,2,0) \
bf18934d 150 || LTTNG_SLE_KERNEL_RANGE(5,14,21,24,46,1, 5,15,0,0,0,0) \
104eadd2
MJ
151 || LTTNG_UBUNTU_KERNEL_RANGE(5,19,17,42, 5,19,18,0) \
152 || LTTNG_UBUNTU_KERNEL_RANGE(5,19,7,1024, 5,19,8,0))
38b4e82d
MJ
153LTTNG_TRACEPOINT_EVENT(jbd2_run_stats,
154 TP_PROTO(dev_t dev, tid_t tid,
155 struct transaction_run_stats_s *stats),
156
157 TP_ARGS(dev, tid, stats),
158
159 TP_FIELDS(
160 ctf_integer(dev_t, dev, dev)
161 ctf_integer(tid_t, tid, tid)
162 ctf_integer(unsigned long, wait, stats->rs_wait)
163 ctf_integer(unsigned long, running, stats->rs_running)
164 ctf_integer(unsigned long, locked, stats->rs_locked)
165 ctf_integer(unsigned long, flushing, stats->rs_flushing)
166 ctf_integer(unsigned long, logging, stats->rs_logging)
167 ctf_integer(__u32, handle_count, stats->rs_handle_count)
168 ctf_integer(__u32, blocks, stats->rs_blocks)
169 ctf_integer(__u32, blocks_logged, stats->rs_blocks_logged)
170 )
171)
172
173LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint_stats,
174 TP_PROTO(dev_t dev, tid_t tid,
175 struct transaction_chp_stats_s *stats),
176
177 TP_ARGS(dev, tid, stats),
178
179 TP_FIELDS(
180 ctf_integer(dev_t, dev, dev)
181 ctf_integer(tid_t, tid, tid)
182 ctf_integer(unsigned long, chp_time, stats->cs_chp_time)
183 ctf_integer(__u32, forced_to_close, stats->cs_forced_to_close)
184 ctf_integer(__u32, written, stats->cs_written)
185 ctf_integer(__u32, dropped, stats->cs_dropped)
186 )
187)
188#else
3bc29f0a 189LTTNG_TRACEPOINT_EVENT(jbd2_run_stats,
b283666f
PW
190 TP_PROTO(dev_t dev, unsigned long tid,
191 struct transaction_run_stats_s *stats),
192
193 TP_ARGS(dev, tid, stats),
194
f127e61e
MD
195 TP_FIELDS(
196 ctf_integer(dev_t, dev, dev)
197 ctf_integer(unsigned long, tid, tid)
198 ctf_integer(unsigned long, wait, stats->rs_wait)
199 ctf_integer(unsigned long, running, stats->rs_running)
200 ctf_integer(unsigned long, locked, stats->rs_locked)
201 ctf_integer(unsigned long, flushing, stats->rs_flushing)
202 ctf_integer(unsigned long, logging, stats->rs_logging)
203 ctf_integer(__u32, handle_count, stats->rs_handle_count)
204 ctf_integer(__u32, blocks, stats->rs_blocks)
205 ctf_integer(__u32, blocks_logged, stats->rs_blocks_logged)
206 )
b283666f
PW
207)
208
3bc29f0a 209LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint_stats,
b283666f
PW
210 TP_PROTO(dev_t dev, unsigned long tid,
211 struct transaction_chp_stats_s *stats),
212
213 TP_ARGS(dev, tid, stats),
214
f127e61e
MD
215 TP_FIELDS(
216 ctf_integer(dev_t, dev, dev)
217 ctf_integer(unsigned long, tid, tid)
218 ctf_integer(unsigned long, chp_time, stats->cs_chp_time)
219 ctf_integer(__u32, forced_to_close, stats->cs_forced_to_close)
220 ctf_integer(__u32, written, stats->cs_written)
221 ctf_integer(__u32, dropped, stats->cs_dropped)
222 )
b283666f 223)
38b4e82d 224#endif
b283666f 225
2d042821 226#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,4,0))
3bc29f0a 227LTTNG_TRACEPOINT_EVENT(jbd2_update_log_tail,
7c68b363 228#else
3bc29f0a 229LTTNG_TRACEPOINT_EVENT(jbd2_cleanup_journal_tail,
7c68b363 230#endif
b283666f
PW
231
232 TP_PROTO(journal_t *journal, tid_t first_tid,
233 unsigned long block_nr, unsigned long freed),
234
235 TP_ARGS(journal, first_tid, block_nr, freed),
236
f127e61e
MD
237 TP_FIELDS(
238 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
239 ctf_integer(tid_t, tail_sequence, journal->j_tail_sequence)
240 ctf_integer(tid_t, first_tid, first_tid)
241 ctf_integer(unsigned long, block_nr, block_nr)
242 ctf_integer(unsigned long, freed, freed)
243 )
b283666f 244)
7c68b363 245
2d042821 246#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,4,0))
3bc29f0a 247LTTNG_TRACEPOINT_EVENT(jbd2_write_superblock,
7c68b363
AG
248
249 TP_PROTO(journal_t *journal, int write_op),
250
251 TP_ARGS(journal, write_op),
252
f127e61e
MD
253 TP_FIELDS(
254 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
255 ctf_integer(int, write_op, write_op)
256 )
7c68b363
AG
257)
258#endif
b283666f 259
3bc29f0a 260#endif /* LTTNG_TRACE_JBD2_H */
b283666f
PW
261
262/* This part must be outside protection */
6ec43db8 263#include <probes/define_trace.h>
This page took 0.060231 seconds and 4 git commands to generate.