mirror of
https://github.com/torvalds/linux.git
synced 2024-11-26 22:21:42 +00:00
bcachefs: Improve bucket_alloc tracepoint
It now includes more info - whether the bucket was for metadata or data - and also call it in the same place as the bucket_alloc_fail tracepoint. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
c298fd7d34
commit
68b6cd194a
@ -587,6 +587,8 @@ err:
|
||||
if (!IS_ERR(ob))
|
||||
trace_and_count(c, bucket_alloc, ca,
|
||||
bch2_alloc_reserves[reserve],
|
||||
may_alloc_partial,
|
||||
ob->bucket,
|
||||
usage.d[BCH_DATA_free].buckets,
|
||||
avail,
|
||||
bch2_copygc_wait_amount(c),
|
||||
@ -600,6 +602,8 @@ err:
|
||||
else
|
||||
trace_and_count(c, bucket_alloc_fail, ca,
|
||||
bch2_alloc_reserves[reserve],
|
||||
may_alloc_partial,
|
||||
0,
|
||||
usage.d[BCH_DATA_free].buckets,
|
||||
avail,
|
||||
bch2_copygc_wait_amount(c),
|
||||
|
@ -512,6 +512,8 @@ DEFINE_EVENT(bch_fs, gc_gens_end,
|
||||
|
||||
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,
|
||||
@ -522,12 +524,15 @@ DECLARE_EVENT_CLASS(bucket_alloc,
|
||||
u64 nouse,
|
||||
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,
|
||||
seen, open, need_journal_commit, nouse, 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 )
|
||||
@ -537,12 +542,14 @@ DECLARE_EVENT_CLASS(bucket_alloc,
|
||||
__field(u64, need_journal_commit )
|
||||
__field(u64, nouse )
|
||||
__field(bool, nonblocking )
|
||||
__array(char, err, 16 )
|
||||
__array(char, err, 32 )
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->dev = ca->dev;
|
||||
strlcpy(__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;
|
||||
@ -555,9 +562,11 @@ DECLARE_EVENT_CLASS(bucket_alloc,
|
||||
strlcpy(__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 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 nonblocking %u err %s",
|
||||
MAJOR(__entry->dev), MINOR(__entry->dev),
|
||||
__entry->reserve,
|
||||
__entry->user,
|
||||
__entry->bucket,
|
||||
__entry->free,
|
||||
__entry->avail,
|
||||
__entry->copygc_wait_amount,
|
||||
@ -572,6 +581,8 @@ DECLARE_EVENT_CLASS(bucket_alloc,
|
||||
|
||||
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,
|
||||
@ -582,12 +593,15 @@ DEFINE_EVENT(bucket_alloc, bucket_alloc,
|
||||
u64 nouse,
|
||||
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,
|
||||
seen, open, need_journal_commit, nouse, 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,
|
||||
@ -598,7 +612,8 @@ DEFINE_EVENT(bucket_alloc, bucket_alloc_fail,
|
||||
u64 nouse,
|
||||
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,
|
||||
seen, open, need_journal_commit, nouse, nonblocking, err)
|
||||
);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user