Re: announce (experimental, i386 only): `nanokernel' #2 (PPSkit)

Robert B. Hamilton (rbh041a@unix.tamu.edu)
Tue, 23 Feb 1999 06:47:35 -0600 (CST)


On Tue, 23 Feb 1999, Ulrich Windl wrote:
> The 2^28 was my attempt (after little thinking) to avoid the
> overflow, but it still overflowed, so I disabled it. The problem with
> the limited number of bits is that you either have high precision or
> wide range, bot not both.

OK, right. The precision is still very good anyway.

> You haven't changed the calibrate_tsc routine. Does it mean it works
> for you?

Yep. For the record it reports a 267280004 Hz processor for a K6-266
The printk quotients are micro=16069168, nano=1004323704, both consistent.

>So maybe my CPU (100MHz Pentium) is too slow. As indicated
> in the comment I had thought it should do from 64 MHz on (thus
> including a Pentium 75). I don't have the code here now, but have I
> missed something obvious (like the direction of the shift)?

The overflow was probably not in the calibration at all, but in
time_init() just after the calibration, where cpu_hz was calculated.
With the 4 shifts in the wrong direction it gives a factor of 256 too
high. So 256*100*10^8 is much larger than 2^32.

Not so obvious though, since the difference is that the shifts are to
make a change in the representation instead of a change in units.

-- Robert

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/