This patch removes a dereference of lkbsb of lkb when calling ast tracepoint. First it reduces additional overhead, even if traces are not acitivated. Second we can deference it in TP_fast_assign over the already passed lkb parameter.
Signed-off-by: Alexander Aring <aahri...@redhat.com> --- fs/dlm/ast.c | 2 +- include/trace/events/dlm.h | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/fs/dlm/ast.c b/fs/dlm/ast.c index df25c3e785cf..19ef136f9e4f 100644 --- a/fs/dlm/ast.c +++ b/fs/dlm/ast.c @@ -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); } } diff --git a/include/trace/events/dlm.h b/include/trace/events/dlm.h index 32088c603244..e333176ecfaf 100644 --- a/include/trace/events/dlm.h +++ b/include/trace/events/dlm.h @@ -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", -- 2.31.1