Message ID | 4A631A64.50804@mellanox.co.il |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
Well Roland, after you flamed me last time for applying mlx4 patches without your review, I'd like to know if you're going to look at these three patches and also the independently submitted "mlx4: Fix double pci unmapping." bug fix from Yevgeny or are these changes going to simply rot on netdev? They all look fine to me, but hey I remember what happened last time :-) -- 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
David Miller wrote: > Well Roland, after you flamed me last time for applying mlx4 patches > without your review, I'd like to know if you're going to look at these > three patches and also the independently submitted "mlx4: Fix double > pci unmapping." bug fix from Yevgeny or are these changes going to > simply rot on netdev? > > They all look fine to me, but hey I remember what happened last time > :-) > Hi, Is there an update on those patches? I saw that the "mlx4_en: Fix double pci unmapping." patch is still not applied and it is pretty important bug fix that should make it to 2.6.31. As for your discussion, I send all the Ethernet related patches (mlx4_en) to Dave, and all the low level related patches (mlx4_core) to Roland. I put the netdev list in CC in both cases. If you guys want me to change something in the way I send the patches, just let me know, so we could avoid situations where both (or none) of you handle those patches. Thanks, Yevgeny -- 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
From: Yevgeny Petrilin <yevgenyp@mellanox.co.il> Date: Sun, 19 Jul 2009 16:06:44 +0300 > If the net device is identified as "sender" (number of sent packets > is higher then the number of received packets and the incoming packets are > small), set the moderation time to its low limit. > We do it because the incoming packets are acks, and we don't want to delay them > > Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il> Applied. -- 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
diff --git a/drivers/net/mlx4/en_netdev.c b/drivers/net/mlx4/en_netdev.c index 93f4abd..c8a24dc 100644 --- a/drivers/net/mlx4/en_netdev.c +++ b/drivers/net/mlx4/en_netdev.c @@ -414,6 +414,7 @@ static void mlx4_en_auto_moderation(struct mlx4_en_priv *priv) unsigned long avg_pkt_size; unsigned long rx_packets; unsigned long rx_bytes; + unsigned long rx_byte_diff; unsigned long tx_packets; unsigned long tx_pkt_diff; unsigned long rx_pkt_diff; @@ -437,6 +438,8 @@ static void mlx4_en_auto_moderation(struct mlx4_en_priv *priv) rx_pkt_diff = ((unsigned long) (rx_packets - priv->last_moder_packets)); packets = max(tx_pkt_diff, rx_pkt_diff); + rx_byte_diff = rx_bytes - priv->last_moder_bytes; + rx_byte_diff = rx_byte_diff ? rx_byte_diff : 1; rate = packets * HZ / period; avg_pkt_size = packets ? ((unsigned long) (rx_bytes - priv->last_moder_bytes)) / packets : 0; @@ -447,10 +450,13 @@ static void mlx4_en_auto_moderation(struct mlx4_en_priv *priv) /* If tx and rx packet rates are not balanced, assume that * traffic is mainly BW bound and apply maximum moderation. * Otherwise, moderate according to packet rate */ - if (2 * tx_pkt_diff > 3 * rx_pkt_diff || - 2 * rx_pkt_diff > 3 * tx_pkt_diff) { + if (2 * tx_pkt_diff > 3 * rx_pkt_diff && + rx_pkt_diff / rx_byte_diff < + MLX4_EN_SMALL_PKT_SIZE) + moder_time = priv->rx_usecs_low; + else if (2 * rx_pkt_diff > 3 * tx_pkt_diff) moder_time = priv->rx_usecs_high; - } else { + else { if (rate < priv->pkt_rate_low) moder_time = priv->rx_usecs_low; else if (rate > priv->pkt_rate_high)
If the net device is identified as "sender" (number of sent packets is higher then the number of received packets and the incoming packets are small), set the moderation time to its low limit. We do it because the incoming packets are acks, and we don't want to delay them Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il> --- drivers/net/mlx4/en_netdev.c | 12 +++++++++--- 1 files changed, 9 insertions(+), 3 deletions(-)