Re: [PATCH net-next V2 08/10] net/mlx5e: Use multiple CQ doorbells
From: Simon Horman
Date: Wed Sep 17 2025 - 09:05:48 EST
On Tue, Sep 16, 2025 at 05:11:42PM +0300, Tariq Toukan wrote:
> From: Cosmin Ratiu <cratiu@xxxxxxxxxx>
>
> Channel doorbells are now also used by all channel CQs.
>
> A new 'uar' parameter is added to 'struct mlx5e_create_cq_param',
> which is then used in mlx5e_alloc_cq.
>
> A single UAR page has two TX doorbells and a single CQ doorbell, so
> every consecutive pair of 'struct mlx5_sq_bfreg' (TX doorbells)
> uses the same underlying 'struct mlx5_uars_page' (CQ doorbell).
> So by using c->bfreg->up, CQs from every consecutive channel pair will
> share the same CQ doorbell.
>
> Non-channel associated CQs keep using the global CQ doorbell.
>
> Signed-off-by: Cosmin Ratiu <cratiu@xxxxxxxxxx>
> Reviewed-by: Dragos Tatulea <dtatulea@xxxxxxxxxx>
> Signed-off-by: Tariq Toukan <tariqt@xxxxxxxxxx>
Reviewed-by: Simon Horman <horms@xxxxxxxxxx>