Sat Jan 18 18:09:57 CET 2020

Priority levels

Priorities do not seem make sense without pre-emption.

Without pre-emption, there is only external in->out delays, which in
theory could be sped up by not running low priority event paths.

Is it so that a high-priority task can only become runnable through an
external interrupt?  Seems so.

How to make scheduler pre-emptable?  All list updates need to be
atomic.  That's about it.  The procesor's interrupt priority can then
be used to re-enter the scheduler.  However, this does not solve
priority inversion.

Hairy problem.  I likely won't need this in regular data-shuffling
applications.  I can see it being important in hard real-time
scenarios.  Maybe just postpone?