Re: spinaphore conceptual draft (was discussion of RT patch)

Steven Rostedt
2005-05-28T02:03:42Z

One thing you are forgetting is that we are not just talking about the
latencies of contention. We are talking about the latency of a high
priority process when it wakes up to the time it runs. Most of the time
a spin lock stops preemption, either with (CONFIG_PREEMPT)
preempt_disable or simple turning off interrupts. With Ingo's mutexes,
the places with spin_locks are now preemptable. So there is probably
lots of times that it would be better to just spin on contention, but
that's not what Ingo's spin_locks are saving us. It's to keep most of
the kernel preemptable.

The priority inheritance of spin_locks is simply there to protect from
priority inversion.

-- Steve