[PATCH net-next] net: stmmac: add tc-ets qdisc offload
Davide Caratti
dcaratti at redhat.com
Wed Aug 5 10:32:01 PDT 2026
On Tue, Aug 04, 2026 at 08:17:35PM +0200, Lorenzo Bianconi wrote:
[...]
> When all bands are strict priority, the MTL scheduler is programmed with
> SP scheduling; otherwise the requested weights are applied to the TX
> queues and the scheduler is switched to DWRR. The TC_ETS_STATS command
> is accepted and handled.
>
> Export stmmac_set_tx_queue_weight() so the ETS path can reprogram queue
> weights, and wire TC_SETUP_QDISC_ETS into stmmac_setup_tc().
>
> Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi at oss.qualcomm.com>
hello Lorenzo, thanks for your patch!
> ---
> +static int tc_setup_ets_sched(struct stmmac_priv *priv,
> + struct tc_ets_qopt_offload *qopt)
> +{
> + struct tc_ets_qopt_offload_replace_params *p = &qopt->replace_params;
> + struct plat_stmmacenet_data *pdata = priv->plat;
> + int i, nstrict = 0;
> +
> + if (p->bands > priv->plat->tx_queues_to_use)
> + return -EOPNOTSUPP;
> +
> + for (i = 0; i < p->bands; i++) {
> + if (!p->quanta[i])
> + nstrict++;
> + }
> +
> + if (p->bands && nstrict)
> + return -EOPNOTSUPP;
> +
> + if (nstrict) {
> + tc_setup_sp_sched(priv);
>From what I understood, this will fail configuring the strict priority case (the only one
possible according to the commit message, where all bands have quanta equal to 0). Maybe
the if() statement should be done like:
if (nstrict && nstrict != p->bands)
return -EOPNOTSUPP;
WDYT? thank you in advance!
--
davide
More information about the linux-arm-kernel
mailing list