net/mlx4_core: A write memory barrier is sufficient in EQ ci update
authorTariq Toukan <tariqt@mellanox.com>
Tue, 22 Jan 2019 13:25:50 +0000 (15:25 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 25 Jan 2019 05:54:13 +0000 (21:54 -0800)
Soften the memory barrier call of mb() by a sufficient wmb() in the
consumer index update of the event queues.

Suggested-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx4/eq.c

index 2f42010..a5be277 100644 (file)
@@ -100,7 +100,7 @@ static void eq_set_ci(struct mlx4_eq *eq, int req_not)
                                               req_not << 31),
                     eq->doorbell);
        /* We still want ordering, just not swabbing, so add a barrier */
-       mb();
+       wmb();
 }
 
 static struct mlx4_eqe *get_eqe(struct mlx4_eq *eq, u32 entry, u8 eqe_factor,