sam sokolik
2017-07-04 22:22:27 UTC
I have been playing with linuxcnc for a long time... It has come a long
way.
Currently the RTAI folks seem to have issues developing.
Now there is RT_Preempt. Couple cool things.. It has been migrated to
the linux foundation. This means a lot eyes on it. It is also pretty
easy to build. I have done it quite a few times now. My experience is
that the out of the box rt_preemt has ok realtime performance.
Anywhere from 20 to 100us latency. Perfect for external interface cards
(mesa, pico and such). I have a computer that has decent enough
rt-preempt performance that it is running 50us base thread. (small emco
lathe - 100 line encoder for threading) I have been running this for
quite a while this way with no issues.
Why am I rambling...
Well - I have been playing with debian stretch and 4.9.0-3-rt kernel.
I booted our matsuura (j1900 quad core) which with no tweeking has aprox
100us latency. (it has been running mesa ethernet cards with rt_preempt
- no issues) Next I booted it with some kernel line tweaks. (checking
the hardware - processors 0,1 and 2,3 share cache. So I added
isolcpus=2,3 idle=poll
The latency on this system was phenomenal. It has been running for
hours now and still <6us
these numbers are as good or better than rtai. Could we, with some
tweaks, use rt_preempt for printer port configs and forget about rtai
for now? I have more computer hardware I can test - but this is pretty
awesome.
Good video explaining realtime
Rt-preempt even runs decently on my laptop. I have actually run test
and real machines with it. (don't mute the speakers though... causes
huge spikes)
sam
way.
Currently the RTAI folks seem to have issues developing.
Now there is RT_Preempt. Couple cool things.. It has been migrated to
the linux foundation. This means a lot eyes on it. It is also pretty
easy to build. I have done it quite a few times now. My experience is
that the out of the box rt_preemt has ok realtime performance.
Anywhere from 20 to 100us latency. Perfect for external interface cards
(mesa, pico and such). I have a computer that has decent enough
rt-preempt performance that it is running 50us base thread. (small emco
lathe - 100 line encoder for threading) I have been running this for
quite a while this way with no issues.
Why am I rambling...
Well - I have been playing with debian stretch and 4.9.0-3-rt kernel.
I booted our matsuura (j1900 quad core) which with no tweeking has aprox
100us latency. (it has been running mesa ethernet cards with rt_preempt
- no issues) Next I booted it with some kernel line tweaks. (checking
the hardware - processors 0,1 and 2,3 share cache. So I added
isolcpus=2,3 idle=poll
The latency on this system was phenomenal. It has been running for
hours now and still <6us
these numbers are as good or better than rtai. Could we, with some
tweaks, use rt_preempt for printer port configs and forget about rtai
for now? I have more computer hardware I can test - but this is pretty
awesome.
Good video explaining realtime
Rt-preempt even runs decently on my laptop. I have actually run test
and real machines with it. (don't mute the speakers though... causes
huge spikes)
sam