Date: Tue, 2 Jan 2001 05:48:14 +1100 (EST) From: Bruce Evans <bde@zeta.org.au> To: Alexander Langer <alex@big.endian.de> Cc: arch@FreeBSD.ORG Subject: Re: (fwd) getnanouptime() patch Message-ID: <Pine.BSF.4.21.0101020544220.10677-100000@besplex.bde.org> In-Reply-To: <20010101135955.A4625@cichlids.cichlids.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 1 Jan 2001, Alexander Langer wrote:
> Thus spake Bruce Evans (bde@zeta.org.au):
>
> > Actually, timecounters are statically initialized to a dummy timecounter,
> > so the lock-up is probably caused by some other bug, possibly an
> > uninitialized event handler.
> > So the patch has no effect except to slow down nanotime().
>
> Oh. That is not good.
>
> But I'm curious: Isn't the nanotime() function wrong, too, in this
> case?
> ...
> void
> nanotime(struct timespec *ts)
> {
> unsigned count;
> u_int64_t delta;
> struct timecounter *tc;
>
> nnanotime++;
> tc = timecounter;
> #ifdef KTR
> if (tc == NULL) { /* called before initialization */
> ts->tv_sec = 0;
> ts->tv_nsec = 0;
> return;
> }
> #endif
This is bogus at best. `timecounter' is never NULL unless there is a bug
switching it.
Bruce
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0101020544220.10677-100000>
