*/
/* BEGIN CSTYLED */
DECLARE_EVENT_CLASS(zfs_zrlock_class,
- TP_PROTO(zrlock_t *zrl, uint32_t n),
- TP_ARGS(zrl, n),
+ TP_PROTO(zrlock_t *zrl, kthread_t *owner, uint32_t n),
+ TP_ARGS(zrl, owner, n),
TP_STRUCT__entry(
__field(int32_t, refcount)
#ifdef ZFS_DEBUG
__field(pid_t, owner_pid)
- __string(caller, zrl->zr_caller)
+ __field(const char *, caller)
#endif
__field(uint32_t, n)
),
TP_fast_assign(
__entry->refcount = zrl->zr_refcount;
#ifdef ZFS_DEBUG
- __entry->owner_pid = zrl->zr_owner ? zrl->zr_owner->pid : 0;
- __assign_str(caller, zrl->zr_caller);
+ __entry->owner_pid = owner ? owner->pid : 0;
+ __entry->caller = zrl->zr_caller ? zrl->zr_caller : "(null)";
#endif
__entry->n = n;
),
#ifdef ZFS_DEBUG
TP_printk("zrl { refcount %d owner_pid %d caller %s } n %u",
- __entry->refcount, __entry->owner_pid, __get_str(caller),
+ __entry->refcount, __entry->owner_pid, __entry->caller,
__entry->n)
#else
TP_printk("zrl { refcount %d } n %u",
#define DEFINE_ZRLOCK_EVENT(name) \
DEFINE_EVENT(zfs_zrlock_class, name, \
- TP_PROTO(zrlock_t *zrl, uint32_t n), \
- TP_ARGS(zrl, n))
+ TP_PROTO(zrlock_t *zrl, kthread_t *owner, uint32_t n), \
+ TP_ARGS(zrl, owner, n))
DEFINE_ZRLOCK_EVENT(zfs_zrlock__reentry);
#endif /* _TRACE_ZRLOCK_H */
ASSERT3S((int32_t)n, >=, 0);
#ifdef ZFS_DEBUG
if (zrl->zr_owner == curthread) {
- DTRACE_PROBE2(zrlock__reentry,
- zrlock_t *, zrl, uint32_t, n);
+ DTRACE_PROBE3(zrlock__reentry,
+ zrlock_t *, zrl,
+ kthread_t *, curthread,
+ uint32_t, n);
}
zrl->zr_owner = curthread;
zrl->zr_caller = zc;