From: Tariq Toukan <tar...@mellanox.com>

Every single DUMP WQE resides in a single WQEBB.
As the pi is calculated per each one separately, there is
no real need for a contiguous room for them, allow them to populate
different WQ fragments.
This reduces WQ waste and improves its utilization.

Signed-off-by: Tariq Toukan <tar...@mellanox.com>
Reviewed-by: Maxim Mikityanskiy <maxi...@mellanox.com>
Signed-off-by: Saeed Mahameed <sae...@mellanox.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c 
b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c
index efc271e24b03..1c9d0174676d 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c
@@ -272,6 +272,7 @@ tx_post_resync_dump(struct mlx5e_txqsq *sq, skb_frag_t 
*frag, u32 tisn, bool fir
        int fsz;
        u16 pi;
 
+       BUILD_BUG_ON(MLX5E_KTLS_DUMP_WQEBBS != 1);
        pi = mlx5_wq_cyc_ctr2ix(&sq->wq, sq->pc);
        wqe = MLX5E_TLS_FETCH_DUMP_WQE(sq, pi);
 
@@ -340,7 +341,6 @@ mlx5e_ktls_tx_handle_ooo(struct 
mlx5e_ktls_offload_context_tx *priv_tx,
        struct mlx5e_sq_stats *stats = sq->stats;
        enum mlx5e_ktls_sync_retval ret;
        struct tx_sync_info info = {};
-       u8 num_wqebbs;
        int i = 0;
 
        ret = tx_sync_info_get(priv_tx, seq, datalen, &info);
@@ -369,9 +369,6 @@ mlx5e_ktls_tx_handle_ooo(struct 
mlx5e_ktls_offload_context_tx *priv_tx,
                return MLX5E_KTLS_SYNC_DONE;
        }
 
-       num_wqebbs = mlx5e_ktls_dumps_num_wqebbs(sq, info.nr_frags, 
info.sync_len);
-       mlx5e_txqsq_get_next_pi(sq, num_wqebbs);
-
        for (; i < info.nr_frags; i++) {
                unsigned int orig_fsz, frag_offset = 0, n = 0;
                skb_frag_t *f = &info.frags[i];
-- 
2.25.4

Reply via email to