]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - include/trace/events/bcachefs.h
Update bcachefs sources to 3e0c5b0722 fixup! bcachefs: Btree write buffer
[bcachefs-tools-debian] / include / trace / events / bcachefs.h
index f699146aad2640795aef73c6cad912cc13beb7f8..10e51bb37557ce990c610fa4580ebba66538bf88 100644 (file)
@@ -514,34 +514,10 @@ DEFINE_EVENT(bch_fs, gc_gens_end,
 
 /* Allocator */
 
-TRACE_EVENT(bucket_alloc,
-       TP_PROTO(struct bch_dev *ca, const char *alloc_reserve,
-                bool user, u64 bucket),
-       TP_ARGS(ca, alloc_reserve, user, bucket),
-
-       TP_STRUCT__entry(
-               __field(dev_t,                  dev     )
-               __array(char,   reserve,        16      )
-               __field(bool,                   user    )
-               __field(u64,                    bucket  )
-       ),
-
-       TP_fast_assign(
-               __entry->dev            = ca->dev;
-               strscpy(__entry->reserve, alloc_reserve, sizeof(__entry->reserve));
-               __entry->user           = user;
-               __entry->bucket         = bucket;
-       ),
-
-       TP_printk("%d,%d reserve %s user %u bucket %llu",
-                 MAJOR(__entry->dev), MINOR(__entry->dev),
-                 __entry->reserve,
-                 __entry->user,
-                 __entry->bucket)
-);
-
-TRACE_EVENT(bucket_alloc_fail,
+DECLARE_EVENT_CLASS(bucket_alloc,
        TP_PROTO(struct bch_dev *ca, const char *alloc_reserve,
+                bool user,
+                u64 bucket,
                 u64 free,
                 u64 avail,
                 u64 copygc_wait_amount,
@@ -549,12 +525,15 @@ TRACE_EVENT(bucket_alloc_fail,
                 struct bucket_alloc_state *s,
                 bool nonblocking,
                 const char *err),
-       TP_ARGS(ca, alloc_reserve, free, avail, copygc_wait_amount, copygc_waiting_for,
+       TP_ARGS(ca, alloc_reserve, user, bucket, free, avail,
+               copygc_wait_amount, copygc_waiting_for,
                s, nonblocking, err),
 
        TP_STRUCT__entry(
                __field(dev_t,                  dev                     )
                __array(char,   reserve,        16                      )
+               __field(bool,                   user    )
+               __field(u64,                    bucket  )
                __field(u64,                    free                    )
                __field(u64,                    avail                   )
                __field(u64,                    copygc_wait_amount      )
@@ -571,6 +550,8 @@ TRACE_EVENT(bucket_alloc_fail,
        TP_fast_assign(
                __entry->dev            = ca->dev;
                strscpy(__entry->reserve, alloc_reserve, sizeof(__entry->reserve));
+               __entry->user           = user;
+               __entry->bucket         = bucket;
                __entry->free           = free;
                __entry->avail          = avail;
                __entry->copygc_wait_amount     = copygc_wait_amount;
@@ -584,9 +565,11 @@ TRACE_EVENT(bucket_alloc_fail,
                strscpy(__entry->err, err, sizeof(__entry->err));
        ),
 
-       TP_printk("%d,%d reserve %s free %llu avail %llu copygc_wait %llu/%lli seen %llu open %llu need_journal_commit %llu nouse %llu nonblocking %u nocow %llu err %s",
+       TP_printk("%d,%d reserve %s user %u bucket %llu free %llu avail %llu copygc_wait %llu/%lli seen %llu open %llu need_journal_commit %llu nouse %llu nocow %llu nonblocking %u err %s",
                  MAJOR(__entry->dev), MINOR(__entry->dev),
                  __entry->reserve,
+                 __entry->user,
+                 __entry->bucket,
                  __entry->free,
                  __entry->avail,
                  __entry->copygc_wait_amount,
@@ -595,11 +578,43 @@ TRACE_EVENT(bucket_alloc_fail,
                  __entry->open,
                  __entry->need_journal_commit,
                  __entry->nouse,
-                 __entry->nonblocking,
                  __entry->nocow,
+                 __entry->nonblocking,
                  __entry->err)
 );
 
+DEFINE_EVENT(bucket_alloc, bucket_alloc,
+       TP_PROTO(struct bch_dev *ca, const char *alloc_reserve,
+                bool user,
+                u64 bucket,
+                u64 free,
+                u64 avail,
+                u64 copygc_wait_amount,
+                s64 copygc_waiting_for,
+                struct bucket_alloc_state *s,
+                bool nonblocking,
+                const char *err),
+       TP_ARGS(ca, alloc_reserve, user, bucket, free, avail,
+               copygc_wait_amount, copygc_waiting_for,
+               s, nonblocking, err)
+);
+
+DEFINE_EVENT(bucket_alloc, bucket_alloc_fail,
+       TP_PROTO(struct bch_dev *ca, const char *alloc_reserve,
+                bool user,
+                u64 bucket,
+                u64 free,
+                u64 avail,
+                u64 copygc_wait_amount,
+                s64 copygc_waiting_for,
+                struct bucket_alloc_state *s,
+                bool nonblocking,
+                const char *err),
+       TP_ARGS(ca, alloc_reserve, user, bucket, free, avail,
+               copygc_wait_amount, copygc_waiting_for,
+               s, nonblocking, err)
+);
+
 TRACE_EVENT(discard_buckets,
        TP_PROTO(struct bch_fs *c, u64 seen, u64 open,
                 u64 need_journal_commit, u64 discarded, const char *err),
@@ -673,7 +688,7 @@ DEFINE_EVENT(bkey, move_extent_finish,
        TP_ARGS(k)
 );
 
-DEFINE_EVENT(bkey, move_extent_race,
+DEFINE_EVENT(bkey, move_extent_fail,
        TP_PROTO(const struct bkey *k),
        TP_ARGS(k)
 );
@@ -1130,6 +1145,51 @@ TRACE_EVENT(trans_restart_key_cache_key_realloced,
                  __entry->new_u64s)
 );
 
+DEFINE_EVENT(transaction_event,        trans_restart_write_buffer_flush,
+       TP_PROTO(struct btree_trans *trans,
+                unsigned long caller_ip),
+       TP_ARGS(trans, caller_ip)
+);
+
+TRACE_EVENT(write_buffer_flush,
+       TP_PROTO(struct btree_trans *trans, size_t nr, size_t skipped, size_t fast, size_t size),
+       TP_ARGS(trans, nr, skipped, fast, size),
+
+       TP_STRUCT__entry(
+               __field(size_t,         nr              )
+               __field(size_t,         skipped         )
+               __field(size_t,         fast            )
+               __field(size_t,         size            )
+       ),
+
+       TP_fast_assign(
+               __entry->nr     = nr;
+               __entry->skipped = skipped;
+               __entry->fast   = fast;
+               __entry->size   = size;
+       ),
+
+       TP_printk("%zu/%zu skipped %zu fast %zu",
+                 __entry->nr, __entry->size, __entry->skipped, __entry->fast)
+);
+
+TRACE_EVENT(write_buffer_flush_slowpath,
+       TP_PROTO(struct btree_trans *trans, size_t nr, size_t size),
+       TP_ARGS(trans, nr, size),
+
+       TP_STRUCT__entry(
+               __field(size_t,         nr              )
+               __field(size_t,         size            )
+       ),
+
+       TP_fast_assign(
+               __entry->nr     = nr;
+               __entry->size   = size;
+       ),
+
+       TP_printk("%zu/%zu", __entry->nr, __entry->size)
+);
+
 #endif /* _TRACE_BCACHE_H */
 
 /* This part must be outside protection */