"Uspace plus", which I originally called "uspace+rtai", is a
modification of uspace realtime to support a total of 4 modes
with a single build (depending on the availabiliy of headers for the
RTAI and Xenomai modes):
* LXRT realtime with RTAI kernel
* "Posix Skin" realtime with Xenomai kernel
* "Posix" realtime with PREEMPT-RT kernel
* Non-realtime with vanilla kernel
This all works great on my test machine, a i7-4790K with Debian Jessie,
and the following kernels:
3.18.0-1-rtai-amd64 (highlab.com)
3.18.20-xenomai-2.6.5 (self-built)
4.1.0-0.bpo.2-rt-amd64 (snapshot.debian.org)
4.4.0-trunk-rt-amd64 (self-built)
4.6.0-0.bpo.1-rt-amd64 (snapshot.debian.org)
so I am ready for testers and for review of the patches. I *will*
continue rebasing the branch until its inclusion in the master branch,
so take care when fetching new versions.
Known limitations include
- hm2_eth and hm2_spi will only work with PREEMPT-RT realtime, since they
make Linux syscalls from a realtime context. (this problem is not
detected, you'll just probably not get good RT performance)
- until buildbot is reorganized, pre-built linuxcnc-uspace packages
will not include RTAI support
- It's not clear what range of RTAI versions can be supported with
the same binary.
- Xenomai kernels are "build it yourself", though their directions are
clear and easy to follow.
The diff relative to our master branch at the moment looks big:
59 files changed, 18564 insertions(+), 249 deletions(-)
this is because in order to support older Linux distributions, I include
a copy of some newer boost headers. Ignoring this, the diff is much
smaller:
22 files changed, 890 insertions(+), 242 deletions(-)
each new RTOS is under 200 lines of code. (is there an alternative to
boost's lockless queue that would be in all Linux distros we are
targeting for master branch, and not RTOS-specific?)
The code is on git.linuxcnc.org and github.com/linuxcnc/linuxcnc in
branch jepler/master/uspace-plus and
https://github.com/LinuxCNC/linuxcnc/pull/110
When you configure linuxcnc, specify --with-relatime=uspace and look for
which RTOSes were detected to support:
checking for realtime API(s) to use... uspace+lxrt+xenomai
If you give this a try, or if you review the changes and have any notes
for me, please put them on the pull request
https://github.com/LinuxCNC/linuxcnc/pull/110 or on this mailing list.
Jeff
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers