fs: dlm: remove additional dereference of lksb
authorAlexander Aring <aahringo@redhat.com>
Wed, 22 Jun 2022 18:45:11 +0000 (14:45 -0400)
committerDavid Teigland <teigland@redhat.com>
Fri, 24 Jun 2022 16:53:08 +0000 (11:53 -0500)
This patch removes a dereference of lksb of lkb when calling ast
tracepoint. First it reduces additional overhead, even if traces
are not active. Second we can deference it in TP_fast_assign from
the existing lkb parameter.

Signed-off-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
fs/dlm/ast.c
include/trace/events/dlm.h

index df25c3e..19ef136 100644 (file)
@@ -260,7 +260,7 @@ void dlm_callback_work(struct work_struct *work)
                } else if (callbacks[i].flags & DLM_CB_CAST) {
                        lkb->lkb_lksb->sb_status = callbacks[i].sb_status;
                        lkb->lkb_lksb->sb_flags = callbacks[i].sb_flags;
-                       trace_dlm_ast(ls, lkb, lkb->lkb_lksb);
+                       trace_dlm_ast(ls, lkb);
                        castfn(lkb->lkb_astparam);
                }
        }
index 32088c6..e333176 100644 (file)
@@ -138,9 +138,9 @@ TRACE_EVENT(dlm_bast,
 
 TRACE_EVENT(dlm_ast,
 
-       TP_PROTO(struct dlm_ls *ls, struct dlm_lkb *lkb, struct dlm_lksb *lksb),
+       TP_PROTO(struct dlm_ls *ls, struct dlm_lkb *lkb),
 
-       TP_ARGS(ls, lkb, lksb),
+       TP_ARGS(ls, lkb),
 
        TP_STRUCT__entry(
                __field(__u32, ls_id)
@@ -152,8 +152,8 @@ TRACE_EVENT(dlm_ast,
        TP_fast_assign(
                __entry->ls_id = ls->ls_global_id;
                __entry->lkb_id = lkb->lkb_id;
-               __entry->sb_flags = lksb->sb_flags;
-               __entry->sb_status = lksb->sb_status;
+               __entry->sb_flags = lkb->lkb_lksb->sb_flags;
+               __entry->sb_status = lkb->lkb_lksb->sb_status;
        ),
 
        TP_printk("ls_id=%u lkb_id=%x sb_flags=%s sb_status=%d",