
28 Mar
2011
28 Mar
'11
4:58 p.m.
Phil Endecott wrote:
One other issue is that even when enabled, SWP might not have the required memory barrier semantics on the multi-processor systems, i.e. you might need to put explicit barrier instructions either side of it.
Yes, you may be right about this. It could be the lack of a memory barrier (DMB) that causes the spinlock to not work properly. (I'm not quite sure what exactly DSB and ISB can be used for - maybe one of those could be enough.)