cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
* [Cluster-devel] [PATCH dlm/next] fs: dlm: add lkb attach resource trace
@ 2022-01-17 15:38 Alexander Aring
  0 siblings, 0 replies; only message in thread
From: Alexander Aring @ 2022-01-17 15:38 UTC (permalink / raw)
  To: cluster-devel.redhat.com

This patch adds a tracpoint for dlm_attach() which indicates the local
lkb is attached to a global resource. This becomes useful to make a
connection between a local ls_id and lkb_id (from e.g. dlm_lock_start
tracepoint) to a global lock reference which is the same cluster-wide.

The trace printk will look like the following output:

ls_id=3841231384, lkb_id=23, res_name=202020202020203520202020202020202020343531356462, res_length=24

Most time the resource name using ASCII codec which allows us to print it
out. However this is not required. The printout used here will represent
the resource name as a bytewise hexademical string.

Signed-off-by: Alexander Aring <aahringo@redhat.com>
---
 fs/dlm/lock.c              |  1 +
 include/trace/events/dlm.h | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)

diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c
index bdb51d209ba2..f6ad96de4f3b 100644
--- a/fs/dlm/lock.c
+++ b/fs/dlm/lock.c
@@ -1169,6 +1169,7 @@ static void kill_rsb(struct kref *kref)
 static void attach_lkb(struct dlm_rsb *r, struct dlm_lkb *lkb)
 {
 	hold_rsb(r);
+	trace_dlm_attach_lkb(lkb, r);
 	lkb->lkb_resource = r;
 }
 
diff --git a/include/trace/events/dlm.h b/include/trace/events/dlm.h
index 32088c603244..53b81faa5877 100644
--- a/include/trace/events/dlm.h
+++ b/include/trace/events/dlm.h
@@ -214,6 +214,34 @@ TRACE_EVENT(dlm_unlock_end,
 
 );
 
+TRACE_EVENT(dlm_attach_lkb,
+
+	TP_PROTO(const struct dlm_lkb *lkb, const struct dlm_rsb *r),
+
+	TP_ARGS(lkb, r),
+
+	TP_STRUCT__entry(
+		__field(__u32, ls_id)
+		__field(__u32, lkb_id)
+		__field(int, res_length)
+		__dynamic_array(unsigned char, res_name, r->res_length)
+	),
+
+	TP_fast_assign(
+		__entry->ls_id = r->res_ls->ls_global_id;
+		__entry->lkb_id = lkb->lkb_id;
+		__entry->res_length = r->res_length;
+		memcpy(__get_dynamic_array(res_name), r->res_name,
+		       __get_dynamic_array_len(res_name));
+	),
+
+	TP_printk("ls_id=%u, lkb_id=%x, res_name=%s, res_length=%d",
+		  __entry->ls_id, __entry->lkb_id,
+		  __print_hex_str(__get_dynamic_array(res_name),
+				  __get_dynamic_array_len(res_name)),
+		  __entry->res_length)
+);
+
 TRACE_EVENT(dlm_send,
 
 	TP_PROTO(int nodeid, int ret),
-- 
2.31.1



^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2022-01-17 15:38 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-01-17 15:38 [Cluster-devel] [PATCH dlm/next] fs: dlm: add lkb attach resource trace Alexander Aring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).