Captain's Universe Home
Captain's Universe Home
Cosmic Ray Muon DetectorTeleGarden Pages
Time on MarsBryophyllum Plants
Jupiter Radio AstronomyAncient Pages
Salzburg Tourist GuideEarth Magnetometer
  H O M E     AJAX & MORE     LINUX & MORE     RTAI     XENOMAI     ADEOS IPIPE      
    JAVA & BROWSERS     *NIX     ELECTRONICS     REVIEWS     ARTEMIA     FAIRY SHRIMP      


Xenomai: High latencies with SMI not disabled

If you have a fairly new motherboard with Intel chipset (e.g. Intel 82845 845 (Brookdale) is a very common one), it most likely has SMI (System Maintenance Interrupt). SMI is a real-time killer and to avoid latencies of several 100 microseconds up to a few milliseconds, you need to disable them.


Typical SMI interrupt, seen while running the testsuite/latency example of Xenomai 2.1:
RTD|        2019|        2358|        4643|       0|        1989|        5670
RTD|        2265|        2358|        5751|       0|        1989|        5751
RTD|        1953|        2402|      248014|       2|        1953|      248014
RTD|        2071|        2358|        4275|       2|        1953|      248014
RTD|        2299|        2391|        4259|       2|        1953|      248014


While configuring the kernel, you need to set the SMI options.

# make menuconfig
Real-time sub-system  ---> 
	Machine  --->
		SMI workaround  ---> 
			[*]   Enable SMI workaround 
			[*]     Globally disable SMI (NEW)    
In the .config file:
CONFIG_XENO_HW_SMI_DETECT=y
CONFIG_XENO_HW_SMI_WORKAROUND=y
CONFIG_XENO_HW_SMI_ALL=y



If you do not want to globally disable SMI, or if you need one of those SMI's, deselect "Globally disable SMI" and choose from the other options:
 [ ] Disable SMI detection (NEW)          
 [*] Enable SMI workaround (NEW)          
 [ ] Globally disable SMI (NEW)           
 [ ] Enable Intel-Specific USB2 SMI (NEW) 
 [ ] Enable legacy USB2 SMI (NEW)         
 [ ] Enable periodic SMI (NEW)            
 [ ] Enable TCO SMI (NEW)                 
 [ ] Enable microcontroller SMI (NEW)     
 [ ] Enable APM SMI (NEW)                 
 [ ] Enable legacy USB SMI (NEW)          
 [ ] Enable ACPI BIOS SMI (NEW)  


Check the kernel log file for Xenomai SMI messages.
If everything went well you'll find a message like this:
Xenomai: Intel chipset found, enabling SMI workaround.
If something went wrong (either your chipset is not supported) or you didn't disable SMI in the config, you see this:
Xenomai: Intel chipset found and SMI workaround not enabled,
	you may encounter high interrupt latencies. 
-or the newer message-
Xenomai: Intel chipset found but SMI workaround not enabled (check
CONFIG_XENO_HW_SMI_WORKAROUND). You may encounter high interrupt latencies!


NOTE: Since Xenomai 2.1, everything is compiled into the kernel by default. That means there are no modules - and there are no messages in the kernel log, when you e.g. start one of the testsuite examples, since no kernel modules are loaded or unloaded. That also means that the message mentioned above, appears during booting and not when the xenomai modules are loaded (like in xenomai 2.0).

Last-Modified: Sat, 04 Feb 2006 20:40:42 GMT

Google
 
Web www.captain.at
go to top
© 1996-2010 . All rights reserved.
No reproduction, distribution, publishing or transmission of the copyrighted materials at this site is permitted. Policy
go to top