summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/include/mutex.i
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/wiredtiger/src/include/mutex.i')
-rw-r--r--src/third_party/wiredtiger/src/include/mutex.i12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/third_party/wiredtiger/src/include/mutex.i b/src/third_party/wiredtiger/src/include/mutex.i
index 871ccf63be8..1d9fea9efb4 100644
--- a/src/third_party/wiredtiger/src/include/mutex.i
+++ b/src/third_party/wiredtiger/src/include/mutex.i
@@ -293,21 +293,23 @@ __wt_spin_unlock(WT_SESSION_IMPL *session, WT_SPINLOCK *t)
static inline void
__wt_spin_lock_track(WT_SESSION_IMPL *session, WT_SPINLOCK *t)
{
- struct timespec enter, leave;
+ uint64_t time_start, time_stop;
int64_t **stats;
if (t->stat_count_off != -1 && WT_STAT_ENABLED(session)) {
- __wt_epoch(session, &enter);
+ time_start = __wt_rdtsc(session);
__wt_spin_lock(session, t);
- __wt_epoch(session, &leave);
+ time_stop = __wt_rdtsc(session);
stats = (int64_t **)S2C(session)->stats;
stats[session->stat_bucket][t->stat_count_off]++;
if (F_ISSET(session, WT_SESSION_INTERNAL))
stats[session->stat_bucket][t->stat_int_usecs_off] +=
- (int64_t)WT_TIMEDIFF_US(leave, enter);
+ (int64_t)WT_TSCDIFF_US(
+ session, time_stop, time_start);
else
stats[session->stat_bucket][t->stat_app_usecs_off] +=
- (int64_t)WT_TIMEDIFF_US(leave, enter);
+ (int64_t)WT_TSCDIFF_US(
+ session, time_stop, time_start);
} else
__wt_spin_lock(session, t);
}