From owner-freebsd-current Sun Nov 8 02:11:48 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id CAA20628 for freebsd-current-outgoing; Sun, 8 Nov 1998 02:11:48 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from critter.freebsd.dk (critter.freebsd.dk [212.242.40.131]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id CAA20618 for ; Sun, 8 Nov 1998 02:11:42 -0800 (PST) (envelope-from phk@critter.freebsd.dk) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.9.1/8.8.5) with ESMTP id LAA14667; Sun, 8 Nov 1998 11:10:07 +0100 (CET) To: Bruce Evans cc: current@FreeBSD.ORG, wpaul@skynet.ctr.columbia.edu Subject: Re: Grrr... calcru: negative time blah blah blah In-reply-to: Your message of "Sun, 08 Nov 1998 21:05:41 +1100." <199811081005.VAA24481@godzilla.zeta.org.au> Date: Sun, 08 Nov 1998 11:10:07 +0100 Message-ID: <14665.910519807@critter.freebsd.dk> From: Poul-Henning Kamp Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG In message <199811081005.VAA24481@godzilla.zeta.org.au>, Bruce Evans writes: >>>Timecounter strangeness seems to be only a symptom here. I've seen >>>similar strangeness caused by ddb masking interrupts. However, >>>{micro|nano}[run]time() only have obvious problems when tco_delta() >>>overflows a u_int. Overflow occurs after only about 10 seconds for >>>a 400MHz tsc timecounter, but not for one hour for an i8254 timecounter. >> >>Uhm, it happens earlier for a i8254, in fact it happens whenever more >>than one interrupt is lost. The majority of the bits are software >>bits. > >That's neither (C) overflow nor in {micro|nano}[run]time(). When the >low-level i8254 timecounter is not called often enough, the timecounter >just drops some multiple of timer0_max_count (about 11932) timecounter >ticks. This doesn't necessarily happen when more than one interrupt >is lost -- it happens when the low-level timecounter is not called for >more than (2 - epsilon) interrupt periods. There must have been some >low-level timecounter calls for the observed timecounter deltas to be >more than (2 * timer0_max_count). ahh, DuH!, yes. erhm. you're right... So we're back to square one: this doesn't really look like a timecounter problem... -- Poul-Henning Kamp FreeBSD coreteam member phk@FreeBSD.ORG "Real hackers run -current on their laptop." "ttyv0" -- What UNIX calls a $20K state-of-the-art, 3D, hi-res color terminal To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message