On 02/06/2013 09:45 AM, Charles Steinkuehler wrote:
> [...] you can run a machine with a PREEMPT_RT kernel, and one is
> available pre-packaged in Debian Wheezy (and perhaps other
> distributions, as well).  Performance is not as good as RTAI or
> Xenomai, but using a distribution provided kernel is a pretty big plus.

An official RT kernel was behind my entire motivation for reviving
Michael Buesch's 2009 PREEMPT_RT patches, which would run on the
official RedHat MRG kernel.

The idea was to create official LinuxCNC packages for EPEL/EL6 (just
'RedHat' for Debian folks who don't care about the ins and outs) so
users could automatically install it and the required RT kernel.  But it
turned out only the simulator could be packaged, since package
requirements for a PREEMPT_RT kernel couldn't be satisfied by EPEL/EL6
repos, and the MRG repo is separate.

Package *build* dependencies are not part of the problem.  Unlike the
other RT thread styles, the PREEMPT_RT threads need no special headers
present at build time.

The problem is the binary package requirements.  With the RTAPI
cleanups, PREEMPT_RT and posix/sim threads are merged.  The only
difference between them is latency overrun error reporting, currently
enabled or disabled at build time.  It makes no sense to build a binary
package with latency error reporting but no requirement for an RT kernel.

The unified binary skirts this problem.  Latency error code will be
enabled or disabled at run time rather than build time.  When running
under the standard RedHat kernel, no RT capabilities will be detected
and the code will always be disabled, running in posix/sim mode.  No
special package requirements needed in this case.

The very same binary package will enable the latency error code, at run
time, after detecting a PREEMPT_RT kernel from any source, whether the
official (but separate) MRG repo, the quasi-official PlanetCCRMA repo,
or somewhere else.  Still no special package requirements!

With the package requirements problem out of the way, a RT-capable
LinuxCNC can be packaged for EL6 and Fedora.  To actually run in RT
mode, some extra step will still be needed to install a PREEMPT_RT
kernel from a separate source, but I think that's a pretty small hurdle.

        John

------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013 
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to