On Wednesday 14 November 2007 17:52, David Brownell wrote:
Upstream, all spinlocks prevent preemption. But these ones
are raw locks rather than normal locks probably because that
they are trivially an innermost and correct lock. It's not
going to be very helpful to bloat it and slow it down when
debugging is turned on (atomic operations are _very_ frequent).
For -rt, who knows. They probably don't even run on parisc
or sparc so don't really care at this point.
For upstream, there is little reason to switch them over, and
some reasons not to.
I don't think you have valid reasons. Also, core/arch code has
some different considerations to driver code.
Internal implementation details, as in: spin lock code has to
disable preemption otherwise they deadlock; get_cpu_var() has
to disable preemption to give coherent access to the variable
etc.
-