On Sat, 17 Dec 2005, Linus Torvalds wrote:

> Of the other architectures you list, only ARM is really important. And no, 
> arm doesn't do swap. It does LL/SC (except they call it "ldrex/strex", 
> which I assume stands for "load/store with reservation and X just because 
> X is cool. Yeah, we're cool" (*)).

Well, if you really want to be honest, you have to consider that the 
ldrex/strex instructions are available only on ARM architecture level 6 
and above, or in other words with only about 1% of all ARM deployments 
out there.  The other 99% of actual ARM processors in the field only 
have the atomic swap (swp) instruction which is insufficient for 
implementing a counting semaphore (we therefore have to disable 
interrupts, do the semaphore update and enable interrupts again which is 
much slower than a swp-based mutex).


Nicolas

Reply via email to