[$] Short waits with umwait If a user-space process needs to wait for some event to happen, there is a
whole range of mechanisms provided by the kernel to make that easy. But
calling into the kernel tends not to work well for the shortest of waits
— those measured in small numbers of microseconds. For delays of this
magnitude, developers often resort to busy loops, which have a much
smaller potential for turning a small delay into a larger one.
Needless to say, busy waiting has its own disadvantages, so Intel has come up
with a set of instructions to support short delays. A
patch
set from Fenghua Yu to support these instructions is currently working
its way through the review process.