Priority Inversion

February 19, 2002

An amusing example of a lack of proper priority inversion handling from the LKML:

One mainframe at MIT was decomissioned in the early 70's and they found a "run only when idle" task that had been started around seven years earlier and still hadn't gotten any time slices because the server had never been completely idle. (The pathfinder mars probe kept rebooting for a similar reason: a vital system task was getting starved while it held a semaphore that other stuff needed, and not scheduling before timeouts caused a reboot.