The CPU frequency is known to the Linux kernel. For example:
> CPU revision is: 00019374 (MIPS 24Kc)
> Atheros AR7161 rev 2, CPU:680.000 MHz, AHB:170.000 MHz, DDR:340.000 MHz
> ...
> Calibrating delay loop... 452.19 BogoMIPS (lpj=2260992)
Unfortunately that information is not available from userspace:
> cpu model : MIPS 24Kc V7.4
> BogoMIPS : 452.19
This makes it difficult to use CPU timers (rdhwr) from user space
applications.
Is there any reason not to publish mips_hpt_frequency in /proc/cpuinfo ?
Earl
--- proc.c 2011-01-17 14:05:16.397444347 -0800
+++ /tmp/proc.c 2011-01-27 20:56:18.807454356 -0800
@@ -43,6 +43,9 @@
seq_printf(m, "BogoMIPS\t\t: %u.%02u\n",
cpu_data[n].udelay_val / (500000/HZ),
(cpu_data[n].udelay_val / (5000/HZ)) % 100);
+ seq_printf(m, "timer frequency\t: %u.%03u\n",
+ mips_hpt_frequency / 1000000,
+ mips_hpt_frequency % 1000000 / 1000);
seq_printf(m, "wait instruction\t: %s\n", cpu_wait ? "yes" : "no");
seq_printf(m, "microsecond timers\t: %s\n",
cpu_has_counter ? "yes" : "no");
|