dlm: add time stamp of blocking callback

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>
This commit is contained in:
David Teigland 2008-12-09 14:47:29 -06:00
parent eeda418d8c
commit e3a84ad495
2 changed files with 3 additions and 0 deletions

View file

@ -245,6 +245,7 @@ struct dlm_lkb {
struct list_head lkb_astqueue; /* need ast to be sent */ 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_ownqueue; /* list of locks for a process */
struct list_head lkb_time_list; struct list_head lkb_time_list;
ktime_t lkb_time_bast; /* for debugging */
ktime_t lkb_timestamp; ktime_t lkb_timestamp;
unsigned long lkb_timeout_cs; unsigned long lkb_timeout_cs;

View 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) 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)) if (is_master_copy(lkb))
send_bast(r, lkb, rqmode); send_bast(r, lkb, rqmode);
else else