1c410ad2c422570bdec96542cc7437c1bfff55a3
1 // SPDX-FileCopyrightText: 2012 Paul Woegerer <paul_woegerer@mentor.com>
3 // SPDX-License-Identifier: GPL-2.0-only
6 #define TRACE_SYSTEM jbd2
8 #if !defined(LTTNG_TRACE_JBD2_H) || defined(TRACE_HEADER_MULTI_READ)
9 #define LTTNG_TRACE_JBD2_H
11 #include <lttng/tracepoint-event.h>
12 #include <linux/jbd2.h>
13 #include <lttng/kernel-version.h>
15 #ifndef _TRACE_JBD2_DEF
16 #define _TRACE_JBD2_DEF
17 struct transaction_chp_stats_s
;
18 struct transaction_run_stats_s
;
21 LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint
,
23 TP_PROTO(journal_t
*journal
, int result
),
25 TP_ARGS(journal
, result
),
28 ctf_integer(dev_t
, dev
, journal
->j_fs_dev
->bd_dev
)
29 ctf_integer(int, result
, result
)
33 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,2,0) \
34 || LTTNG_KERNEL_RANGE(5,4,229, 5,5,0) \
35 || LTTNG_KERNEL_RANGE(5,10,163, 5,11,0) \
36 || LTTNG_KERNEL_RANGE(5,15,87, 5,16,0) \
37 || LTTNG_KERNEL_RANGE(6,0,18, 6,1,0) \
38 || LTTNG_KERNEL_RANGE(6,1,4, 6,2,0))
39 LTTNG_TRACEPOINT_EVENT_CLASS(jbd2_commit
,
41 TP_PROTO(journal_t
*journal
, transaction_t
*commit_transaction
),
43 TP_ARGS(journal
, commit_transaction
),
46 ctf_integer(dev_t
, dev
, journal
->j_fs_dev
->bd_dev
)
47 ctf_integer(char, sync_commit
, commit_transaction
->t_synchronous_commit
)
48 ctf_integer(tid_t
, transaction
, commit_transaction
->t_tid
)
52 LTTNG_TRACEPOINT_EVENT_CLASS(jbd2_commit
,
54 TP_PROTO(journal_t
*journal
, transaction_t
*commit_transaction
),
56 TP_ARGS(journal
, commit_transaction
),
59 ctf_integer(dev_t
, dev
, journal
->j_fs_dev
->bd_dev
)
60 ctf_integer(char, sync_commit
, commit_transaction
->t_synchronous_commit
)
61 ctf_integer(int, transaction
, commit_transaction
->t_tid
)
66 LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit
, jbd2_start_commit
,
68 TP_PROTO(journal_t
*journal
, transaction_t
*commit_transaction
),
70 TP_ARGS(journal
, commit_transaction
)
73 LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit
, jbd2_commit_locking
,
75 TP_PROTO(journal_t
*journal
, transaction_t
*commit_transaction
),
77 TP_ARGS(journal
, commit_transaction
)
80 LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit
, jbd2_commit_flushing
,
82 TP_PROTO(journal_t
*journal
, transaction_t
*commit_transaction
),
84 TP_ARGS(journal
, commit_transaction
)
87 LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit
, jbd2_commit_logging
,
89 TP_PROTO(journal_t
*journal
, transaction_t
*commit_transaction
),
91 TP_ARGS(journal
, commit_transaction
)
94 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,4,0))
95 LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit
, jbd2_drop_transaction
,
97 TP_PROTO(journal_t
*journal
, transaction_t
*commit_transaction
),
99 TP_ARGS(journal
, commit_transaction
)
103 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,2,0) \
104 || LTTNG_KERNEL_RANGE(5,4,229, 5,5,0) \
105 || LTTNG_KERNEL_RANGE(5,10,163, 5,11,0) \
106 || LTTNG_KERNEL_RANGE(5,15,87, 5,16,0) \
107 || LTTNG_KERNEL_RANGE(6,0,18, 6,1,0) \
108 || LTTNG_KERNEL_RANGE(6,1,4, 6,2,0))
109 LTTNG_TRACEPOINT_EVENT(jbd2_end_commit
,
110 TP_PROTO(journal_t
*journal
, transaction_t
*commit_transaction
),
112 TP_ARGS(journal
, commit_transaction
),
115 ctf_integer(dev_t
, dev
, journal
->j_fs_dev
->bd_dev
)
116 ctf_integer(char, sync_commit
, commit_transaction
->t_synchronous_commit
)
117 ctf_integer(tid_t
, transaction
, commit_transaction
->t_tid
)
118 ctf_integer(tid_t
, head
, journal
->j_tail_sequence
)
122 LTTNG_TRACEPOINT_EVENT(jbd2_end_commit
,
123 TP_PROTO(journal_t
*journal
, transaction_t
*commit_transaction
),
125 TP_ARGS(journal
, commit_transaction
),
128 ctf_integer(dev_t
, dev
, journal
->j_fs_dev
->bd_dev
)
129 ctf_integer(char, sync_commit
, commit_transaction
->t_synchronous_commit
)
130 ctf_integer(int, transaction
, commit_transaction
->t_tid
)
131 ctf_integer(int, head
, journal
->j_tail_sequence
)
136 LTTNG_TRACEPOINT_EVENT(jbd2_submit_inode_data
,
137 TP_PROTO(struct inode
*inode
),
142 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
143 ctf_integer(ino_t
, ino
, inode
->i_ino
)
147 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,2,0) \
148 || LTTNG_KERNEL_RANGE(5,4,229, 5,5,0) \
149 || LTTNG_KERNEL_RANGE(5,10,163, 5,11,0) \
150 || LTTNG_KERNEL_RANGE(5,15,87, 5,16,0) \
151 || LTTNG_KERNEL_RANGE(6,0,18, 6,1,0) \
152 || LTTNG_KERNEL_RANGE(6,1,4, 6,2,0) \
153 || LTTNG_SLE_KERNEL_RANGE(5,14,21,150400,24,46, 5,15,0,0,0,0) \
154 || LTTNG_UBUNTU_KERNEL_RANGE(5,19,17,42, 5,19,18,0) \
155 || LTTNG_UBUNTU_KERNEL_RANGE(5,19,7,1024, 5,19,8,0))
156 LTTNG_TRACEPOINT_EVENT(jbd2_run_stats
,
157 TP_PROTO(dev_t dev
, tid_t tid
,
158 struct transaction_run_stats_s
*stats
),
160 TP_ARGS(dev
, tid
, stats
),
163 ctf_integer(dev_t
, dev
, dev
)
164 ctf_integer(tid_t
, tid
, tid
)
165 ctf_integer(unsigned long, wait
, stats
->rs_wait
)
166 ctf_integer(unsigned long, running
, stats
->rs_running
)
167 ctf_integer(unsigned long, locked
, stats
->rs_locked
)
168 ctf_integer(unsigned long, flushing
, stats
->rs_flushing
)
169 ctf_integer(unsigned long, logging
, stats
->rs_logging
)
170 ctf_integer(__u32
, handle_count
, stats
->rs_handle_count
)
171 ctf_integer(__u32
, blocks
, stats
->rs_blocks
)
172 ctf_integer(__u32
, blocks_logged
, stats
->rs_blocks_logged
)
176 LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint_stats
,
177 TP_PROTO(dev_t dev
, tid_t tid
,
178 struct transaction_chp_stats_s
*stats
),
180 TP_ARGS(dev
, tid
, stats
),
183 ctf_integer(dev_t
, dev
, dev
)
184 ctf_integer(tid_t
, tid
, tid
)
185 ctf_integer(unsigned long, chp_time
, stats
->cs_chp_time
)
186 ctf_integer(__u32
, forced_to_close
, stats
->cs_forced_to_close
)
187 ctf_integer(__u32
, written
, stats
->cs_written
)
188 ctf_integer(__u32
, dropped
, stats
->cs_dropped
)
192 LTTNG_TRACEPOINT_EVENT(jbd2_run_stats
,
193 TP_PROTO(dev_t dev
, unsigned long tid
,
194 struct transaction_run_stats_s
*stats
),
196 TP_ARGS(dev
, tid
, stats
),
199 ctf_integer(dev_t
, dev
, dev
)
200 ctf_integer(unsigned long, tid
, tid
)
201 ctf_integer(unsigned long, wait
, stats
->rs_wait
)
202 ctf_integer(unsigned long, running
, stats
->rs_running
)
203 ctf_integer(unsigned long, locked
, stats
->rs_locked
)
204 ctf_integer(unsigned long, flushing
, stats
->rs_flushing
)
205 ctf_integer(unsigned long, logging
, stats
->rs_logging
)
206 ctf_integer(__u32
, handle_count
, stats
->rs_handle_count
)
207 ctf_integer(__u32
, blocks
, stats
->rs_blocks
)
208 ctf_integer(__u32
, blocks_logged
, stats
->rs_blocks_logged
)
212 LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint_stats
,
213 TP_PROTO(dev_t dev
, unsigned long tid
,
214 struct transaction_chp_stats_s
*stats
),
216 TP_ARGS(dev
, tid
, stats
),
219 ctf_integer(dev_t
, dev
, dev
)
220 ctf_integer(unsigned long, tid
, tid
)
221 ctf_integer(unsigned long, chp_time
, stats
->cs_chp_time
)
222 ctf_integer(__u32
, forced_to_close
, stats
->cs_forced_to_close
)
223 ctf_integer(__u32
, written
, stats
->cs_written
)
224 ctf_integer(__u32
, dropped
, stats
->cs_dropped
)
229 LTTNG_TRACEPOINT_EVENT(jbd2_update_log_tail
,
230 TP_PROTO(journal_t
*journal
, tid_t first_tid
,
231 unsigned long block_nr
, unsigned long freed
),
233 TP_ARGS(journal
, first_tid
, block_nr
, freed
),
236 ctf_integer(dev_t
, dev
, journal
->j_fs_dev
->bd_dev
)
237 ctf_integer(tid_t
, tail_sequence
, journal
->j_tail_sequence
)
238 ctf_integer(tid_t
, first_tid
, first_tid
)
239 ctf_integer(unsigned long, block_nr
, block_nr
)
240 ctf_integer(unsigned long, freed
, freed
)
244 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,0,0) || \
245 LTTNG_RHEL_KERNEL_RANGE(5,14,0,163,0,0, 5,15,0,0,0,0))
247 #ifdef CONFIG_LTTNG_EXPERIMENTAL_BITWISE_ENUM
248 LTTNG_TRACEPOINT_ENUM(req_op
,
250 ctf_enum_value("REQ_OP_READ", REQ_OP_READ
)
251 ctf_enum_value("REQ_OP_WRITE", REQ_OP_WRITE
)
252 ctf_enum_value("REQ_OP_FLUSH", REQ_OP_FLUSH
)
253 ctf_enum_value("REQ_OP_DISCARD", REQ_OP_DISCARD
)
254 ctf_enum_value("REQ_OP_SECURE_ERASE", REQ_OP_SECURE_ERASE
)
255 ctf_enum_value("REQ_OP_WRITE_ZEROES", REQ_OP_WRITE_ZEROES
)
256 ctf_enum_value("REQ_OP_ZONE_OPEN", REQ_OP_ZONE_OPEN
)
257 ctf_enum_value("REQ_OP_ZONE_CLOSE", REQ_OP_ZONE_CLOSE
)
258 ctf_enum_value("REQ_OP_ZONE_FINISH", REQ_OP_ZONE_FINISH
)
259 ctf_enum_value("REQ_OP_ZONE_APPEND", REQ_OP_ZONE_APPEND
)
260 ctf_enum_value("REQ_OP_ZONE_RESET", REQ_OP_ZONE_RESET
)
261 ctf_enum_value("REQ_OP_ZONE_RESET_ALL", REQ_OP_ZONE_RESET_ALL
)
262 ctf_enum_value("REQ_OP_DRV_IN", REQ_OP_DRV_IN
)
263 ctf_enum_value("REQ_OP_DRV_OUT", REQ_OP_DRV_OUT
)
264 ctf_enum_value("REQ_OP_LAST", REQ_OP_LAST
)
267 #endif /* CONFIG_LTTNG_EXPERIMENTAL_BITWISE_ENUM */
269 LTTNG_TRACEPOINT_EVENT(jbd2_write_superblock
,
271 TP_PROTO(journal_t
*journal
, blk_opf_t write_flags
),
273 TP_ARGS(journal
, write_flags
),
276 ctf_integer(dev_t
, dev
, journal
->j_fs_dev
->bd_dev
)
277 #ifdef CONFIG_LTTNG_EXPERIMENTAL_BITWISE_ENUM
278 ctf_enum(req_op
, blk_opf_t
, write_flags
, write_flags
)
280 ctf_integer_hex(blk_opf_t
, write_flags
, write_flags
)
285 LTTNG_TRACEPOINT_EVENT(jbd2_write_superblock
,
287 TP_PROTO(journal_t
*journal
, int write_op
),
289 TP_ARGS(journal
, write_op
),
292 ctf_integer(dev_t
, dev
, journal
->j_fs_dev
->bd_dev
)
293 ctf_integer(int, write_op
, write_op
)
298 #endif /* LTTNG_TRACE_JBD2_H */
300 /* This part must be outside protection */
301 #include <lttng/define_trace.h>
This page took 0.044773 seconds and 5 git commands to generate.