Re: Question about QoS hardware offload
Dave Taht <[email protected]> Wed, 15 Dec 2021 13:21:18 -0800
| Newsgroups | gmane.linux.network.routing,gmane.linux.network |
|---|---|
| Message-ID | <CAA93jw6p47ZN4DgRjxGjeYEub5fibo3bwn6mDCd=DqkH-toDTg@mail.gmail.com> |
On Wed, Dec 15, 2021 at 12:46 PM Naveen Mamindlapalli <[email protected]> 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 --=20 I tried to build a better future, a few times: https://wayforward.archive.org/?site=3Dhttps%3A%2F%2Fwww.icei.org Dave T=C3=A4ht CEO, TekLibre, LLC