程序集 – 顺序和障碍:在PowerPC上对’lwsync’的x86上的等效指令是什么?

我的代码很简单,如下所示.我发现rmb和wmb用于读写,但没有找到一般的one.lwsync可用于PowerPC,但x86的替代品是什么?提前感谢.

#define barrier() __asm__ volatile ("lwsync")
...
    lock()
    if(!pInst);
    {
        T* temp=new T;
        barrier();
        pInst=temp;
    }
    unlock();

最佳答案 rmb()和wmb()是Linux内核函数.还有mb().

x86指令是lfence,sfence和mfence,IIRC.

点赞