9b77ab92b9cf197145a8b3dbc4a9a8bc8d7079a3
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 #define TRACE_SYSTEM jbd2
5 #if !defined(LTTNG_TRACE_JBD2_H) || defined(TRACE_HEADER_MULTI_READ)
6 #define LTTNG_TRACE_JBD2_H
8 #include <lttng/tracepoint-event.h>
9 #include <linux/jbd2.h>
10 #include <lttng/kernel-version.h>
12 #ifndef _TRACE_JBD2_DEF
13 #define _TRACE_JBD2_DEF
14 struct transaction_chp_stats_s
;
15 struct transaction_run_stats_s
;
18 LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint
,
20 TP_PROTO(journal_t
*journal
, int result
),
22 TP_ARGS(journal
, result
),
25 ctf_integer(dev_t
, dev
, journal
->j_fs_dev
->bd_dev
)
26 ctf_integer(int, result
, result
)
30 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,2,0) \
31 || LTTNG_KERNEL_RANGE(5,10,163, 5,11,0) \
32 || LTTNG_KERNEL_RANGE(5,15,87, 5,16,0) \
33 || LTTNG_KERNEL_RANGE(6,0,18, 6,1,0) \
34 || LTTNG_KERNEL_RANGE(6,1,4, 6,2,0))
35 LTTNG_TRACEPOINT_EVENT_CLASS(jbd2_commit
,
37 TP_PROTO(journal_t
*journal
, transaction_t
*commit_transaction
),
39 TP_ARGS(journal
, commit_transaction
),
42 ctf_integer(dev_t
, dev
, journal
->j_fs_dev
->bd_dev
)
43 ctf_integer(char, sync_commit
, commit_transaction
->t_synchronous_commit
)
44 ctf_integer(tid_t
, transaction
, commit_transaction
->t_tid
)
48 LTTNG_TRACEPOINT_EVENT_CLASS(jbd2_commit
,
50 TP_PROTO(journal_t
*journal
, transaction_t
*commit_transaction
),
52 TP_ARGS(journal
, commit_transaction
),
55 ctf_integer(dev_t
, dev
, journal
->j_fs_dev
->bd_dev
)
56 ctf_integer(char, sync_commit
, commit_transaction
->t_synchronous_commit
)
57 ctf_integer(int, transaction
, commit_transaction
->t_tid
)
62 LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit
, jbd2_start_commit
,
64 TP_PROTO(journal_t
*journal
, transaction_t
*commit_transaction
),
66 TP_ARGS(journal
, commit_transaction
)
69 LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit
, jbd2_commit_locking
,
71 TP_PROTO(journal_t
*journal
, transaction_t
*commit_transaction
),
73 TP_ARGS(journal
, commit_transaction
)
76 LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit
, jbd2_commit_flushing
,
78 TP_PROTO(journal_t
*journal
, transaction_t
*commit_transaction
),
80 TP_ARGS(journal
, commit_transaction
)
83 LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit
, jbd2_commit_logging
,
85 TP_PROTO(journal_t
*journal
, transaction_t
*commit_transaction
),
87 TP_ARGS(journal
, commit_transaction
)
90 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,4,0))
91 LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit
, jbd2_drop_transaction
,
93 TP_PROTO(journal_t
*journal
, transaction_t
*commit_transaction
),
95 TP_ARGS(journal
, commit_transaction
)
99 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,2,0) \
100 || LTTNG_KERNEL_RANGE(5,10,163, 5,11,0) \
101 || LTTNG_KERNEL_RANGE(5,15,87, 5,16,0) \
102 || LTTNG_KERNEL_RANGE(6,0,18, 6,1,0) \
103 || LTTNG_KERNEL_RANGE(6,1,4, 6,2,0))
104 LTTNG_TRACEPOINT_EVENT(jbd2_end_commit
,
105 TP_PROTO(journal_t
*journal
, transaction_t
*commit_transaction
),
107 TP_ARGS(journal
, commit_transaction
),
110 ctf_integer(dev_t
, dev
, journal
->j_fs_dev
->bd_dev
)
111 ctf_integer(char, sync_commit
, commit_transaction
->t_synchronous_commit
)
112 ctf_integer(tid_t
, transaction
, commit_transaction
->t_tid
)
113 ctf_integer(tid_t
, head
, journal
->j_tail_sequence
)
117 LTTNG_TRACEPOINT_EVENT(jbd2_end_commit
,
118 TP_PROTO(journal_t
*journal
, transaction_t
*commit_transaction
),
120 TP_ARGS(journal
, commit_transaction
),
123 ctf_integer(dev_t
, dev
, journal
->j_fs_dev
->bd_dev
)
124 ctf_integer(char, sync_commit
, commit_transaction
->t_synchronous_commit
)
125 ctf_integer(int, transaction
, commit_transaction
->t_tid
)
126 ctf_integer(int, head
, journal
->j_tail_sequence
)
131 LTTNG_TRACEPOINT_EVENT(jbd2_submit_inode_data
,
132 TP_PROTO(struct inode
*inode
),
137 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
138 ctf_integer(ino_t
, ino
, inode
->i_ino
)
142 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,2,0) \
143 || LTTNG_KERNEL_RANGE(5,10,163, 5,11,0) \
144 || LTTNG_KERNEL_RANGE(5,15,87, 5,16,0) \
145 || LTTNG_KERNEL_RANGE(6,0,18, 6,1,0) \
146 || LTTNG_KERNEL_RANGE(6,1,4, 6,2,0))
147 LTTNG_TRACEPOINT_EVENT(jbd2_run_stats
,
148 TP_PROTO(dev_t dev
, tid_t tid
,
149 struct transaction_run_stats_s
*stats
),
151 TP_ARGS(dev
, tid
, stats
),
154 ctf_integer(dev_t
, dev
, dev
)
155 ctf_integer(tid_t
, tid
, tid
)
156 ctf_integer(unsigned long, wait
, stats
->rs_wait
)
157 ctf_integer(unsigned long, running
, stats
->rs_running
)
158 ctf_integer(unsigned long, locked
, stats
->rs_locked
)
159 ctf_integer(unsigned long, flushing
, stats
->rs_flushing
)
160 ctf_integer(unsigned long, logging
, stats
->rs_logging
)
161 ctf_integer(__u32
, handle_count
, stats
->rs_handle_count
)
162 ctf_integer(__u32
, blocks
, stats
->rs_blocks
)
163 ctf_integer(__u32
, blocks_logged
, stats
->rs_blocks_logged
)
167 LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint_stats
,
168 TP_PROTO(dev_t dev
, tid_t tid
,
169 struct transaction_chp_stats_s
*stats
),
171 TP_ARGS(dev
, tid
, stats
),
174 ctf_integer(dev_t
, dev
, dev
)
175 ctf_integer(tid_t
, tid
, tid
)
176 ctf_integer(unsigned long, chp_time
, stats
->cs_chp_time
)
177 ctf_integer(__u32
, forced_to_close
, stats
->cs_forced_to_close
)
178 ctf_integer(__u32
, written
, stats
->cs_written
)
179 ctf_integer(__u32
, dropped
, stats
->cs_dropped
)
183 LTTNG_TRACEPOINT_EVENT(jbd2_run_stats
,
184 TP_PROTO(dev_t dev
, unsigned long tid
,
185 struct transaction_run_stats_s
*stats
),
187 TP_ARGS(dev
, tid
, stats
),
190 ctf_integer(dev_t
, dev
, dev
)
191 ctf_integer(unsigned long, tid
, tid
)
192 ctf_integer(unsigned long, wait
, stats
->rs_wait
)
193 ctf_integer(unsigned long, running
, stats
->rs_running
)
194 ctf_integer(unsigned long, locked
, stats
->rs_locked
)
195 ctf_integer(unsigned long, flushing
, stats
->rs_flushing
)
196 ctf_integer(unsigned long, logging
, stats
->rs_logging
)
197 ctf_integer(__u32
, handle_count
, stats
->rs_handle_count
)
198 ctf_integer(__u32
, blocks
, stats
->rs_blocks
)
199 ctf_integer(__u32
, blocks_logged
, stats
->rs_blocks_logged
)
203 LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint_stats
,
204 TP_PROTO(dev_t dev
, unsigned long tid
,
205 struct transaction_chp_stats_s
*stats
),
207 TP_ARGS(dev
, tid
, stats
),
210 ctf_integer(dev_t
, dev
, dev
)
211 ctf_integer(unsigned long, tid
, tid
)
212 ctf_integer(unsigned long, chp_time
, stats
->cs_chp_time
)
213 ctf_integer(__u32
, forced_to_close
, stats
->cs_forced_to_close
)
214 ctf_integer(__u32
, written
, stats
->cs_written
)
215 ctf_integer(__u32
, dropped
, stats
->cs_dropped
)
220 LTTNG_TRACEPOINT_EVENT(jbd2_update_log_tail
,
221 TP_PROTO(journal_t
*journal
, tid_t first_tid
,
222 unsigned long block_nr
, unsigned long freed
),
224 TP_ARGS(journal
, first_tid
, block_nr
, freed
),
227 ctf_integer(dev_t
, dev
, journal
->j_fs_dev
->bd_dev
)
228 ctf_integer(tid_t
, tail_sequence
, journal
->j_tail_sequence
)
229 ctf_integer(tid_t
, first_tid
, first_tid
)
230 ctf_integer(unsigned long, block_nr
, block_nr
)
231 ctf_integer(unsigned long, freed
, freed
)
235 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,0,0))
237 #ifdef CONFIG_LTTNG_EXPERIMENTAL_BITWISE_ENUM
238 LTTNG_TRACEPOINT_ENUM(req_op
,
240 ctf_enum_value("REQ_OP_READ", REQ_OP_READ
)
241 ctf_enum_value("REQ_OP_WRITE", REQ_OP_WRITE
)
242 ctf_enum_value("REQ_OP_FLUSH", REQ_OP_FLUSH
)
243 ctf_enum_value("REQ_OP_DISCARD", REQ_OP_DISCARD
)
244 ctf_enum_value("REQ_OP_SECURE_ERASE", REQ_OP_SECURE_ERASE
)
245 ctf_enum_value("REQ_OP_WRITE_ZEROES", REQ_OP_WRITE_ZEROES
)
246 ctf_enum_value("REQ_OP_ZONE_OPEN", REQ_OP_ZONE_OPEN
)
247 ctf_enum_value("REQ_OP_ZONE_CLOSE", REQ_OP_ZONE_CLOSE
)
248 ctf_enum_value("REQ_OP_ZONE_FINISH", REQ_OP_ZONE_FINISH
)
249 ctf_enum_value("REQ_OP_ZONE_APPEND", REQ_OP_ZONE_APPEND
)
250 ctf_enum_value("REQ_OP_ZONE_RESET", REQ_OP_ZONE_RESET
)
251 ctf_enum_value("REQ_OP_ZONE_RESET_ALL", REQ_OP_ZONE_RESET_ALL
)
252 ctf_enum_value("REQ_OP_DRV_IN", REQ_OP_DRV_IN
)
253 ctf_enum_value("REQ_OP_DRV_OUT", REQ_OP_DRV_OUT
)
254 ctf_enum_value("REQ_OP_LAST", REQ_OP_LAST
)
257 #endif /* CONFIG_LTTNG_EXPERIMENTAL_BITWISE_ENUM */
259 LTTNG_TRACEPOINT_EVENT(jbd2_write_superblock
,
261 TP_PROTO(journal_t
*journal
, blk_opf_t write_flags
),
263 TP_ARGS(journal
, write_flags
),
266 ctf_integer(dev_t
, dev
, journal
->j_fs_dev
->bd_dev
)
267 #ifdef CONFIG_LTTNG_EXPERIMENTAL_BITWISE_ENUM
268 ctf_enum(req_op
, blk_opf_t
, write_flags
, write_flags
)
270 ctf_integer_hex(blk_opf_t
, write_flags
, write_flags
)
275 LTTNG_TRACEPOINT_EVENT(jbd2_write_superblock
,
277 TP_PROTO(journal_t
*journal
, int write_op
),
279 TP_ARGS(journal
, write_op
),
282 ctf_integer(dev_t
, dev
, journal
->j_fs_dev
->bd_dev
)
283 ctf_integer(int, write_op
, write_op
)
288 #endif /* LTTNG_TRACE_JBD2_H */
290 /* This part must be outside protection */
291 #include <lttng/define_trace.h>
This page took 0.035565 seconds and 4 git commands to generate.