dlm: add time stamp of blocking callback
David Teigland [Tue, 9 Dec 2008 20:47:29 +0000 (14:47 -0600)]
Record the time the latest blocking callback was queued for
a lock.  This will be used for debugging in combination with
lock queue timestamp changes in the previous patch.

Signed-off-by: David Teigland <teigland@redhat.com>

fs/dlm/dlm_internal.h
fs/dlm/lock.c

index e69135c..0c48829 100644 (file)
@@ -245,6 +245,7 @@ struct dlm_lkb {
        struct list_head        lkb_astqueue;   /* need ast to be sent */
        struct list_head        lkb_ownqueue;   /* list of locks for a process */
        struct list_head        lkb_time_list;
+       ktime_t                 lkb_time_bast;  /* for debugging */
        ktime_t                 lkb_timestamp;
        unsigned long           lkb_timeout_cs;
 
index dfc57ae..6cfe65b 100644 (file)
@@ -318,6 +318,8 @@ static inline void queue_cast_overlap(struct dlm_rsb *r, struct dlm_lkb *lkb)
 
 static void queue_bast(struct dlm_rsb *r, struct dlm_lkb *lkb, int rqmode)
 {
+       lkb->lkb_time_bast = ktime_get();
+
        if (is_master_copy(lkb))
                send_bast(r, lkb, rqmode);
        else