[Intel-wired-lan] [PATCH 06/10] igc: Introduce igc_update_tx_stats()
Maciej Fijalkowski
maciej.fijalkowski at intel.com
Mon Dec 21 22:58:11 UTC 2020
On Thu, Dec 17, 2020 at 12:24:11PM -0800, Andre Guedes wrote:
> Likewise we do with the RX stats, this patch encapsulates the code that
> updates the driver TX stats in its own local helper.
I think you can squash this onto previous patch.
>
> Signed-off-by: Andre Guedes <andre.guedes at intel.com>
> ---
> drivers/net/ethernet/intel/igc/igc_main.c | 22 ++++++++++++++++------
> 1 file changed, 16 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c
> index e5cdebbe5637..26c2fc9977cc 100644
> --- a/drivers/net/ethernet/intel/igc/igc_main.c
> +++ b/drivers/net/ethernet/intel/igc/igc_main.c
> @@ -2263,6 +2263,20 @@ static int igc_clean_rx_irq(struct igc_q_vector *q_vector, const int budget)
> return total_packets;
> }
>
> +static void igc_update_tx_stats(struct igc_q_vector *q_vector,
> + unsigned int packets, unsigned int bytes)
> +{
> + struct igc_ring *ring = q_vector->tx.ring;
> +
> + u64_stats_update_begin(&ring->tx_syncp);
> + ring->tx_stats.bytes += bytes;
> + ring->tx_stats.packets += packets;
> + u64_stats_update_end(&ring->tx_syncp);
> +
> + q_vector->tx.total_bytes += bytes;
> + q_vector->tx.total_packets += packets;
> +}
> +
> /**
> * igc_clean_tx_irq - Reclaim resources after transmit completes
> * @q_vector: pointer to q_vector containing needed info
> @@ -2365,12 +2379,8 @@ static bool igc_clean_tx_irq(struct igc_q_vector *q_vector, int napi_budget)
>
> i += tx_ring->count;
> tx_ring->next_to_clean = i;
> - u64_stats_update_begin(&tx_ring->tx_syncp);
> - tx_ring->tx_stats.bytes += total_bytes;
> - tx_ring->tx_stats.packets += total_packets;
> - u64_stats_update_end(&tx_ring->tx_syncp);
> - q_vector->tx.total_bytes += total_bytes;
> - q_vector->tx.total_packets += total_packets;
> +
> + igc_update_tx_stats(q_vector, total_packets, total_bytes);
>
> if (test_bit(IGC_RING_FLAG_TX_DETECT_HANG, &tx_ring->flags)) {
> struct igc_hw *hw = &adapter->hw;
> --
> 2.29.2
>
More information about the Intel-wired-lan
mailing list