Re: [PATCH v10 net-next 0/2] octeontx2-pf: mqprio bandwidth offload for NIX TX schedulers
From: Ratheesh Kannoth
Date: Tue Sep 01 2026 - 21:40:31 EST
On 2026-08-31 at 18:40:11, Ratheesh Kannoth (rkannoth@xxxxxxxxxxx) wrote:
> This series adds hardware offload for channel-mode mqprio with
> TC_MQPRIO_SHAPER_BW_RATE on Marvell octeontx2 PF devices. Each
> non-QoS transmit queue is shaped by programming MDQ CIR/PIR on the NIX TX
> scheduler. When bandwidth offload is enabled, the driver allocates one
> SMQ per queue, parents every MDQ under TL4[0], and applies each traffic
> class min/max rate to the queue(s) in that class. The TX scheduler
> hierarchy is reprogrammed through ndo_stop()/ndo_open() on every mqprio
> add, replace, or delete.
>
> Patch 1 is required for patch 2. The octeontx2 driver tracks committed
> mqprio configuration in snapshots keyed by the owning qdisc handle. That
> handle is needed to implement two behaviours that patch 2 relies on:
>
> * tc qdisc replace installs the new mqprio and runs its offload setup
> before tearing down the replaced instance. Without the handle, the
> driver cannot tell a stale disable callback from the replaced qdisc
> apart from teardown of the active configuration, and may clear
> hardware shapers or netdev TC state while the new mqprio is being
> committed.
>
> * When replace fails after partial programming, the driver rolls back
> from the previous snapshot. Matching setup and teardown callbacks to
> the same qdisc instance requires the handle passed through the core
> mqprio offload path.
>
> Patch 1 extends struct tc_mqprio_qopt_offload with that handle and fills
> it from mqprio_enable_offload() and mqprio_disable_offload(). Patch 2
> consumes it in the octeontx2 PF mqprio offload path.
>
> The driver rejects offload unless the interface is running and the
> device supports CIR+PIR shaping. Per-TC rates are rejected when a
> traffic class spans more than one queue, and concurrent PFC, XDP, or SDP
> rep use is blocked. Ethtool channel count changes are blocked while mqprio
> bandwidth offload is active.
>
Will address sashiko comments in v11.
pw-bot: changes-requested