Re: [net-next,7/9] mlx5: psp: implement deferred tx key deletion
From: Jakub Kicinski <kuba@kernel.org>
Date: 2026-02-07 04:32:14
Also in:
linux-kselftest
This is an AI-generated review of your patch. The human sending this email has considered the AI review valid, or at least plausible. For local reproduction steps see https://netdev-ai.bots.linux.dev/ai-local.html --- mlx5: psp: implement deferred tx key deletion This patch implements the deferred tx key deletion API for mlx5. The mlx5e_psp_tx_grace_begin() function records WQE counts on each tx queue, and mlx5e_psp_tx_grace_end() returns success only after all tx queues have advanced a full ring cycle past the snapshot point.
quoted hunk ↗ jump to hunk
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.h b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.h --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.h@@ -22,10 +22,17 @@ struct mlx5e_psp_stats { u64 psp_tx_bytes_drop; }; +struct mlx5e_psp_tx_snapshot { + int num_channels; + int num_tc; + u64 wqes[]; +}; + struct mlx5e_psp { struct psp_dev *psp; struct psp_dev_caps caps; struct mlx5e_psp_fs *fs; + struct mlx5e_psp_tx_snapshot *tx_snapshot; atomic_t tx_key_cnt; atomic_t tx_drop; };
Can the tx_snapshot allocation be leaked during device teardown?
If mlx5e_psp_tx_grace_begin() is called and allocates tx_snapshot, but
mlx5e_psp_cleanup() runs before mlx5e_psp_tx_grace_end() frees it:
mlx5e_psp_cleanup()
kfree(psp); // psp->tx_snapshot not freed
The tx_snapshot memory would be leaked. Should mlx5e_psp_cleanup() free
psp->tx_snapshot before freeing psp?