From: Hariprasad Kelam <hkelam@marvell.com>
To: Maxim Mikityanskiy <maxtram95@gmail.com>,
Jakub Kicinski <kuba@kernel.org>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"davem@davemloft.net" <davem@davemloft.net>,
"pabeni@redhat.com" <pabeni@redhat.com>,
"edumazet@google.com" <edumazet@google.com>,
Sunil Kovvuri Goutham <sgoutham@marvell.com>,
Linu Cherian <lcherian@marvell.com>,
Geethasowjanya Akula <gakula@marvell.com>,
Jerin Jacob Kollanukkaran <jerinj@marvell.com>,
Subbaraya Sundeep Bhatta <sbhatta@marvell.com>,
"jhs@mojatatu.com" <jhs@mojatatu.com>,
"xiyou.wangcong@gmail.com" <xiyou.wangcong@gmail.com>,
"jiri@resnulli.us" <jiri@resnulli.us>,
"saeedm@nvidia.com" <saeedm@nvidia.com>,
"richardcochran@gmail.com" <richardcochran@gmail.com>,
"tariqt@nvidia.com" <tariqt@nvidia.com>,
"linux-rdma@vger.kernel.org" <linux-rdma@vger.kernel.org>,
"hariprasad.netdev@gmail.com" <hariprasad.netdev@gmail.com>,
Naveen Mamindlapalli <naveenm@marvell.com>
Subject: Re: [net-next Patch v2 4/5] octeontx2-pf: Add devlink support to configure TL1 RR_PRIO
Date: Tue, 24 Jan 2023 11:49:48 +0000 [thread overview]
Message-ID: <PH0PR18MB44748DFCCABCDC2806A2DC2CDEC99@PH0PR18MB4474.namprd18.prod.outlook.com> (raw)
In-Reply-To: <Y88Rug7iaC0nOGvu@mail.gmail.com>
> On Mon, Jan 23, 2023 at 02:45:48PM -0800, Jakub Kicinski wrote:
> > On Mon, 23 Jan 2023 22:05:58 +0200 Maxim Mikityanskiy wrote:
> > > OK, I seem to get it now, thanks for the explanation!
> > >
> > > How do you set the priority for HTB, though? You mentioned this
> > > command to set priority of unclassified traffic:
> > >
> > > devlink -p dev param set pci/0002:04:00.0 name tl1_rr_prio value 6 \
> > > cmode runtime
> > >
> > > But what is the command to change priority for HTB?
> > >
> > > What bothers me about using devlink to configure HTB priority is:
> > >
> > > 1. Software HTB implementation doesn't have this functionality, and
> > > it always prioritizes unclassified traffic. As far as I understand,
> > > the rule for tc stuff is that all features must have a reference
> > > implementation in software.
> > >
> > > 2. Adding a flag (prefer unclassified vs prefer classified) to HTB
> > > itself may be not straightforward, because your devlink command has
> > > a second purpose of setting priorities between PFs/VFs, and it may
> > > conflict with the HTB flag.
> >
> > If there is a two-stage hierarchy the lower level should be controlled
> > by devlink-rate, no?
>
> From the last picture by Hariprasad, I understood that the user sets all
> priorities (for unclassified traffic per PF and VF, and for HTB traffic) on the
> same TL2 level, i.e. it's not two-stage. (Maybe I got it all wrong again?)
>
> I asked about the command to change the HTB priority, cause the
> parameters aren't easily guessed, but I assume it's also devlink (i.e.
> driver-specific).
>
Currently, we don't support changing HTB priority since TC_HTB_MODIFY is not yet supported.
The driver implementation is inline with htb tc framework, below are commands we use for setting htb priority
ethtool -K eth0 hw-tc-offload on
tc qdisc replace dev eth0 root handle 1: htb offload
tc class add dev eth0 parent 1: classid 1:1 htb rate 10Gbit prio 2
tc class add dev eth0 parent 1: classid 1:1 htb rate 10Gbit prio 3
> If there were two levels (the upper level chooses who goes first: HTB or
> unclassified, and the lower level sets priorities per PF and VF for unclassified
> traffic), that would be more straightforward to solve: the upper level should
> be controlled by a new HTB parameter, and the lower level is device-specific,
> thus it goes to devlink.
The PF netdev and VFs share the same physical link and share the same TL1 node.
Hardware supports one DWRR group and the rest are strict priority nodes. Driver configures
the priority set by devlink to PF and VF traffic TL2 nodes such that traffic is forwarded
to TL1 using DWRR algorithm.
Now that if we add htb command for unclassified traffic, at any given point in time HTB
rule only applies to a single interface, since we require to set DWRR priority at TL1,
which applies to both PF/VFs, we feel it's a different use case altogether.
next prev parent reply other threads:[~2023-01-24 11:50 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-18 10:51 [net-next Patch v2 0/5] octeontx2-pf: HTB offload support Hariprasad Kelam
2023-01-18 10:51 ` [net-next Patch v2 1/5] sch_htb: Allow HTB priority parameter in offload mode Hariprasad Kelam
2023-01-18 10:51 ` [net-next Patch v2 2/5] octeontx2-pf: qos send queues management Hariprasad Kelam
2023-01-22 16:46 ` Simon Horman
2023-01-23 17:26 ` Hariprasad Kelam
2023-01-18 10:51 ` [net-next Patch v2 3/5] octeontx2-pf: Refactor schedular queue alloc/free calls Hariprasad Kelam
2023-01-18 10:51 ` [net-next Patch v2 4/5] octeontx2-pf: Add devlink support to configure TL1 RR_PRIO Hariprasad Kelam
2023-01-18 20:37 ` Maxim Mikityanskiy
2023-01-20 8:50 ` Hariprasad Kelam
2023-01-20 13:37 ` Maxim Mikityanskiy
2023-01-20 17:03 ` Hariprasad Kelam
2023-01-22 13:18 ` Maxim Mikityanskiy
2023-01-23 17:03 ` Hariprasad Kelam
2023-01-23 20:05 ` Maxim Mikityanskiy
2023-01-23 22:45 ` Jakub Kicinski
2023-01-23 23:01 ` Maxim Mikityanskiy
2023-01-24 11:49 ` Hariprasad Kelam [this message]
2023-01-24 13:02 ` Maxim Mikityanskiy
2023-01-25 1:26 ` Jakub Kicinski
2023-01-26 17:16 ` Hariprasad Kelam
2023-01-23 22:44 ` Jakub Kicinski
2023-01-18 10:51 ` [net-next Patch v2 5/5] octeontx2-pf: Add support for HTB offload Hariprasad Kelam
-- strict thread matches above, loose matches on Subject: below --
2023-01-18 10:04 [net-next Patch v2 0/5] octeontx2-pf: HTB offload support Hariprasad Kelam
2023-01-18 10:04 ` [net-next Patch v2 4/5] octeontx2-pf: Add devlink support to configure TL1 RR_PRIO Hariprasad Kelam
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=PH0PR18MB44748DFCCABCDC2806A2DC2CDEC99@PH0PR18MB4474.namprd18.prod.outlook.com \
--to=hkelam@marvell.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=gakula@marvell.com \
--cc=hariprasad.netdev@gmail.com \
--cc=jerinj@marvell.com \
--cc=jhs@mojatatu.com \
--cc=jiri@resnulli.us \
--cc=kuba@kernel.org \
--cc=lcherian@marvell.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=maxtram95@gmail.com \
--cc=naveenm@marvell.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=richardcochran@gmail.com \
--cc=saeedm@nvidia.com \
--cc=sbhatta@marvell.com \
--cc=sgoutham@marvell.com \
--cc=tariqt@nvidia.com \
--cc=xiyou.wangcong@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®