Hi,
We are using RedHat 6.0 kernel on an AMD SC400 66Mhz board with
two serial ports and an ethernet port. I am seeing following
weirdness for compute intensive pieces of code:
double x = 3.4;
doubly y = 5.67;
for (long i=1; i<10000; i++) {
double z = x+y;
}
The above piece of code takes 2 seconds to 3 seconds.
But if I surround the above piece of code with: asm("cli") and asm("sti")
i.e. turn of interrupts, it takes only 9 milliseconds.
So I thought some of the serial or ethernet devices are generating too
many interrupts. But looking at /proc/interrupts did not show any abnormal
activity. But I went ahead and disabled all the devices except ethernet
and timer. But I see the same behaviour.
The HZ constant is set to standard 100 for intel platforms. This means
that the timer interrupt should fire every 10 milliseconds. But looking
at /proc/interrupts tells me that it is firing every 1 millisecond.
Is there a place I can configure it? Is timer interrupt latency great on
linux to see the above mentioned behaviour? Is there way I can get mu
computation down to 9 milliseconds without turning of interrupts?
Thanks
--
Pawan Singh
[EMAIL PROTECTED]
650-404-0213
--
To unsubscribe from this list, send a message to [EMAIL PROTECTED]
with the command "unsubscribe linux-embedded" in the message body.
For more information, see <http://waste.org/mail/linux-embedded>.