Re: BogoMips

Richard B. Johnson (root@chaos.analogic.com)
Wed, 24 Jun 1998 21:12:15 -0400 (EDT)


On Wed, 24 Jun 1998, Gordon Oliver wrote:

> ... Richard B. Johnson said ...
> >This subject has come up so may times I thought I would take a look
> >at it. Most know that BogoMips stands for "bogus" and is just a number
> >obtained to calibrate short delay-loops. However, some are disturbed
> >that recompiling the kernel will sometimes result in a different
> >number. Even though this number means nothing to the end-user, to
> >help prevent it from changing, I have provided this patch. It should
> >patch cleanly on most recent kernels.
> <snip>
>
> you might try reading the archives as well. This has been hashed over
> several times. Different processors have different effects, and in the
> end it was determined that pretty much any choice of offset/alignment caused
> "bogomips jitter" on some processor. E.g. a pentium will slow down if
> the loop is in something like the first 16 bytes of a page (I don't
> remember the exact number or if it was first/last...). Thats why
> __delay got moved to a routine, instead of being inline.
> -gordo

I have been reading about this for well over a year. The __delay() routine
got moved to a fixed place rather than some inline code. The problem is
the fixed place did not align the actual delay loop to some place stable.
Therefore, with a different sized kernel, or with someone playing with
-malign on the gcc command-line, you get a different BogoMips reading.
The patch fixes this.

Cheers,
Dick Johnson
***** FILE SYSTEM MODIFIED *****
Penguin : Linux version 2.1.105 on an i586 machine (66.15 BogoMips).
Warning : It's hard to remain at the trailing edge of technology.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu