mlx4 interrupt coalescing not important for small packets?

2 messages, 2 authors, 2013-08-11 · open the first message on its own page

mlx4 interrupt coalescing not important for small packets?

From: Shawn Bohrer <hidden>
Date: 2013-08-09 17:06:53

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

Re: mlx4 interrupt coalescing not important for small packets?

From: Amir Vadai <hidden>
Date: 2013-08-11 13:23:34

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 majordomo@vger.kernel.org
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help