Re: [PATCH net-next v3 10/12] net/mlx5e: Implement queue mgmt ops and single channel swap

Cosmin Ratiu
2025-06-12T09:05:59Z

On Wed, 2025-06-11 at 22:33 -0700, Mina Almasry wrote:
> Is this really better than maintaining uniformity of behavior between
> the drivers that support the queue mgmt api and just doing the
> mlx5e_deactivate_priv_channels and mlx5e_close_channel in the stop
> like core sorta expects?
>
> We currently use the ndos to restart a queue, but I'm imagining in
> the
> future we can expand it to create queues on behalf of the queues. The
> stop queue API may be reused in other contexts, like maybe to kill a
> dynamically created devmem queue or something, and this specific
> driver may stop working because stop actually doesn't do anything?
>

The .ndo_queue_stop operation doesn't make sense by itself for mlx5,
because the current mlx5 architecture is to atomically swap in all of
the channels.
The scenario you are describing, with a hypothetical ndo_queue_stop for
dynamically created devmem queues would leave all of the queues stopped
and the old channel deallocated in the channel array. Worse problems
would happen in that state than with today's approach, which leaves the
driver in functional state.

Perhaps Saeed can add more details to this?

Cosmin.