Re: [PATCH 1/19] MUTEX: Introduce simple mutex implementation

Steven Rostedt
2005-12-17T03:13:36Z

On Fri, 16 Dec 2005, Linus Torvalds wrote:
>
> On Fri, 16 Dec 2005, Joe Korty wrote:
> >
> > The Mars Pathfinder incident is sufficient proof that some solution to
> > the priority inversion problem is required in real systems.
>
> Ehh.
>
> The Mars Pathfinder is just about the worst case "real system", and if I
> recall correctly, the reason it was able to continue was _not_ because it
> handled priority inversion, but because it reset itself every 24 hours or
> something like that, and had debugging facilities..
>
> The _real_ lesson you should take away from it is not that priority
> inheritance is a good solution to priority inversion, but that having a
> failsafe switch when everthing goes wrong is critical. You don't know
> _what_ bug you'll encounter.
>
> The bug itself could have been solved without priority inheritance,
> although I think in this case enabling that in VxWorks was the particular
> solution to the problem as being the least invasive.
>
> Personally, I don't care what user space does. If some app wants to use
> priority inheritance to solve its bugs, that's fine. But it's like
> recursive locks: it's generally a _bandaid_ for bad locking. I definitely
> don't want the kernel depending on either.

So how does one handle real-time tasks that must contend with locks within
the kernel that is shared with low priority tasks? Do you prefer the RTAI
approach?

-- Steve