Skip to content

Commit

Permalink
Merge branch 'net-remove-the-obsolte-u64_stats_fetch_-_irq'
Browse files Browse the repository at this point in the history
Sebastian Andrzej Siewior says:

====================
net: Remove the obsolte u64_stats_fetch_*_irq()

This is the removal of u64_stats_fetch_*_irq() users in networking. The
prerequisites are part of v6.1-rc1.

The spi and bpf bits are not part of the series and have been routed
directly.
====================

Link: https://lore.kernel.org/r/20221026132215.696950-1-bigeasy@linutronix.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  • Loading branch information
Jakub Kicinski committed Oct 29, 2022
2 parents 196dd92 + d120d1a commit 23f2325
Show file tree
Hide file tree
Showing 79 changed files with 318 additions and 319 deletions.
12 changes: 6 additions & 6 deletions drivers/net/ethernet/alacritech/slic.h
Original file line number Diff line number Diff line change
Expand Up @@ -288,13 +288,13 @@ do { \
u64_stats_update_end(&(st)->syncp); \
} while (0)

#define SLIC_GET_STATS_COUNTER(newst, st, counter) \
{ \
unsigned int start; \
#define SLIC_GET_STATS_COUNTER(newst, st, counter) \
{ \
unsigned int start; \
do { \
start = u64_stats_fetch_begin_irq(&(st)->syncp); \
newst = (st)->counter; \
} while (u64_stats_fetch_retry_irq(&(st)->syncp, start)); \
start = u64_stats_fetch_begin(&(st)->syncp); \
newst = (st)->counter; \
} while (u64_stats_fetch_retry(&(st)->syncp, start)); \
}

struct slic_upr {
Expand Down
4 changes: 2 additions & 2 deletions drivers/net/ethernet/amazon/ena/ena_ethtool.c
Original file line number Diff line number Diff line change
Expand Up @@ -118,9 +118,9 @@ static void ena_safe_update_stat(u64 *src, u64 *dst,
unsigned int start;

do {
start = u64_stats_fetch_begin_irq(syncp);
start = u64_stats_fetch_begin(syncp);
*(dst) = *src;
} while (u64_stats_fetch_retry_irq(syncp, start));
} while (u64_stats_fetch_retry(syncp, start));
}

static void ena_queue_stats(struct ena_adapter *adapter, u64 **data)
Expand Down
12 changes: 6 additions & 6 deletions drivers/net/ethernet/amazon/ena/ena_netdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -3268,31 +3268,31 @@ static void ena_get_stats64(struct net_device *netdev,
tx_ring = &adapter->tx_ring[i];

do {
start = u64_stats_fetch_begin_irq(&tx_ring->syncp);
start = u64_stats_fetch_begin(&tx_ring->syncp);
packets = tx_ring->tx_stats.cnt;
bytes = tx_ring->tx_stats.bytes;
} while (u64_stats_fetch_retry_irq(&tx_ring->syncp, start));
} while (u64_stats_fetch_retry(&tx_ring->syncp, start));

stats->tx_packets += packets;
stats->tx_bytes += bytes;

rx_ring = &adapter->rx_ring[i];

do {
start = u64_stats_fetch_begin_irq(&rx_ring->syncp);
start = u64_stats_fetch_begin(&rx_ring->syncp);
packets = rx_ring->rx_stats.cnt;
bytes = rx_ring->rx_stats.bytes;
} while (u64_stats_fetch_retry_irq(&rx_ring->syncp, start));
} while (u64_stats_fetch_retry(&rx_ring->syncp, start));

stats->rx_packets += packets;
stats->rx_bytes += bytes;
}

do {
start = u64_stats_fetch_begin_irq(&adapter->syncp);
start = u64_stats_fetch_begin(&adapter->syncp);
rx_drops = adapter->dev_stats.rx_drops;
tx_drops = adapter->dev_stats.tx_drops;
} while (u64_stats_fetch_retry_irq(&adapter->syncp, start));
} while (u64_stats_fetch_retry(&adapter->syncp, start));

stats->rx_dropped = rx_drops;
stats->tx_dropped = tx_drops;
Expand Down
8 changes: 4 additions & 4 deletions drivers/net/ethernet/aquantia/atlantic/aq_ring.c
Original file line number Diff line number Diff line change
Expand Up @@ -934,7 +934,7 @@ unsigned int aq_ring_fill_stats_data(struct aq_ring_s *self, u64 *data)
/* This data should mimic aq_ethtool_queue_rx_stat_names structure */
do {
count = 0;
start = u64_stats_fetch_begin_irq(&self->stats.rx.syncp);
start = u64_stats_fetch_begin(&self->stats.rx.syncp);
data[count] = self->stats.rx.packets;
data[++count] = self->stats.rx.jumbo_packets;
data[++count] = self->stats.rx.lro_packets;
Expand All @@ -951,15 +951,15 @@ unsigned int aq_ring_fill_stats_data(struct aq_ring_s *self, u64 *data)
data[++count] = self->stats.rx.xdp_tx;
data[++count] = self->stats.rx.xdp_invalid;
data[++count] = self->stats.rx.xdp_redirect;
} while (u64_stats_fetch_retry_irq(&self->stats.rx.syncp, start));
} while (u64_stats_fetch_retry(&self->stats.rx.syncp, start));
} else {
/* This data should mimic aq_ethtool_queue_tx_stat_names structure */
do {
count = 0;
start = u64_stats_fetch_begin_irq(&self->stats.tx.syncp);
start = u64_stats_fetch_begin(&self->stats.tx.syncp);
data[count] = self->stats.tx.packets;
data[++count] = self->stats.tx.queue_restarts;
} while (u64_stats_fetch_retry_irq(&self->stats.tx.syncp, start));
} while (u64_stats_fetch_retry(&self->stats.tx.syncp, start));
}

return ++count;
Expand Down
4 changes: 2 additions & 2 deletions drivers/net/ethernet/asix/ax88796c_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -662,12 +662,12 @@ static void ax88796c_get_stats64(struct net_device *ndev,
s = per_cpu_ptr(ax_local->stats, cpu);

do {
start = u64_stats_fetch_begin_irq(&s->syncp);
start = u64_stats_fetch_begin(&s->syncp);
rx_packets = u64_stats_read(&s->rx_packets);
rx_bytes = u64_stats_read(&s->rx_bytes);
tx_packets = u64_stats_read(&s->tx_packets);
tx_bytes = u64_stats_read(&s->tx_bytes);
} while (u64_stats_fetch_retry_irq(&s->syncp, start));
} while (u64_stats_fetch_retry(&s->syncp, start));

stats->rx_packets += rx_packets;
stats->rx_bytes += rx_bytes;
Expand Down
8 changes: 4 additions & 4 deletions drivers/net/ethernet/broadcom/b44.c
Original file line number Diff line number Diff line change
Expand Up @@ -1680,7 +1680,7 @@ static void b44_get_stats64(struct net_device *dev,
unsigned int start;

do {
start = u64_stats_fetch_begin_irq(&hwstat->syncp);
start = u64_stats_fetch_begin(&hwstat->syncp);

/* Convert HW stats into rtnl_link_stats64 stats. */
nstat->rx_packets = hwstat->rx_pkts;
Expand Down Expand Up @@ -1714,7 +1714,7 @@ static void b44_get_stats64(struct net_device *dev,
/* Carrier lost counter seems to be broken for some devices */
nstat->tx_carrier_errors = hwstat->tx_carrier_lost;
#endif
} while (u64_stats_fetch_retry_irq(&hwstat->syncp, start));
} while (u64_stats_fetch_retry(&hwstat->syncp, start));

}

Expand Down Expand Up @@ -2082,12 +2082,12 @@ static void b44_get_ethtool_stats(struct net_device *dev,
do {
data_src = &hwstat->tx_good_octets;
data_dst = data;
start = u64_stats_fetch_begin_irq(&hwstat->syncp);
start = u64_stats_fetch_begin(&hwstat->syncp);

for (i = 0; i < ARRAY_SIZE(b44_gstrings); i++)
*data_dst++ = *data_src++;

} while (u64_stats_fetch_retry_irq(&hwstat->syncp, start));
} while (u64_stats_fetch_retry(&hwstat->syncp, start));
}

static void b44_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
Expand Down
12 changes: 6 additions & 6 deletions drivers/net/ethernet/broadcom/bcmsysport.c
Original file line number Diff line number Diff line change
Expand Up @@ -457,10 +457,10 @@ static void bcm_sysport_update_tx_stats(struct bcm_sysport_priv *priv,
for (q = 0; q < priv->netdev->num_tx_queues; q++) {
ring = &priv->tx_rings[q];
do {
start = u64_stats_fetch_begin_irq(&priv->syncp);
start = u64_stats_fetch_begin(&priv->syncp);
bytes = ring->bytes;
packets = ring->packets;
} while (u64_stats_fetch_retry_irq(&priv->syncp, start));
} while (u64_stats_fetch_retry(&priv->syncp, start));

*tx_bytes += bytes;
*tx_packets += packets;
Expand Down Expand Up @@ -504,9 +504,9 @@ static void bcm_sysport_get_stats(struct net_device *dev,
if (s->stat_sizeof == sizeof(u64) &&
s->type == BCM_SYSPORT_STAT_NETDEV64) {
do {
start = u64_stats_fetch_begin_irq(syncp);
start = u64_stats_fetch_begin(syncp);
data[i] = *(u64 *)p;
} while (u64_stats_fetch_retry_irq(syncp, start));
} while (u64_stats_fetch_retry(syncp, start));
} else
data[i] = *(u32 *)p;
j++;
Expand Down Expand Up @@ -1878,10 +1878,10 @@ static void bcm_sysport_get_stats64(struct net_device *dev,
&stats->tx_packets);

do {
start = u64_stats_fetch_begin_irq(&priv->syncp);
start = u64_stats_fetch_begin(&priv->syncp);
stats->rx_packets = stats64->rx_packets;
stats->rx_bytes = stats64->rx_bytes;
} while (u64_stats_fetch_retry_irq(&priv->syncp, start));
} while (u64_stats_fetch_retry(&priv->syncp, start));
}

static void bcm_sysport_netif_start(struct net_device *dev)
Expand Down
24 changes: 12 additions & 12 deletions drivers/net/ethernet/cortina/gemini.c
Original file line number Diff line number Diff line change
Expand Up @@ -1919,7 +1919,7 @@ static void gmac_get_stats64(struct net_device *netdev,

/* Racing with RX NAPI */
do {
start = u64_stats_fetch_begin_irq(&port->rx_stats_syncp);
start = u64_stats_fetch_begin(&port->rx_stats_syncp);

stats->rx_packets = port->stats.rx_packets;
stats->rx_bytes = port->stats.rx_bytes;
Expand All @@ -1931,11 +1931,11 @@ static void gmac_get_stats64(struct net_device *netdev,
stats->rx_crc_errors = port->stats.rx_crc_errors;
stats->rx_frame_errors = port->stats.rx_frame_errors;

} while (u64_stats_fetch_retry_irq(&port->rx_stats_syncp, start));
} while (u64_stats_fetch_retry(&port->rx_stats_syncp, start));

/* Racing with MIB and TX completion interrupts */
do {
start = u64_stats_fetch_begin_irq(&port->ir_stats_syncp);
start = u64_stats_fetch_begin(&port->ir_stats_syncp);

stats->tx_errors = port->stats.tx_errors;
stats->tx_packets = port->stats.tx_packets;
Expand All @@ -1945,15 +1945,15 @@ static void gmac_get_stats64(struct net_device *netdev,
stats->rx_missed_errors = port->stats.rx_missed_errors;
stats->rx_fifo_errors = port->stats.rx_fifo_errors;

} while (u64_stats_fetch_retry_irq(&port->ir_stats_syncp, start));
} while (u64_stats_fetch_retry(&port->ir_stats_syncp, start));

/* Racing with hard_start_xmit */
do {
start = u64_stats_fetch_begin_irq(&port->tx_stats_syncp);
start = u64_stats_fetch_begin(&port->tx_stats_syncp);

stats->tx_dropped = port->stats.tx_dropped;

} while (u64_stats_fetch_retry_irq(&port->tx_stats_syncp, start));
} while (u64_stats_fetch_retry(&port->tx_stats_syncp, start));

stats->rx_dropped += stats->rx_missed_errors;
}
Expand Down Expand Up @@ -2031,32 +2031,32 @@ static void gmac_get_ethtool_stats(struct net_device *netdev,
/* Racing with MIB interrupt */
do {
p = values;
start = u64_stats_fetch_begin_irq(&port->ir_stats_syncp);
start = u64_stats_fetch_begin(&port->ir_stats_syncp);

for (i = 0; i < RX_STATS_NUM; i++)
*p++ = port->hw_stats[i];

} while (u64_stats_fetch_retry_irq(&port->ir_stats_syncp, start));
} while (u64_stats_fetch_retry(&port->ir_stats_syncp, start));
values = p;

/* Racing with RX NAPI */
do {
p = values;
start = u64_stats_fetch_begin_irq(&port->rx_stats_syncp);
start = u64_stats_fetch_begin(&port->rx_stats_syncp);

for (i = 0; i < RX_STATUS_NUM; i++)
*p++ = port->rx_stats[i];
for (i = 0; i < RX_CHKSUM_NUM; i++)
*p++ = port->rx_csum_stats[i];
*p++ = port->rx_napi_exits;

} while (u64_stats_fetch_retry_irq(&port->rx_stats_syncp, start));
} while (u64_stats_fetch_retry(&port->rx_stats_syncp, start));
values = p;

/* Racing with TX start_xmit */
do {
p = values;
start = u64_stats_fetch_begin_irq(&port->tx_stats_syncp);
start = u64_stats_fetch_begin(&port->tx_stats_syncp);

for (i = 0; i < TX_MAX_FRAGS; i++) {
*values++ = port->tx_frag_stats[i];
Expand All @@ -2065,7 +2065,7 @@ static void gmac_get_ethtool_stats(struct net_device *netdev,
*values++ = port->tx_frags_linearized;
*values++ = port->tx_hw_csummed;

} while (u64_stats_fetch_retry_irq(&port->tx_stats_syncp, start));
} while (u64_stats_fetch_retry(&port->tx_stats_syncp, start));
}

static int gmac_get_ksettings(struct net_device *netdev,
Expand Down
12 changes: 6 additions & 6 deletions drivers/net/ethernet/emulex/benet/be_ethtool.c
Original file line number Diff line number Diff line change
Expand Up @@ -389,10 +389,10 @@ static void be_get_ethtool_stats(struct net_device *netdev,
struct be_rx_stats *stats = rx_stats(rxo);

do {
start = u64_stats_fetch_begin_irq(&stats->sync);
start = u64_stats_fetch_begin(&stats->sync);
data[base] = stats->rx_bytes;
data[base + 1] = stats->rx_pkts;
} while (u64_stats_fetch_retry_irq(&stats->sync, start));
} while (u64_stats_fetch_retry(&stats->sync, start));

for (i = 2; i < ETHTOOL_RXSTATS_NUM; i++) {
p = (u8 *)stats + et_rx_stats[i].offset;
Expand All @@ -405,19 +405,19 @@ static void be_get_ethtool_stats(struct net_device *netdev,
struct be_tx_stats *stats = tx_stats(txo);

do {
start = u64_stats_fetch_begin_irq(&stats->sync_compl);
start = u64_stats_fetch_begin(&stats->sync_compl);
data[base] = stats->tx_compl;
} while (u64_stats_fetch_retry_irq(&stats->sync_compl, start));
} while (u64_stats_fetch_retry(&stats->sync_compl, start));

do {
start = u64_stats_fetch_begin_irq(&stats->sync);
start = u64_stats_fetch_begin(&stats->sync);
for (i = 1; i < ETHTOOL_TXSTATS_NUM; i++) {
p = (u8 *)stats + et_tx_stats[i].offset;
data[base + i] =
(et_tx_stats[i].size == sizeof(u64)) ?
*(u64 *)p : *(u32 *)p;
}
} while (u64_stats_fetch_retry_irq(&stats->sync, start));
} while (u64_stats_fetch_retry(&stats->sync, start));
base += ETHTOOL_TXSTATS_NUM;
}
}
Expand Down
16 changes: 8 additions & 8 deletions drivers/net/ethernet/emulex/benet/be_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -665,10 +665,10 @@ static void be_get_stats64(struct net_device *netdev,
const struct be_rx_stats *rx_stats = rx_stats(rxo);

do {
start = u64_stats_fetch_begin_irq(&rx_stats->sync);
start = u64_stats_fetch_begin(&rx_stats->sync);
pkts = rx_stats(rxo)->rx_pkts;
bytes = rx_stats(rxo)->rx_bytes;
} while (u64_stats_fetch_retry_irq(&rx_stats->sync, start));
} while (u64_stats_fetch_retry(&rx_stats->sync, start));
stats->rx_packets += pkts;
stats->rx_bytes += bytes;
stats->multicast += rx_stats(rxo)->rx_mcast_pkts;
Expand All @@ -680,10 +680,10 @@ static void be_get_stats64(struct net_device *netdev,
const struct be_tx_stats *tx_stats = tx_stats(txo);

do {
start = u64_stats_fetch_begin_irq(&tx_stats->sync);
start = u64_stats_fetch_begin(&tx_stats->sync);
pkts = tx_stats(txo)->tx_pkts;
bytes = tx_stats(txo)->tx_bytes;
} while (u64_stats_fetch_retry_irq(&tx_stats->sync, start));
} while (u64_stats_fetch_retry(&tx_stats->sync, start));
stats->tx_packets += pkts;
stats->tx_bytes += bytes;
}
Expand Down Expand Up @@ -2155,16 +2155,16 @@ static int be_get_new_eqd(struct be_eq_obj *eqo)

for_all_rx_queues_on_eq(adapter, eqo, rxo, i) {
do {
start = u64_stats_fetch_begin_irq(&rxo->stats.sync);
start = u64_stats_fetch_begin(&rxo->stats.sync);
rx_pkts += rxo->stats.rx_pkts;
} while (u64_stats_fetch_retry_irq(&rxo->stats.sync, start));
} while (u64_stats_fetch_retry(&rxo->stats.sync, start));
}

for_all_tx_queues_on_eq(adapter, eqo, txo, i) {
do {
start = u64_stats_fetch_begin_irq(&txo->stats.sync);
start = u64_stats_fetch_begin(&txo->stats.sync);
tx_pkts += txo->stats.tx_reqs;
} while (u64_stats_fetch_retry_irq(&txo->stats.sync, start));
} while (u64_stats_fetch_retry(&txo->stats.sync, start));
}

/* Skip, if wrapped around or first calculation */
Expand Down
4 changes: 2 additions & 2 deletions drivers/net/ethernet/fungible/funeth/funeth_txrx.h
Original file line number Diff line number Diff line change
Expand Up @@ -206,9 +206,9 @@ struct funeth_rxq {

#define FUN_QSTAT_READ(q, seq, stats_copy) \
do { \
seq = u64_stats_fetch_begin_irq(&(q)->syncp); \
seq = u64_stats_fetch_begin(&(q)->syncp); \
stats_copy = (q)->stats; \
} while (u64_stats_fetch_retry_irq(&(q)->syncp, (seq)))
} while (u64_stats_fetch_retry(&(q)->syncp, (seq)))

#define FUN_INT_NAME_LEN (IFNAMSIZ + 16)

Expand Down
Loading

0 comments on commit 23f2325

Please sign in to comment.