Skip to content

Commit eb9180f

Browse files
ogerlitzSaeed Mahameed
authored andcommitted
net/mlx5e: Set hairpin queue size
For a given hairpin packet buffer size, different queue sizes (values of log_hairpin_num_packets) determine how the data is broken to strides on the RQ. Currently the chosen value is set to 64B strides. Signed-off-by: Or Gerlitz <[email protected]> Signed-off-by: Saeed Mahameed <[email protected]>
1 parent 4d533e0 commit eb9180f

File tree

1 file changed

+8
-3
lines changed
  • drivers/net/ethernet/mellanox/mlx5/core

1 file changed

+8
-3
lines changed

drivers/net/ethernet/mellanox/mlx5/core/en_tc.c

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -599,8 +599,13 @@ static int mlx5e_hairpin_flow_add(struct mlx5e_priv *priv,
599599
MLX5_CAP_GEN(priv->mdev, log_max_hairpin_wq_data_sz));
600600
params.log_data_size = max_t(u8, params.log_data_size,
601601
MLX5_CAP_GEN(priv->mdev, log_min_hairpin_wq_data_sz));
602-
params.q_counter = priv->q_counter;
603602

603+
params.log_num_packets = params.log_data_size -
604+
MLX5_MPWRQ_MIN_LOG_STRIDE_SZ(priv->mdev);
605+
params.log_num_packets = min_t(u8, params.log_num_packets,
606+
MLX5_CAP_GEN(priv->mdev, log_max_hairpin_num_packets));
607+
608+
params.q_counter = priv->q_counter;
604609
/* set hairpin pair per each 50Gbs share of the link */
605610
mlx5e_get_max_linkspeed(priv->mdev, &link_speed);
606611
link_speed = max_t(u32, link_speed, 50000);
@@ -614,9 +619,9 @@ static int mlx5e_hairpin_flow_add(struct mlx5e_priv *priv,
614619
goto create_hairpin_err;
615620
}
616621

617-
netdev_dbg(priv->netdev, "add hairpin: tirn %x rqn %x peer %s sqn %x prio %d log data size %d\n",
622+
netdev_dbg(priv->netdev, "add hairpin: tirn %x rqn %x peer %s sqn %x prio %d (log) data %d packets %d\n",
618623
hp->tirn, hp->pair->rqn[0], hp->pair->peer_mdev->priv.name,
619-
hp->pair->sqn[0], match_prio, params.log_data_size);
624+
hp->pair->sqn[0], match_prio, params.log_data_size, params.log_num_packets);
620625

621626
hpe->hp = hp;
622627
hash_add(priv->fs.tc.hairpin_tbl, &hpe->hairpin_hlist,

0 commit comments

Comments
 (0)