mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-16 15:26:42 +07:00
mlx4: do not use priv->stats_lock in mlx4_en_auto_moderation()
Per RX ring packets/bytes counters are not protected by global priv->stats_lock. Better not confuse the reader, and use READ_ONCE() to show we read these counters without surrounding synchronization. Interrupt moderation is best effort, and we do not really care of ultra precise counters. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
0b42f25d2f
commit
b9972d2205
@ -1394,10 +1394,8 @@ static void mlx4_en_auto_moderation(struct mlx4_en_priv *priv)
|
||||
return;
|
||||
|
||||
for (ring = 0; ring < priv->rx_ring_num; ring++) {
|
||||
spin_lock_bh(&priv->stats_lock);
|
||||
rx_packets = priv->rx_ring[ring]->packets;
|
||||
rx_bytes = priv->rx_ring[ring]->bytes;
|
||||
spin_unlock_bh(&priv->stats_lock);
|
||||
rx_packets = READ_ONCE(priv->rx_ring[ring]->packets);
|
||||
rx_bytes = READ_ONCE(priv->rx_ring[ring]->bytes);
|
||||
|
||||
rx_pkt_diff = ((unsigned long) (rx_packets -
|
||||
priv->last_moder_packets[ring]));
|
||||
|
Loading…
Reference in New Issue
Block a user