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
