Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F151653131
D4409.id10872.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
D4409.id10872.diff
View Options
Index: head/sys/dev/mlx5/mlx5_en/en.h
===================================================================
--- head/sys/dev/mlx5/mlx5_en/en.h
+++ head/sys/dev/mlx5/mlx5_en/en.h
@@ -356,6 +356,7 @@
u8 default_vlan_prio;
u8 num_tc;
u8 rx_cq_moderation_mode;
+ u8 tx_cq_moderation_mode;
u16 rx_cq_moderation_usec;
u16 rx_cq_moderation_pkts;
u16 tx_cq_moderation_usec;
@@ -381,6 +382,7 @@
m(+1, u64 rx_coalesce_mode, "rx_coalesce_mode", "0: EQE mode 1: CQE mode") \
m(+1, u64 tx_coalesce_usecs, "tx_coalesce_usecs", "Limit in usec for joining tx packets") \
m(+1, u64 tx_coalesce_pkts, "tx_coalesce_pkts", "Maximum number of tx packets to join") \
+ m(+1, u64 tx_coalesce_mode, "tx_coalesce_mode", "0: EQE mode 1: CQE mode") \
m(+1, u64 hw_lro, "hw_lro", "set to enable hw_lro")
#define MLX5E_PARAMS_NUM (0 MLX5E_PARAMS(MLX5E_STATS_COUNT))
Index: head/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c
===================================================================
--- head/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c
+++ head/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c
@@ -136,6 +136,11 @@
priv->params_ethtool.rx_coalesce_mode = 1;
priv->params.rx_cq_moderation_mode = priv->params_ethtool.rx_coalesce_mode;
+ /* import TX mode */
+ if (priv->params_ethtool.tx_coalesce_mode != 0)
+ priv->params_ethtool.tx_coalesce_mode = 1;
+ priv->params.tx_cq_moderation_mode = priv->params_ethtool.tx_coalesce_mode;
+
/* import RX coal time */
if (priv->params_ethtool.rx_coalesce_usecs < 1)
priv->params_ethtool.rx_coalesce_usecs = 0;
@@ -460,6 +465,7 @@
priv->params_ethtool.rx_coalesce_mode = priv->params.rx_cq_moderation_mode;
priv->params_ethtool.rx_coalesce_usecs = priv->params.rx_cq_moderation_usec;
priv->params_ethtool.rx_coalesce_pkts = priv->params.rx_cq_moderation_pkts;
+ priv->params_ethtool.tx_coalesce_mode = priv->params.tx_cq_moderation_mode;
priv->params_ethtool.tx_coalesce_usecs = priv->params.tx_cq_moderation_usec;
priv->params_ethtool.tx_coalesce_pkts = priv->params.tx_cq_moderation_pkts;
priv->params_ethtool.hw_lro = priv->params.hw_lro_en;
Index: head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c
===================================================================
--- head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c
+++ head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c
@@ -1324,13 +1324,25 @@
mlx5e_open_tx_cqs(struct mlx5e_channel *c,
struct mlx5e_channel_param *cparam)
{
+ u8 tx_moderation_mode;
int err;
int tc;
+ switch (c->priv->params.tx_cq_moderation_mode) {
+ case 0:
+ tx_moderation_mode = MLX5_CQ_PERIOD_MODE_START_FROM_EQE;
+ break;
+ default:
+ if (MLX5_CAP_GEN(c->priv->mdev, cq_period_start_from_cqe))
+ tx_moderation_mode = MLX5_CQ_PERIOD_MODE_START_FROM_CQE;
+ else
+ tx_moderation_mode = MLX5_CQ_PERIOD_MODE_START_FROM_EQE;
+ break;
+ }
for (tc = 0; tc < c->num_tc; tc++) {
/* open completion queue */
err = mlx5e_open_cq(c, &cparam->tx_cq, &c->sq[tc].cq,
- &mlx5e_tx_cq_comp, MLX5_CQ_PERIOD_MODE_START_FROM_EQE);
+ &mlx5e_tx_cq_comp, tx_moderation_mode);
if (err)
goto err_close_tx_cqs;
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Apr 10, 7:19 PM (14 m, 42 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31240902
Default Alt Text
D4409.id10872.diff (3 KB)
Attached To
Mode
D4409: mlx5en: Add support for setting TX moderation mode
Attached
Detach File
Event Timeline
Log In to Comment