Hi,
Our NIC hardware provides a hierarchical QoS tree for each physical
link with strict
priority and DRR scheduling & also supports traffic shaping at each
level. I'm curious what the closest qdisc that supports the above
functionalities for offloading to hardware. I looked into htb/drr/prio
qdiscs, but each qdisc supports a subset of the functionality enabled
by our hardware.
As per my understanding, The HTB hardware offload is used for shaping
rather than scheduling (strict priority/DRR).
The PRIO qdisc seems to support strict priority but not DRR. Similarly
DRR doesn't support strict priority.
Please advise on how to effectively offload all the features.
Is the ETS - Enhanced Transmission Selection scheduler a better fit if
we simply need to offload scheduling with strict priority and DRR?
Thanks,
Naveen
On Wed, Dec 15, 2021 at 12:46 PM Naveen Mamindlapalli
[off-list ref] wrote:
Hi,
Our NIC hardware provides a hierarchical QoS tree for each physical
link with strict
priority and DRR scheduling & also supports traffic shaping at each
level. I'm curious what the closest qdisc that supports the above
functionalities for offloading to hardware. I looked into htb/drr/prio
qdiscs, but each qdisc supports a subset of the functionality enabled
by our hardware.
As per my understanding, The HTB hardware offload is used for shaping
rather than scheduling (strict priority/DRR).
Correct.
The PRIO qdisc seems to support strict priority but not DRR. Similarly
DRR doesn't support strict priority.
My assumption is your hardware does not do 5 tuple FQ for the DRR, but
leverages the dscp field?
Instead, linux pretty much does a 5 tuple hash universally now for
packet steering (RPS) and in the sch_fq and fq_codel qdiscs.
I am not really big on strict priority with dscp, as whenever someone
lucks into the right dscp value they get most of the bandwidth, and
it's
more or less a matter of historical accident that the support in
mqprio/pfifo_fast is not more abused in the field. But that's me.
Please advise on how to effectively offload all the features.
Is the ETS - Enhanced Transmission Selection scheduler a better fit if
we simply need to offload scheduling with strict priority and DRR?
Of course, my dream is to see 5 tuple fq-codel or cake land in some
offload somewhere.
I don't know enough about how when and where ets is used, it's pretty
new, and I'd lke to know more.
Thanks,
Naveen
--
I tried to build a better future, a few times:
https://wayforward.archive.org/?site=https%3A%2F%2Fwww.icei.org
Dave Täht CEO, TekLibre, LLC