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