Gentle persons:

First, a statement.

On my ASUS AT5NM10-I board (Intel Atom D510 CPU, 2GB RAM, yada yada 
yada) I followed in Charles Steinkeuhler's footsteps 
(http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Debian_Wheezy_Linux-Rt_Compile_LinuxCNC)
 
to build a 64-bit Debian Wheezy RT PREEMPT Linux system running the 
3.2.0-3-rt-amd64 kernel and Linuxcnc 2.6.0~pre. Such a build has given 
Charles some decent albeit not (yet) great latency numbers on several 
non-Atom boards.

My ASUS board has given me excellent latency results with what I'll call 
classic Ubuntu 10.04LTS LinuxCNC running the 2.6.32-122-rtai kernel: sub 
10us for both threads with Hyperthreading disabled in the BIOS and one 
cpu isolated during the boot process.

With the RT PREEMPT system, this board gives lousy results even running 
headless. Using latency-test, for some minutes I see the base (25us) 
thread showing a max latency of anywhere from 25us to 40us and the servo 
(1000us) thread 40us to 50us. Then, the servo thread pops a bit and the 
base thread pops a lot, to about 110us. At the same time, the kernel 
throws three lines to the console

"ERROR: Missed scheduling deadline for task 0 [nnnn times]
"Now is xxxxx.xxx, deadline is xxxxx.xxx
"Absolute number of pagefaults in realtime context: 1030"

This process repeats but not at regular intervals. Using latencyplot, I 
can see that, with nothing else running, both threads mostly show good 
latency numbers, typically < 10us, once we've settled down after 
invoking latencyplot. If I run a copy of glxgears, the servo thread 
latency gets jumpy but stays below about 40us. Running several copies of 
glxgears doesn't seem to cause any more damage, nor does invoking du or 
some other disk access-intensive command. Sooner or later, though, the 
above big-time event happens. Repeat ad nauseum.

I've done everything I can think of. I've diddled all available BIOS 
settings (this is not an enthusiast board; it has only a limited number 
of settings); stopped the kernel from loading just about any 
non-essential module; preventing many services from starting. No gdm, no 
X, no Intel i915 driver, no acpid, no alsa, no pulseaudio, yada yada yada.

About the only things I haven't tried are (1) trying Charles' suggestion 
of playing with cpusets, mostly because I don't understand them well 
enough yet to trust myself, (2) ripping out some more modules that 
relate to sound (with names snd*; alsa and pulseaudio stuff is already 
gone), mostly because I'm not sure who's loading them, and (3) redoing 
all this with a 32-bit Debian Wheezy, mostly because getting Debian 
Wheezy systems into this machine is a bore (the Wheezy installer is 
broken somewhere in the disk partitioning process and why should I be 
the one to fix it when others have been complaining forever).

Now, my question.

I'm wondering if my results are intrinsic to the Atom architecture or 
specific to the ASUS BIOS.

Has anyone with a different Atom board, preferably an Intel-branded 
board, loaded and tested Wheezy with Linux-RT and LinuxCNC? If so, 
what's your experience?

Regards,
Kent




------------------------------------------------------------------------------
Got visibility?
Most devs has no idea what their production app looks like.
Find out how fast your code is with AppDynamics Lite.
http://ad.doubleclick.net/clk;262219671;13503038;y?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to