[PATCH 5/8] mlx4_en: Coalescing target is equal for all mtu's

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Yevgeny Petrilin
Date: Tuesday, June 2, 2009 - 2:23 am

The interrupt moderation should not depend on number of incoming
bytes, but on number of incoming packets.
The previous scheme caused very high interrupts rate for small
messages when big MTU was configured.

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
---
 drivers/net/mlx4/en_ethtool.c |    3 +--
 drivers/net/mlx4/en_netdev.c  |    2 +-
 drivers/net/mlx4/mlx4_en.h    |    4 ++--
 3 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/net/mlx4/en_ethtool.c b/drivers/net/mlx4/en_ethtool.c
index 91d8116..091f990 100644
--- a/drivers/net/mlx4/en_ethtool.c
+++ b/drivers/net/mlx4/en_ethtool.c
@@ -268,8 +268,7 @@ static int mlx4_en_set_coalesce(struct net_device *dev,
 
 	priv->rx_frames = (coal->rx_max_coalesced_frames ==
 			   MLX4_EN_AUTO_CONF) ?
-				MLX4_EN_RX_COAL_TARGET /
-				priv->dev->mtu + 1 :
+				MLX4_EN_RX_COAL_TARGET :
 				coal->rx_max_coalesced_frames;
 	priv->rx_usecs = (coal->rx_coalesce_usecs ==
 			  MLX4_EN_AUTO_CONF) ?
diff --git a/drivers/net/mlx4/en_netdev.c b/drivers/net/mlx4/en_netdev.c
index fea65e7..16a634f 100644
--- a/drivers/net/mlx4/en_netdev.c
+++ b/drivers/net/mlx4/en_netdev.c
@@ -372,7 +372,7 @@ static void mlx4_en_set_default_moderation(struct mlx4_en_priv *priv)
 	 *   satisfy our coelsing target.
 	 * - moder_time is set to a fixed value.
 	 */
-	priv->rx_frames = MLX4_EN_RX_COAL_TARGET / priv->dev->mtu + 1;
+	priv->rx_frames = MLX4_EN_RX_COAL_TARGET;
 	priv->rx_usecs = MLX4_EN_RX_COAL_TIME;
 	en_dbg(INTR, priv, "Default coalesing params for mtu:%d - "
 			   "rx_frames:%d rx_usecs:%d\n",
diff --git a/drivers/net/mlx4/mlx4_en.h b/drivers/net/mlx4/mlx4_en.h
index 174ae86..fcbfcfc 100644
--- a/drivers/net/mlx4/mlx4_en.h
+++ b/drivers/net/mlx4/mlx4_en.h
@@ -143,8 +143,8 @@ enum {
 #define MLX4_EN_DEF_TX_RING_SIZE	1024
 #define MLX4_EN_DEF_RX_RING_SIZE  	1024
 
-/* Target number of bytes to coalesce with interrupt moderation */
-#define MLX4_EN_RX_COAL_TARGET	0x20000
+/* Target number of packets to coalesce with interrupt moderation */
+#define MLX4_EN_RX_COAL_TARGET	44
 #define MLX4_EN_RX_COAL_TIME	0x10
 
 #define MLX4_EN_TX_COAL_PKTS	5
-- 
1.6.0


--
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
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [PATCH 2/5]mlx4_en: Fix a race at restart task, Yevgeny Petrilin, (Mon Apr 20, 7:26 am)
[PATCH 3/5] mlx4_en: Assign dummy event handler for TX queue, Yevgeny Petrilin, (Mon Apr 20, 7:30 am)
Re: [PATCH 2/5]mlx4_en: Fix a race at restart task, David Miller, (Tue Apr 21, 1:49 am)
[PATCH 1/2] mlx4_en: Fix cleanup flow on cq activation, Yevgeny Petrilin, (Sun Apr 26, 11:41 pm)
[PATCH 2/2] mlx4_en: Handle page allocation failure during ..., Yevgeny Petrilin, (Sun Apr 26, 11:42 pm)
[PATCH] mlx4_en: Fix not deleted napi structures, Yevgeny Petrilin, (Wed May 13, 4:47 am)
Re: [PATCH] mlx4_en: Fix not deleted napi structures, David Miller, (Sun May 17, 8:49 pm)
[PATCH 1/2] mlx4_en: Removed redundant stride variable, Yevgeny Petrilin, (Sun May 24, 6:16 am)
[PATCH 2/2] mlx4_en: Fix partial rings feature, Yevgeny Petrilin, (Sun May 24, 6:17 am)
Re: [PATCH 2/2] mlx4_en: Fix partial rings feature, David Miller, (Mon May 25, 12:36 am)
Re: [net-2.6 PATCH] mlx4_en: Fix a kernel panic when wakin ..., Yevgeny Petrilin, (Mon May 25, 11:49 pm)
[net-2.6 PATCH V2] mlx4_en: Fix a kernel panic when waking ..., Yevgeny Petrilin, (Mon May 25, 11:57 pm)
Re: [net-2.6 PATCH V2] mlx4_en: Fix a kernel panic when wa ..., Yevgeny Petrilin, (Tue May 26, 11:08 pm)
[PATCH 1/8] mlx4_en: Giving interface name in debug messages, Yevgeny Petrilin, (Mon Jun 1, 11:27 pm)
[PATCH 3/8] mlx4_en renamed en_params.c to en_ethtool.c, Yevgeny Petrilin, (Tue Jun 2, 2:21 am)
[PATCH 4/8] mlx4_en: Work with part of the ports., Yevgeny Petrilin, (Tue Jun 2, 2:22 am)
[PATCH 5/8] mlx4_en: Coalescing target is equal for all mtu's, Yevgeny Petrilin, (Tue Jun 2, 2:23 am)
[PATCH 6/8] mlx4_en: multiqueue support, Yevgeny Petrilin, (Tue Jun 2, 2:24 am)
[PATCH 7/8] mlx4_en: Added vlan_features support, Yevgeny Petrilin, (Tue Jun 2, 2:28 am)
[PATCH 8/8] mlx4_en: Updated driver version, Yevgeny Petrilin, (Tue Jun 2, 2:29 am)
Re: [PATCH 8/8] mlx4_en: Updated driver version, David Miller, (Tue Jun 2, 2:36 am)