diff options
author | John Sonnenschein <johns@joyent.com> | 2012-05-07 05:39:48 +0000 |
---|---|---|
committer | John Sonnenschein <johns@joyent.com> | 2012-05-07 05:39:48 +0000 |
commit | f9b92b874c7e2b0a97203e8b3e370a82027fee42 (patch) | |
tree | 5b0afcf9f17c210b1248494d7039b477f403793f /usr/src/uts/common/disp/thread.c | |
parent | 99ab767f0b40b10adde1dc9ceaf6bb39d2be5d69 (diff) | |
parent | 435bba8aa5d73ccd0b9ec7c79e28bec795904992 (diff) | |
download | illumos-joyent-f9b92b874c7e2b0a97203e8b3e370a82027fee42.tar.gz |
illumos sync
Diffstat (limited to 'usr/src/uts/common/disp/thread.c')
-rw-r--r-- | usr/src/uts/common/disp/thread.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/usr/src/uts/common/disp/thread.c b/usr/src/uts/common/disp/thread.c index 5ed9110251..63a08483f8 100644 --- a/usr/src/uts/common/disp/thread.c +++ b/usr/src/uts/common/disp/thread.c @@ -1049,6 +1049,8 @@ installctx( ctx->free_op = free; ctx->arg = arg; ctx->next = t->t_ctx; + ctx->save_ts = 0; + ctx->restore_ts = 0; t->t_ctx = ctx; } @@ -1120,9 +1122,12 @@ savectx(kthread_t *t) struct ctxop *ctx; ASSERT(t == curthread); - for (ctx = t->t_ctx; ctx != 0; ctx = ctx->next) - if (ctx->save_op != NULL) + for (ctx = t->t_ctx; ctx != 0; ctx = ctx->next) { + if (ctx->save_op != NULL) { + ctx->save_ts = gethrtime_unscaled(); (ctx->save_op)(ctx->arg); + } + } } void @@ -1131,9 +1136,12 @@ restorectx(kthread_t *t) struct ctxop *ctx; ASSERT(t == curthread); - for (ctx = t->t_ctx; ctx != 0; ctx = ctx->next) - if (ctx->restore_op != NULL) + for (ctx = t->t_ctx; ctx != 0; ctx = ctx->next) { + if (ctx->restore_op != NULL) { + ctx->restore_ts = gethrtime_unscaled(); (ctx->restore_op)(ctx->arg); + } + } } void |