Hacker News new | ask | show | jobs
by RossBencina 2377 days ago
I agree, there are operating systems where few guarantees are made about protection from priority inversion, at least not without specific programmer intervention. As a programmer you need to be aware that priority inversion can be a thing.

However, this has no bearing on whether or not priority inversion is a "solved problem". "Solved problem" generally means that there are well known, widely studied technical solutions to a problem. My understanding right now is that priority inversion is a solved problem -- it is a standard topic in any introductory textbook on real-time systems with solutions that I stated. But maybe I'm wrong -- certainly the author seems to think so -- hence my question stands: I would like to understand why priority inversion is not a solved problem.

3 comments

Sorry to double-reply, but the paper I was thinking of was probably [0]

It seems very informative. Doesn't appear to be peer-reviewed, mind.

[0] http://www.cse.uaa.alaska.edu/~ssiewert/a320_doc/Yodaiken-20...

> hence my question stands: I would like to understand why priority inversion is not a solved problem.

I believe it's because although complete solutions do exist, they have prohibitive overheads.

Annoyingly I can't find the relevant paper I'm thinking of.

> I would like to understand why priority inversion is not a solved problem.

Maybe I just was not careful enough in choosing this phrasing when writing the article.

Do you think it would make sense if I change "but it's far from being solved once and for all." to "each of them with different upsides and downsides."?

Trade offs yes. I think I understand now that you meant that it is common that application-level priority inversion is not automatically avoided by the OS -- programmers still need to worry about it. Even if theoretical solutions exist, they may not be available on your chosen platform, or they may need to be manually configured (e.g. PTHREAD_PRIO_INHERIT).
Thanks. I committed a change (https://github.com/Dobiasd/articles/commit/8ac8db11eb95de688...). Feel free to open a PR if you have a better phrasing in mind. :)