From owner-cvs-all Mon Nov 30 06:16:55 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id GAA00610 for cvs-all-outgoing; Mon, 30 Nov 1998 06:16:55 -0800 (PST) (envelope-from owner-cvs-all@FreeBSD.ORG) Received: from dingo.cdrom.com (ppp7.portal.net.au [202.12.71.107]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id GAA00600; Mon, 30 Nov 1998 06:16:50 -0800 (PST) (envelope-from mike@dingo.cdrom.com) Received: from dingo.cdrom.com (localhost [127.0.0.1]) by dingo.cdrom.com (8.9.1/8.8.8) with ESMTP id GAA03905; Mon, 30 Nov 1998 06:10:31 -0800 (PST) (envelope-from mike@dingo.cdrom.com) Message-Id: <199811301410.GAA03905@dingo.cdrom.com> X-Mailer: exmh version 2.0.2 2/24/98 To: Poul-Henning Kamp cc: Mike Smith , cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/sys/kern kern_clock.c In-reply-to: Your message of "Mon, 30 Nov 1998 14:51:59 +0100." <12028.912433919@critter.freebsd.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Mon, 30 Nov 1998 06:10:29 -0800 From: Mike Smith Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk > In message <199811301338.FAA03590@dingo.cdrom.com>, Mike Smith writes: > >> phk 1998/11/29 12:31:03 PST > >> > >> Modified files: > >> sys/kern kern_clock.c > >> Log: > >> Make the previous behaviour the default, add a sysctl which you > >> can set if your hw/sw produces the "calcru negative..." message. > > > >The sysctl should be automatically set by the "calcru negative ..." > >detection code. > > No, because at that time you clock has already been warped out of > shape. People need to know and be aware that their sw/hw has a problem. Since we can't do this except by screwing up, and for that one time you can fudge things so that they're not fatal, I think this is a better approach. > >> Setting the alternate method (sysctl -w kern.timecounter.method=1) > >> makes the the get{nano|micro}*() functions call the real thing at > >> resulting in a measurable but minor overhead. > > > >This smells like a botch, not a fix. > > No, it isn't. get{nano|micro}* are supposed to be precise to within > a tick, for things where better precision is pointless and where > speed is important. After I changed the method to the one which is > now known as "1", it became imprecise to within one second, and that > broke various stuff. If you're suggesting that the only workaround for this so-called "broken" hardware is to degrade all of our timekeeping resolution to +/- 1 second, then I think that "botch" is being far too kind. I hope I'm misreading you here; I can't see where you get off suggesting that the calcru problems are "rare"; I've seen them on every Alpha I've used, for example, and I simply don't buy that they're something that can't be dealt with correctly in software. Everyone else seems to get it right; we should too. > >> I decided to NOT have the "calcru" change the method automatically > >> because you should be aware of this problem if you have it. > > > >Bad. There is now no correspondence between the diagnostic and the > >fix, and the user has to vector through a small number of people in > >order to resolve their problems. > > I submitted a FAQ entry. Try putting the sysctl name in the error message. Or just have the error fix it. -- \\ Sometimes you're ahead, \\ Mike Smith \\ sometimes you're behind. \\ mike@smith.net.au \\ The race is long, and in the \\ msmith@freebsd.org \\ end it's only with yourself. \\ msmith@cdrom.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message