On Thu, May 09, 2019 at 11:05:42PM -0700, Kai-Heng Feng wrote: > Yes, that’ what I was told by the NVMe vendor, so all I know is to impose a > memory barrier. > If mb() shouldn’t be used here, what’s the correct variant to use in this > context?
I'm afraid the requirement is still not clear to me. AFAIK, all our barriers routines ensure data is visible either between CPUs, or between CPU and devices. The CPU never accesses HMB memory, so there must be some other reasoning if this barrier is a real requirement for this device.

