Merge tag 'hwlock-v5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson...
[linux-2.6-microblaze.git] / include / trace / events / jbd2.h
index d16a328..a4dfe00 100644 (file)
@@ -394,6 +394,107 @@ TRACE_EVENT(jbd2_lock_buffer_stall,
                __entry->stall_ms)
 );
 
+DECLARE_EVENT_CLASS(jbd2_journal_shrink,
+
+       TP_PROTO(journal_t *journal, unsigned long nr_to_scan,
+                unsigned long count),
+
+       TP_ARGS(journal, nr_to_scan, count),
+
+       TP_STRUCT__entry(
+               __field(dev_t, dev)
+               __field(unsigned long, nr_to_scan)
+               __field(unsigned long, count)
+       ),
+
+       TP_fast_assign(
+               __entry->dev            = journal->j_fs_dev->bd_dev;
+               __entry->nr_to_scan     = nr_to_scan;
+               __entry->count          = count;
+       ),
+
+       TP_printk("dev %d,%d nr_to_scan %lu count %lu",
+                 MAJOR(__entry->dev), MINOR(__entry->dev),
+                 __entry->nr_to_scan, __entry->count)
+);
+
+DEFINE_EVENT(jbd2_journal_shrink, jbd2_shrink_count,
+
+       TP_PROTO(journal_t *journal, unsigned long nr_to_scan, unsigned long count),
+
+       TP_ARGS(journal, nr_to_scan, count)
+);
+
+DEFINE_EVENT(jbd2_journal_shrink, jbd2_shrink_scan_enter,
+
+       TP_PROTO(journal_t *journal, unsigned long nr_to_scan, unsigned long count),
+
+       TP_ARGS(journal, nr_to_scan, count)
+);
+
+TRACE_EVENT(jbd2_shrink_scan_exit,
+
+       TP_PROTO(journal_t *journal, unsigned long nr_to_scan,
+                unsigned long nr_shrunk, unsigned long count),
+
+       TP_ARGS(journal, nr_to_scan, nr_shrunk, count),
+
+       TP_STRUCT__entry(
+               __field(dev_t, dev)
+               __field(unsigned long, nr_to_scan)
+               __field(unsigned long, nr_shrunk)
+               __field(unsigned long, count)
+       ),
+
+       TP_fast_assign(
+               __entry->dev            = journal->j_fs_dev->bd_dev;
+               __entry->nr_to_scan     = nr_to_scan;
+               __entry->nr_shrunk      = nr_shrunk;
+               __entry->count          = count;
+       ),
+
+       TP_printk("dev %d,%d nr_to_scan %lu nr_shrunk %lu count %lu",
+                 MAJOR(__entry->dev), MINOR(__entry->dev),
+                 __entry->nr_to_scan, __entry->nr_shrunk,
+                 __entry->count)
+);
+
+TRACE_EVENT(jbd2_shrink_checkpoint_list,
+
+       TP_PROTO(journal_t *journal, tid_t first_tid, tid_t tid, tid_t last_tid,
+                unsigned long nr_freed, unsigned long nr_scanned,
+                tid_t next_tid),
+
+       TP_ARGS(journal, first_tid, tid, last_tid, nr_freed,
+               nr_scanned, next_tid),
+
+       TP_STRUCT__entry(
+               __field(dev_t, dev)
+               __field(tid_t, first_tid)
+               __field(tid_t, tid)
+               __field(tid_t, last_tid)
+               __field(unsigned long, nr_freed)
+               __field(unsigned long, nr_scanned)
+               __field(tid_t, next_tid)
+       ),
+
+       TP_fast_assign(
+               __entry->dev            = journal->j_fs_dev->bd_dev;
+               __entry->first_tid      = first_tid;
+               __entry->tid            = tid;
+               __entry->last_tid       = last_tid;
+               __entry->nr_freed       = nr_freed;
+               __entry->nr_scanned     = nr_scanned;
+               __entry->next_tid       = next_tid;
+       ),
+
+       TP_printk("dev %d,%d shrink transaction %u-%u(%u) freed %lu "
+                 "scanned %lu next transaction %u",
+                 MAJOR(__entry->dev), MINOR(__entry->dev),
+                 __entry->first_tid, __entry->tid, __entry->last_tid,
+                 __entry->nr_freed, __entry->nr_scanned, __entry->next_tid)
+);
+
 #endif /* _TRACE_JBD2_H */
 
 /* This part must be outside protection */