Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Mar 1998 15:49:05 -0800
From:      Studded <Studded@dal.net>
To:        FreeBSD-questions@FreeBSD.ORG
Subject:   Re: CPU calibration problems: Solved
Message-ID:  <35087471.A0736724@dal.net>
References:  <Pine.BSF.3.96.980312010650.8993A-100000@dt050ndd.san.rr.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Studded wrote:
> 
>         For some time now I've had problems with the calibration of my CPU
> speed during boot. I have a Dell XPS P90 machine, and I currently have a
> '586 Pentium Overdrive chip in it which normally clocks out to 150.34.
> However, here's some examples of incorrect values:
> 
>  CPU: Pentium (109.75-MHz 586-class CPU)
	[snip]

>         Prior to installing the Overdrive chip, I had overclocked the bus
> to 33 Mhz. I never experienced any obvious problems with the
> overclocking either in FreeBSD or OS/2, except I also checked the logs,
> and prior to installing the overdrive chip the cpu was also being
> calibrated incorrectly. (I hope this is all making sense. :) I noticed
> after installing the overdrive chip that it wasn't being calibrated
> properly, so I reset the bus to factory speeds. I still get fairly
> frequent (and sometimes dramatic) incorrect values.
> 
>         Now, I've checked the archives, and there are several references
> to the *CALIBRATION* options in LINT, however I'm unclear exactly which
> options I should use to increase the chances of the CPU being detected
> accurately. Here is the first bit of a verbose probe in case it's of use:
> 
> Calibrating clock(s) ... i586 clock: 150348976 Hz, i8254 clock: 1193249 Hz
> CLK_USE_I8254_CALIBRATION not specified - using default frequency
> CLK_USE_I586_CALIBRATION not specified - using old calibration method
> CPU: Pentium (150.34-MHz 586-class CPU)
>   Origin = "GenuineIntel"  Id = 0x52c  Stepping=12
>   Features=0x1bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8>

	Being the adventurous type, I decided to try the most obvious
suggestion, which was the CLK_USE_I586_CALIBRATION option. Well lo and
behold, it worked like a charm. :) I set that option in the kernel,
recompiled, and rebooted lots of times in a row (which was my most
reliable failure case previously). It consistently displayed the cpu
speed as 150.34, which I've come to see as "normal" since I installed
the overdrive chip. On 2 out of the 9 reboots it detected the speed as
150.35, which was fine with me. :) 

	So, now for the big test, will it handle my overclocking the bus?  Well
I'm VERY pleased to report that it did. I reset the jumper to clock the
bus at 33 Mhz instead of 30, and repeated the rebooting test. It
consistenly detected the speed as 166.20, and once as 166.22. So I'm now
a very happy camper. I'm running rc564 in the background so I'll have a
rough benchmark on the perfomance. 

	Which leads me to my final question, which is why this option not
included by default if you pick the 586 cpu option in the kernel config? 

	By the way, I was remiss in my previous post in not mentioning that the
failure to detect the cpu speed properly was the cause of many of the
dreaded calcru errors. There's lots of questions about calcru in the
archives, but almost no answers. The worse the variance in the clock
speed from what it should be, the more calcru errors I'd see during
normal operations. 

Hope this is helpful,

Doug

-- 
***         Chief Operations Officer, DALnet IRC network       ***
*** Proud operator, designer and maintainer of the world's largest
*** Internet Relay Chat server.  5,328 clients and still growing.
*** Try spider.dal.net on ports 6662-4    (Powered by FreeBSD)

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?35087471.A0736724>