Subject: Re: [net-next 13/20] i40evf: add new write-back mode

From: Sergei Shtylyov <[email-masked]>
Date: Sat, 6 Feb 2016 15:38:21 +0300

Hello.

On 2/4/2016 2:49 PM, Jeff Kirsher wrote:

> From: Anjali Singhai Jain <[email-masked]>
>
> Add write-back on interrupt throttle rate timer expiration support
> for the i40evf driver, when running on X722 devices.
>
> Signed-off-by: Anjali Singhai Jain <[email-masked]>
> Tested-by: Andrew Bowers <[email-masked]>
> Signed-off-by: Jeff Kirsher <[email-masked]>

[...]
> diff --git a/drivers/net/ethernet/intel/i40evf/i40e_txrx.c b/drivers/net/ethernet/intel/i40evf/i40e_txrx.c
> index 7a00657..7d663fb 100644
> --- a/drivers/net/ethernet/intel/i40evf/i40e_txrx.c
> +++ b/drivers/net/ethernet/intel/i40evf/i40e_txrx.c
> @@ -252,6 +252,22 @@ static bool i40e_clean_tx_irq(struct i40e_ring *tx_ring, int budget)
>   	tx_ring->q_vector->tx.total_bytes += total_bytes;
>   	tx_ring->q_vector->tx.total_packets += total_packets;
>
> +	if (tx_ring->flags & I40E_TXR_FLAGS_WB_ON_ITR) {
> +		unsigned int j = 0;

    Pointless initializer, you override it on the next line.

> +		/* check to see if there are < 4 descriptors
> +		 * waiting to be written back, then kick the hardware to force
> +		 * them to be written back in case we stay in NAPI.
> +		 * In this mode on X722 we do not enable Interrupt.
> +		 */
> +		j = i40evf_get_tx_pending(tx_ring);
> +
> +		if (budget &&
> +		    ((j / (WB_STRIDE + 1)) == 0) && (j > 0) &&
> +		    !test_bit(__I40E_DOWN, &tx_ring->vsi->state) &&
> +		    (I40E_DESC_UNUSED(tx_ring) != tx_ring->count))
> +			tx_ring->arm_wb = true;
> +	}
> +
>   	netdev_tx_completed_queue(netdev_get_tx_queue(tx_ring->netdev,
>   						      tx_ring->queue_index),
>   				  total_packets, total_bytes);
[...]

MBR, Sergei