So, in an earlier message concerning my test of Michael's codebase on 
Xenomai:
> <...>
> The strange behavior is that as I increase the base period in 25us 
> steps I see both base and servo jitters first increase for several 
> steps then fall back somewhat to what seems to be a steady result at 
> longish base periods.
>
> Here's what I get for a series of two-minute tests, always with a 1ms 
> servo period.
>
> base period---max jitter (servo/base)
> 25us---5672ns/9734ns
> 50us---22037ns/32170ns
> 75us---24328ns/34338ns
> 100us---18712ns/30256ns
> 125us---17051ns/19064ns
> 150us---16775ns/19168ns
> 175us---14389ns/19667ms
> 200us---18403ns/21412ns
>
> I believe the last three or four sets are essentially equivalent.
>
> Does anyone understand why I'm getting this kind of behavior? It seems 
> to be repeatable. Is it an artifact of latency-test or is it real? 
> Were this a physical system, I'd wave my hands about being the system 
> being in saturation at the shortest periods, but here...?

First off, this is not an artifact of Michael's work with Xenomai, I 
have now been able to obtain similar results with the distributed 
LinuxCNC on RTAI.

I got to thinking I'd read something like this. Yep, turns out it's 
already described in the wiki, 
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?RealTime, from which I quote

> I saw some other cache related behavior a long time ago when doing 
> some latency testing. The latency results improved noticeably when I 
> lowered the thread period below some threshold. (I don't remember the 
> threshold period, it was at least a year ago.)
>
> I eventually realized that when I was running the thread very 
> frequently, the RT code never got pushed out of cache. When I 
> increased the period, other processes had enough time to replace the 
> RT code in cache between invocations of the thread.
>
This language has been in place since at least 2009. I don't know who 
contributed it. The historical documents are incomplete.

I tried loading up the system with CPU hogs (see the wiki) and was able 
to reduce my max-jitter numbers by 4us to 10us at the higher base 
periods and by only a little at the shortest base periods---as would be 
expected because the shortest base periods exihibit the smallest max 
jitters.

This behavior holds with one or two cpus isolated and with RTAI or Xenomai.

Regards,
Kent


------------------------------------------------------------------------------
LogMeIn Central: Instant, anywhere, Remote PC access and management.
Stay in control, update software, and manage PCs from one command center
Diagnose problems and improve visibility into emerging IT issues
Automate, monitor and manage. Do more in less time with Central
http://p.sf.net/sfu/logmein12331_d2d
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to