Subject: Re: mlx4 interrupt coalescing not important for small packets?

From: Amir Vadai <[email-masked]>
Date: Sun, 11 Aug 2013 16:23:31 +0300

On 09/08/2013 20:06, Shawn Bohrer wrote:
> I was looking at the adaptive interrupt coalescing algorithm for
> mlx4_en which contains the following snippet:
> 
> /* Apply auto-moderation only when packet rate
>  * exceeds a rate that it matters */
> if (rate > (MLX4_EN_RX_RATE_THRESH / priv->rx_ring_num) &&
>     avg_pkt_size > MLX4_EN_AVG_PKT_SMALL) {
>         if (rate < priv->pkt_rate_low)
>                 moder_time = priv->rx_usecs_low;
>         else if (rate > priv->pkt_rate_high)
>                 moder_time = priv->rx_usecs_high;
>         else
>                 moder_time = (rate - priv->pkt_rate_low) *
>                         (priv->rx_usecs_high - priv->rx_usecs_low) /
>                         (priv->pkt_rate_high - priv->pkt_rate_low) +
>                         priv->rx_usecs_low;
> } else {
>         moder_time = priv->rx_usecs_low;
> }
> 
> In this case MLX4_EN_AVG_PKT_SMALL is 256 bytes.  Can someone explain
> to me why interrupt coalescing is not important for small packets
> regardless of the incoming packet rate?
> 
> Thanks,
> Shawn
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to [email-masked]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

The idea was that for small packets, should enter "latency mode"
regardless the packet rate.

Amir