Query about loops_per_jiffy

Alessandro Rubini rubini-list at gnudd.com
Tue Jan 19 03:21:19 EST 2010


> (loops_per_jiffy * HZ)/1000,000   will give a BogoMips value.

No, it will give a BogoLips (loops per second). A loop is two instructions,
in ./arch/arm/lib/delay.S (function __delay) called by init/calibrate.c .
To have bogomips you need to multiply by two.

> then why calibrate_delay do it like the following:
> 	printk(KERN_CONT "%lu.%02lu BogoMIPS (lpj=%lu)\n",
> 			loops_per_jiffy/(500000/HZ),
> 			(loops_per_jiffy/(5000/HZ)) % 100, loops_per_jiffy);

It's correct, using normal integer aritmetics care.

/alessandro



More information about the linux-arm-kernel mailing list