Re: Question about QoS hardware offload
flat view
From: Dave Taht <hidden>
Date: 2021-12-15 21:21:32
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