320 Subj : Re: YALFAm (Yet Another Lock Free Approach, maybe) To : comp.programming.threads From : Chris Thomasson Date : Tue May 17 2005 04:12 am >> it can use the "more" lightweight mfence instruction... >> > Instructions. You need an additional membar for the release semantics if > you > are storing into a non null hazard pointer. So, for x86 SMR implmentation: ..align 16 ..globl ac_i686_lfgc_smr_activate ac_i686_lfgc_smr_activate: movl 4(%esp), %edx movl 8(%esp), %ecx ; you would need to add an extra mfence right here ; mfence ; before the compare loop? ac_i686_lfgc_smr_activate_reload: movl (%ecx), %eax movl %eax, (%edx) mfence cmpl (%ecx), %eax jne ac_i686_lfgc_smr_activate_reload ret Humm, this changes things... . 0