"Zeugswetter Andreas SB SD" <ZeugswetterA(at)spardat(dot)at> writes:
> I think that the culprit may also be the S_UNLOCK (use _clear_lock) ?
If isync is anything like the MB instruction on Alpha (ie, force memory
updates to occur before proceeding), then it must be used in S_UNLOCK
as well as S_LOCK. All updates done within the spinlocked section must
reach memory before another processor is allowed to acquire the lock.
regards, tom lane