[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