• HomeBoards
  • RulesRules
  • HelpHelp
  • WikiWiki
  • Donate

Author Topic: Cpuinfo  (Read 1459 times)

David Knight (OP)

  • Posts: 577
« on: February 04, 2016, 09:50:51 am »
I checked the contents of /proc/cpuinfo today and discovered that the stated speed in bogomips was 792.57. I know that bogomips != clock speed but when I checked online I found that the jz4770 seemingly performs better on the Novo 7 Paladin:


[email protected]:/ # cat /proc/cpuinfo
system type             : JZ4770
processor               : MIPS-compatible processor JZ4770
cpu model               : Ingenic XBurst
BogoMIPS                : 1001.47
wait instruction        : yes
microsecond timers      : no
tlb_entries             : 32
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 1, address/irw mask: [0x0fff]
ASEs implemented        : mxu
shadow register sets    : 1
core                    : 0
VCED exceptions         : not available
VCEI exceptions         : not available
Features                : fpu mxu
CPU implementer         : Ingenic
CPU architecture        : MIPS 
Hardware                : npm702
Revision                : 0005
Serial                  : 0000000000000000
EFUSE0                  : e772061f
EFUSE1                  : 02c05011
EFUSE2                  : 094e0000
EFUSE3                  : 8a54c84f
EFUSE4                  : 00000000
EFUSE5                  : 00000000
EFUSE6                  : 00000000
EFUSE7                  : 00000000

Does this mean that cpuinfo is incorrectly reporting the processor speed, that the gcwzero is underclocked or that I am misinterpreting the data?

/var/log/messages reports CPU speed is 996MHz but I'm puzzled by this line:

Code: [Select]
Calibrating delay loop... 792.57 BogoMIPS (lpj=1585152)
Is it possible to disable or reduce the length of this "delay loop"?
« Last Edit: February 04, 2016, 10:15:12 am by David Knight »


  • Posts: 1718
    • My devblog
Re: Cpuinfo
« Reply #1 on: February 04, 2016, 10:27:38 am »

As it says on the tin, "Bogo" MIPS means "Bogus number of million instructions per second".
It does not represent the actual CPU frequency, nor the CPU performance.

For a technical explanation, see https://github.com/paulburton/linux/commit/0d72377bd615d00e99733adc0d37e6a2373fcde7
Basically, the Android kernel running on the Paladin tablet disables an optimization of the CPU to make short loops run faster. In the real world, short loops are only used when polling hardware registers (where performance doesn't matter at all) or for calculating the bogoMIPS.

We do not have this feature enabled in OpenDingux, on purpose, as it would harm performance more than anything else.

David Knight (OP)

  • Posts: 577
Re: Cpuinfo
« Reply #2 on: February 04, 2016, 11:05:17 am »
Thankyou for the explanation, I have been looking into delay loop calibration and now understand it is linked to the udelay function.

I just found this quote on Bogomips:
BogoMips are Linus's own invention. The linux kernel version 0.99.11 (dated 11 July 1993) needed a timing loop (the time is too short and/or needs to be too exact for a non-busy-loop method of waiting), which must be calibrated to the processor speed of the machine. Hence, the kernel measures at boot time how fast a certain kind of busy loop runs on a computer. "Bogo" comes from "bogus", i.e, something which is a fake. Hence, the BogoMips value gives some indication of the processor speed, but it is way too unscientific to be called anything but BogoMips.

The reasons (there are two) it is printed during boot-up is that a) it is slightly useful for debugging and for checking that the computers caches and turbo button work, and b) Linus loves to chuckle when he sees confused people on the news.'

Although not related, I am wondering if you could explain why the output of /proc/interrupts seemingly gives a high number of interrupts for the "jz4770-touchscreen" which of course the gcwzero does not have.
« Last Edit: February 04, 2016, 11:11:09 am by David Knight »


  • Posts: 1718
    • My devblog
Re: Cpuinfo
« Reply #3 on: February 04, 2016, 11:32:27 am »
The analog stick is connected to the touchscreen pins of the SoC  ;D