bcachefs: Add a tracepoint for journal entry close
authorKent Overstreet <kent.overstreet@linux.dev>
Fri, 17 Nov 2023 01:41:10 +0000 (20:41 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Mon, 1 Jan 2024 16:47:37 +0000 (11:47 -0500)
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/journal.c
fs/bcachefs/trace.h

index 63fb115da157b77796bb731ca779670d12cf4ef1..fb983061af4a23a1204636928ecb69beab24d297 100644 (file)
@@ -184,6 +184,8 @@ static void __journal_entry_close(struct journal *j, unsigned closed_val)
        /* Close out old buffer: */
        buf->data->u64s         = cpu_to_le32(old.cur_entry_offset);
 
+       trace_journal_entry_close(c, vstruct_bytes(buf->data));
+
        sectors = vstruct_blocks_plus(buf->data, c->block_bits,
                                      buf->u64s_reserved) << c->block_bits;
        BUG_ON(sectors > buf->sectors);
index f663f21b07f338b7c31735243648ce31647f5fd0..52db4df67c3aae07686ae4a68cf8ae12735ba83d 100644 (file)
@@ -188,6 +188,25 @@ DEFINE_EVENT(bch_fs, journal_entry_full,
        TP_ARGS(c)
 );
 
+TRACE_EVENT(journal_entry_close,
+       TP_PROTO(struct bch_fs *c, unsigned bytes),
+       TP_ARGS(c, bytes),
+
+       TP_STRUCT__entry(
+               __field(dev_t,          dev                     )
+               __field(u32,            bytes                   )
+       ),
+
+       TP_fast_assign(
+               __entry->dev                    = c->dev;
+               __entry->bytes                  = bytes;
+       ),
+
+       TP_printk("%d,%d entry bytes %u",
+                 MAJOR(__entry->dev), MINOR(__entry->dev),
+                 __entry->bytes)
+);
+
 DEFINE_EVENT(bio, journal_write,
        TP_PROTO(struct bio *bio),
        TP_ARGS(bio)