summaryrefslogtreecommitdiff
path: root/fs/bcachefs/trace.h
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2022-02-16 08:42:34 +0300
committerKent Overstreet <kent.overstreet@linux.dev>2023-10-23 00:09:24 +0300
commit4b59a319ad29815aa8f629513df2c291c2108bf9 (patch)
tree083614299dc2b9c0942a91d2ecc11055e5245c85 /fs/bcachefs/trace.h
parenteb331fe5a4e801dc11d96ba7fbda0a91c8bd626c (diff)
downloadlinux-4b59a319ad29815aa8f629513df2c291c2108bf9.tar.xz
bcachefs: Fix slow tracepoints
Some of our tracepoints were calling snprintf("pS") - which does symbol table lookups - in TP_fast_assign(), which turns out to be a really bad idea. This was done because perf trace wasn't correctly printing tracepoints that use %pS anymore - but it turns out trace-cmd does handle it correctly. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Diffstat (limited to 'fs/bcachefs/trace.h')
-rw-r--r--fs/bcachefs/trace.h16
1 files changed, 8 insertions, 8 deletions
diff --git a/fs/bcachefs/trace.h b/fs/bcachefs/trace.h
index 5e78c396e24c..64b7d9364fd9 100644
--- a/fs/bcachefs/trace.h
+++ b/fs/bcachefs/trace.h
@@ -358,7 +358,7 @@ TRACE_EVENT(btree_node_relock_fail,
TP_STRUCT__entry(
__array(char, trans_fn, 24 )
- __array(char, caller, 32 )
+ __field(unsigned long, caller_ip )
__field(u8, btree_id )
__field(u64, pos_inode )
__field(u64, pos_offset )
@@ -370,7 +370,7 @@ TRACE_EVENT(btree_node_relock_fail,
TP_fast_assign(
strncpy(__entry->trans_fn, trans_fn, sizeof(__entry->trans_fn));
- snprintf(__entry->caller, sizeof(__entry->caller), "%pS", (void *) caller_ip);
+ __entry->caller_ip = caller_ip;
__entry->btree_id = btree_id;
__entry->pos_inode = pos->inode;
__entry->pos_offset = pos->offset;
@@ -380,9 +380,9 @@ TRACE_EVENT(btree_node_relock_fail,
__entry->node_lock_seq = node_lock_seq;
),
- TP_printk("%s %s btree %u pos %llu:%llu:%u, node %lu iter seq %u lock seq %u",
+ TP_printk("%s %pS btree %u pos %llu:%llu:%u, node %lu iter seq %u lock seq %u",
__entry->trans_fn,
- __entry->caller,
+ (void *) __entry->caller_ip,
__entry->btree_id,
__entry->pos_inode,
__entry->pos_offset,
@@ -673,7 +673,7 @@ DECLARE_EVENT_CLASS(transaction_restart_iter,
TP_STRUCT__entry(
__array(char, trans_fn, 24 )
- __array(char, caller, 32 )
+ __field(unsigned long, caller_ip )
__field(u8, btree_id )
__field(u64, pos_inode )
__field(u64, pos_offset )
@@ -682,16 +682,16 @@ DECLARE_EVENT_CLASS(transaction_restart_iter,
TP_fast_assign(
strncpy(__entry->trans_fn, trans_fn, sizeof(__entry->trans_fn));
- snprintf(__entry->caller, sizeof(__entry->caller), "%pS", (void *) caller_ip);
+ __entry->caller_ip = caller_ip;
__entry->btree_id = btree_id;
__entry->pos_inode = pos->inode;
__entry->pos_offset = pos->offset;
__entry->pos_snapshot = pos->snapshot;
),
- TP_printk("%s %s btree %u pos %llu:%llu:%u",
+ TP_printk("%s %pS btree %u pos %llu:%llu:%u",
__entry->trans_fn,
- __entry->caller,
+ (void *) __entry->caller_ip,
__entry->btree_id,
__entry->pos_inode,
__entry->pos_offset,