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.

Reply via email to