Here's my take, which may be as old and tired as I am.

The real issues in RT vs. not RT is not one of standard process scheduling.
There are many knobs and hooks that can control that. The real problem is
in the kernel and drivers, where you can and often have to lock out
interrupts. If those are not designed to work correctly and cooperatively,
things stop being RT. When the person writing the graphics card driver is
told to get as much performance as they can, they often stop thinking about
how polite they are to other time critical things. They have almost no
incentive to be careful and lots of incentive to do what makes things go
the fastest.

One issue in particular that becomes difficult is spin locks for
multiprocessor kernels. They have to deal with the memory access system and
adding complexity in these has dramatic system throughput impacts even when
code branches are not executed. I am not a multiprocessor kernel expert but
I have worked with a few. Small differences in how the locking works can
raise and lower system throughput by 10%. Hard to sell adding things to the
generic kernel that slow everyone down and are only useful to a small
percentage of users.

This work was from 20 years ago, but I know of nothing that has changed in
what OS locks need to do that change the impact of this kind of locking.
Improving lock delays is one of the biggest things that OS designers do and
they spend years on it.


jerry


On Wed, Mar 16, 2016 at 12:11 PM, John Dammeyer <jo...@autoartisans.com>
wrote:

> So how is that different from a non pre-emptive RTOS kernel?
>
> My understanding, and it's very superficial, is that the real time
> component
> of linux puts a scheduler in front of the basic LINUX kernel.  So now the
> micro-stepping or DC-Servo/encoder support can get predictable low latency
> response to events.
>
> Building that into the kernel so that an application like LinuxCNC can
> acquire the resources to get the same level of access above other hardware
> seems obvious.  For a non LinuxCNC system perhaps the video or network or
> serial port driver will want higher priority than default.  That's a system
> configuration issue.  Not whether the scheduling by the kernel is hard real
> time or soft multi-threaded.
>
> John Dammeyer
>
>
>
> > From: bari [mailto:bari00...@gmail.com]
> > It only sort of does. If a kernel or X dev decides to access hardware
> > directly to get his project done he probably will. Unfortunately there
> > is no kernel police and no really agreed upon rules that they explicitly
> > follow.
> >
> > On 03/16/2016 12:10 PM, John Dammeyer wrote:
> > > But see here's where I'm confused.  If Linux already provides
> priorities
> of
> > > tasks:
> > > http://www.thegeekstuff.com/2013/08/nice-renice-command-examples/
> > > then the LinuxCNC as a task can run higher than anything else.
> > > If the motion/encoder control is offloaded to a device driver, which
> > should
> > > have even higher priority then where does the real time kernel of the
> > > LinuxCNC fit in?
> > > John Dammeyer
> > >
> > >
> >
> >
> >
>
> ----------------------------------------------------------------------------
> --
> > Transform Data into Opportunity.
> > Accelerate data analysis in your applications with
> > Intel Data Analytics Acceleration Library.
> > Click to learn more.
> > http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
> > _______________________________________________
> > Emc-users mailing list
> > Emc-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/emc-users
>
>
>
> ------------------------------------------------------------------------------
> Transform Data into Opportunity.
> Accelerate data analysis in your applications with
> Intel Data Analytics Acceleration Library.
> Click to learn more.
> http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
> _______________________________________________
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users
>



-- 
Jerry Scharf
FINsix IT
650.285.6361 w
650.279.7017 m
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to