System management interrupt
Emmanuel Pacaud
emmanuel.pacaud at lapp.in2p3.fr
Tue Nov 14 06:56:30 CST 2006
Hi,
I'm working on a realtime setup based on rtai/linux running on a dell
precision workstation 690 dual xeon.
When measuring execution time of a real time interrupt handler (which
means all interrupts are disabled), it looks like sometimes execution of
interrupt handler code is interrupted for 10 µs.
That measurement is done with a code that looks like:
t_start = rdtsc ();
udelay(5);
t_stop = rdtsc ();
where (t_stop - t_start) distribution has a peak centered at 5 µs, and a
smaller peak at 15 µs.
Since all interrupts are disabled, our assumption is this issue come
from a SMI.
That's something discussed in rtai documentation, which explains we have
to disable SMI in order to obtain good real time performances.
I've tried to unset the GBL_SMI_EN bit in LPC Interface Bridge SMI_EN
Register, but without success (the second peak is still there).
Here are my questions:
Is the assumption of a SMI interrupt blocking the execution of a real
time interrupt handler code reasonnable ?
If so, does someone knows if it's possible to disable SMI interrupts on
a dell precision 690, and if so, how ?
If not, what could be the cause of what the lengthened execution time ?
Regards,
Emmanuel.
More information about the Linux-Precision
mailing list