Browse Source

bnx2x: remove not necessary compiler barrier

Access to fp->tx_bd_prod is protected by __netif_tx_lock, so we do not
need any barrier for that.

Update of fp->tx_bd_cons in bnx2x_tx_int() is not protected by lock, but
barrier() nor smb_mb() in bnx2x_tx_avail() not guarantee we will see
values that is written on other cpu. Ordering issues between
netif_tx_stop_queue(), netif_tx_queue_stopped(), fp->tx_bd_cons = bd_cons
and bnx2x_tx_avail() are already handled by smp_mb() in bnx2x_tx_int()
and bnx2x_start_xmit().

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stanislaw Gruszka 15 years ago
parent
commit
0efc22f3af
1 changed files with 0 additions and 1 deletions
  1. 0 1
      drivers/net/bnx2x_main.c

+ 0 - 1
drivers/net/bnx2x_main.c

@@ -893,7 +893,6 @@ static inline u16 bnx2x_tx_avail(struct bnx2x_fastpath *fp)
 	u16 prod;
 	u16 prod;
 	u16 cons;
 	u16 cons;
 
 
-	barrier(); /* Tell compiler that prod and cons can change */
 	prod = fp->tx_bd_prod;
 	prod = fp->tx_bd_prod;
 	cons = fp->tx_bd_cons;
 	cons = fp->tx_bd_cons;