Re: RFC on writel and writel_relaxed
From: Sinan Kaya <hidden>
Date: 2018-03-24 15:06:57
Also in:
linux-rdma
From: Sinan Kaya <hidden>
Date: 2018-03-24 15:06:57
Also in:
linux-rdma
On 3/23/2018 9:22 PM, Benjamin Herrenschmidt wrote:
quoted
Yes, I'm %100 sure. The answer is both writel() and barrier() generates a write barrier instruction. I found this by searching the kernel disassembly for back to back "dsb st" instruction.I'm not sure you are correct here. As I wrote below, the implementatoin of writel() contains an *explicit" memory barrier which is completely different to a barrier() instruction:
OK. I did some directed tests and I'm taking it back. barrier() is a compiler reordering statement only. What got me confused was this sequence: wmb() barrier() writel() I thought that the second barrier instruction was coming from barrier() but it was actually coming from writel(). -- Sinan Kaya Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc. Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.