From owner-freebsd-arch Mon Jan 1 5: 0: 8 2001 From owner-freebsd-arch@FreeBSD.ORG Mon Jan 1 05:00:06 2001 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mailout06.sul.t-online.com (mailout06.sul.t-online.com [194.25.134.19]) by hub.freebsd.org (Postfix) with ESMTP id 89B4637B400 for ; Mon, 1 Jan 2001 05:00:05 -0800 (PST) Received: from fwd02.sul.t-online.com by mailout06.sul.t-online.com with smtp id 14D4ZH-0006yC-02; Mon, 01 Jan 2001 14:00:03 +0100 Received: from neutron.cichlids.com (520050424122-0001@[62.225.194.113]) by fmrl02.sul.t-online.com with esmtp id 14D4Z5-0gd864C; Mon, 1 Jan 2001 13:59:51 +0100 Received: from cichlids.cichlids.com (cichlids.cichlids.com [192.168.0.10]) by neutron.cichlids.com (Postfix) with ESMTP id 89CB1AB0C; Mon, 1 Jan 2001 14:00:23 +0100 (CET) Received: by cichlids.cichlids.com (Postfix, from userid 1001) id 8D6C814AF8; Mon, 1 Jan 2001 13:59:55 +0100 (CET) Date: Mon, 1 Jan 2001 13:59:55 +0100 From: Alexander Langer To: Bruce Evans Cc: arch@FreeBSD.ORG Subject: Re: (fwd) getnanouptime() patch Message-ID: <20010101135955.A4625@cichlids.cichlids.com> References: <20010101133438.A4214@cichlids.cichlids.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: ; from bde@zeta.org.au on Mon, Jan 01, 2001 at 11:54:36PM +1100 X-PGP-Fingerprint: 44 28 CA 4C 46 5B D3 A8 A8 E3 BA F3 4E 60 7D 7F X-PGP-at: finger alex@big.endian.de X-Verwirrung: Dieser Header dient der allgemeinen Verwirrung. X-Sender: 520050424122-0001@t-dialin.net Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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 [....] That's where I took the code from. Alex -- cat: /home/alex/.sig: No such file or directory To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message