On Mon, Mar 19, 2018 at 10:47:45PM -0400, Sinan Kaya wrote: > Code includes wmb() followed by writel(). writel() already has a barrier on > some architectures like arm64. > > This ends up CPU observing two barriers back to back before executing the > register write. > > Create a new wrapper function with relaxed write operator. Use the new > wrapper when a write is following a wmb(). > > Since code already has an explicit barrier call, changing writel() to > writel_relaxed(). > > Signed-off-by: Sinan Kaya <okaya@xxxxxxxxxxxxxx> > drivers/infiniband/hw/i40iw/i40iw_ctrl.c | 6 ++++-- > drivers/infiniband/hw/i40iw/i40iw_osdep.h | 1 + > drivers/infiniband/hw/i40iw/i40iw_uk.c | 2 +- > drivers/infiniband/hw/i40iw/i40iw_utils.c | 11 +++++++++++ > 4 files changed, 17 insertions(+), 3 deletions(-) The one looks fine Reviewed-by: Jason Gunthorpe <jgg@xxxxxxxxxxxx> Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html