Hi Charles,

Glad I'm not alone working on this!

> I had lots of failed hunks when I applied this patch to the latest
> LinuxCNC from git, but I didn't sort through to see how serious they
> were to try and fix.  Did the patch apply cleanly for you?

The patch didn't apply cleanly, but most failed hunks were easy fixes. 
The rtapi/linux_common.h file had to be updated to match the changes in 
the rtapi_msg_handler code; quite trivial.

I ended up messing around a long time (mostly needlessly) with the 
configure.in and handling the mathtest.c business, partly because I 
don't understand yet where exactly that fits in.  (I found a bug where a 
failed compile or link is ignored; I'll submit a patch separately for 
that.)  The closest I got was to compile mathtest.c as though it were a 
kernel module.  That failed during compile, since floating point 
operations are disallowed in the kernel (they use the SSE register, 
which must stay clean for userspace), so I finally told configure to 
bypass the libm detection and default to system libm when the realtime 
system is linux.  I made a note to go back and fix that once I 
understand more fully how linuxcnc uses the rt features.

> I then tried pulling the latest from the bitmuster folk's git archive:
> http://www.bitmuster.org/projects/emc.html
> http://gitorious.org/emc-rt-preempt
>
> It recognizes I have a kernel with the rt-preempt patches (Debian
> Wheezy 3.2.0-2-rt-amd64), but ./configure barfs because the
> rtl-configure script isn't around.   I'm currently sorting through what
> configure is trying to extract from rtl-configure and what the proper
> responses should be, as well as trying to figure what's changed
> between the big rt patch set for 2.x and the mostly mainlined 3.x
> stuff.  The whole /usr/realtime-* directory seems to be non-existent
> in the newer versions, or I'm missing something I should have installed.

I assume that any messages recognizing the rt-preempt kernel at compile 
time must be something the bitmuster folks added, unless I missed 
something in Michael's patches.  In my original research, I remembered 
seeing that /usr/realtime* was used by the first (pre-RTAI) versions of 
EMC2 for the rt-linux patch (it continually confuses me that rt-preempt 
is sometimes called 'linux-rt', aargh!).  The CONFIG_PREEMPT_RT patch 
(aka 'linux-rt') is completely different with no common ancestry, and 
there is no /usr/realtime* directory, and the tools for manipulating the 
rt features are different.  Excuse me if I'm repeating something 
everyone knows, but this simple-seeming thing caused me some trouble.

Would you mind pasting the messages indicating that rt-preempt is detected?

> What kernel(s) and arch(s) are you trying to work with on the Fedora
> side?  Have you tried amd64, or just x86?

I'm only working on amd64 ATM.  I'm using FC16 and the PlanetCCRMA 
kernel based on 3.0.17.  The standard FC16 kernel is 3.3.0, so CCRMA is 
a bit behind.  Ultimately I'd like to have this running on el6 with the 
RH-supported rt-patched kernel, so that'll be back to 2.6.33.

I'd be happy to supply you with what I have so far.  In fact, it would 
be easy to supply three patches parallel to Michael's patches, but that 
would apply cleanly to HEAD.  I'll stick them up on my web server 
tonight and send a link.

        John

------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to