diff options
author | phk <phk@FreeBSD.org> | 2002-01-25 21:22:34 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2002-01-25 21:22:34 +0000 |
commit | 2566d06fbac80e19a4ffc9806b60b75f1d328a6f (patch) | |
tree | 2bf82efe84079ce2c5755680a459e257b62ed962 | |
parent | be9f3249a90c2f9f59b5540b8239f2f365898ede (diff) | |
download | FreeBSD-src-2566d06fbac80e19a4ffc9806b60b75f1d328a6f.zip FreeBSD-src-2566d06fbac80e19a4ffc9806b60b75f1d328a6f.tar.gz |
Be more conservative about interrupt latency, it aint getting better it seems.
-rw-r--r-- | sys/kern/kern_tc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/kern_tc.c b/sys/kern/kern_tc.c index 3697b5a..92e11c3 100644 --- a/sys/kern/kern_tc.c +++ b/sys/kern/kern_tc.c @@ -195,7 +195,7 @@ microuptime(struct timeval *tv) tv->tv_sec = tc->tc_offset_sec; tv->tv_usec = tc->tc_offset_micro; tv->tv_usec += ((u_int64_t)tco_delta(tc) * tc->tc_scale_micro) >> 32; - if (tv->tv_usec >= 1000000) { + while (tv->tv_usec >= 1000000) { tv->tv_usec -= 1000000; tv->tv_sec++; } @@ -216,7 +216,7 @@ nanouptime(struct timespec *ts) delta += ((u_int64_t)count * tc->tc_scale_nano_f); delta >>= 32; delta += ((u_int64_t)count * tc->tc_scale_nano_i); - if (delta >= 1000000000) { + while (delta >= 1000000000) { delta -= 1000000000; ts->tv_sec++; } |