Date: Mon, 30 Nov 1998 06:10:29 -0800 From: Mike Smith <mike@smith.net.au> To: Poul-Henning Kamp <phk@critter.freebsd.dk> Cc: Mike Smith <mike@smith.net.au>, cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/sys/kern kern_clock.c Message-ID: <199811301410.GAA03905@dingo.cdrom.com> In-Reply-To: Your message of "Mon, 30 Nov 1998 14:51:59 %2B0100." <12028.912433919@critter.freebsd.dk>
next in thread | previous in thread | raw e-mail | index | archive | help
> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199811301410.GAA03905>
