diff options
| author | David Teigland <teigland@redhat.com> | 2012-02-14 16:35:49 -0600 |
|---|---|---|
| committer | David Teigland <teigland@redhat.com> | 2012-02-14 16:35:49 -0600 |
| commit | 4009edc72efd093cd1ff0f40d815bd7caf9ac9da (patch) | |
| tree | dbc97d2218793b5610a08effc48674dba79947d3 | |
| parent | e2cca0c70c99a8738b948450bf3a4fab407b28c5 (diff) | |
dlm_master: time ops
| -rw-r--r-- | dlm/dlm_master.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/dlm/dlm_master.c b/dlm/dlm_master.c index 2afe190..651d0f5 100644 --- a/dlm/dlm_master.c +++ b/dlm/dlm_master.c @@ -54,6 +54,16 @@ do { \ exit(-1); \ } while (0) +static uint64_t dt_usec(struct timeval *start, struct timeval *stop) +{ + uint64_t dt; + + dt = stop->tv_sec - start->tv_sec; + dt *= 1000000; + dt += stop->tv_usec - start->tv_usec; + return dt; +} + static int rand_int(int a, int b) { return a + (int) (((float)(b - a + 1)) * random() / (RAND_MAX+1.0)); @@ -108,6 +118,7 @@ static void do_master(int acquire_mode, char *suffix) static void ping_masters(int acquire_mode, int convert_mode, char *suffix, uint32_t *lkids) { + struct timeval start, end; struct dlm_lksb lksb; char name[DLM_RESNAME_MAXLEN]; int rv, i; @@ -144,14 +155,19 @@ static void ping_masters(int acquire_mode, int convert_mode, char *suffix, mode_str(convert_mode)); fflush(stdout); + gettimeofday(&start, NULL); + rv = dlm_ls_lock_wait(dh, convert_mode, &lksb, LKF_NOQUEUE | LKF_CONVERT, name, strlen(name), 0, NULL, NULL, NULL); + gettimeofday(&end, NULL); + if (rv < 0) printf(" error %d\n", rv); else - printf(" .\n"); + printf(" . %llu us\n", + (unsigned long long)dt_usec(&start, &end)); continue; } } |
