Hi,
I am running linux on a SA-1110 processor. I have configured the kernel
to use HZ=400 instead of 100 to increase scheduling.
I am noticing now that when you use udelay() in the kernel (from a
device driver) it takes 1/4 th of the time it is supposed to. With
HZ=100 udelay behaves fine. Has anyone noticed this behaviour before?
I am currently looking at udelay implementation in arch/arm/lib/delay.S
and cannot figure out how the delay is done. There is a comment in that
file which states: loops = (r0 * 0x10c6 * 100 * loops_per_jiffie) /
2^32. Now I couldn't dissemble the above expression from the code.
I have also noticed that there is a bug in /proc/cpuinfo node where
Bogomips is specified.
from file: /arch/arm/kernel/setup.c function: int get_cpuinfo(char *
buffer)
p += sprintf(p, "BogoMIPS\t: %lu.%02lu\n",
loops_per_jiffy / 500000,
(loops_per_jiffy / 5000) % 100);
believe it should be:
p += sprintf(p, "BogoMIPS\t: %lu.%02lu\n",
loops_per_jiffy / (500000 /HZ),
(loops_per_jiffy / (5000/HZ)) % 100);
Thanks
Jaspreet
_______________________________________________
http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm
Please visit the above address for information on this list.