From: Hariprasad Kelam <hkelam@marvell.com>
To: <netdev@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Cc: <kuba@kernel.org>, <davem@davemloft.net>,
<willemdebruijn.kernel@gmail.com>, <andrew@lunn.ch>,
<sgoutham@marvell.com>, <lcherian@marvell.com>,
<gakula@marvell.com>, <jerinj@marvell.com>, <sbhatta@marvell.com>,
<hkelam@marvell.com>, <naveenm@marvell.com>,
<edumazet@google.com>, <pabeni@redhat.com>, <jhs@mojatatu.com>,
<xiyou.wangcong@gmail.com>, <jiri@resnulli.us>,
<maxtram95@gmail.com>, <corbet@lwn.net>
Subject: fRom db62b365277f354bad482ac77be8308f8ac326b4 Mon Sep 17 00:00:00 2001
Date: Mon, 10 Apr 2023 12:59:04 +0530 [thread overview]
Message-ID: <20230410072910.5632-1-hkelam@marvell.com> (raw)
octeontx2 silicon and CN10K transmit interface consists of five
transmit levels starting from MDQ, TL4 to TL1. Once packets are
submitted to MDQ, hardware picks all active MDQs using strict
priority, and MDQs having the same priority level are chosen using
round robin. Each packet will traverse MDQ, TL4 to TL1 levels.
Each level contains an array of queues to support scheduling and
shaping.
As HTB supports classful queuing mechanism by supporting rate and
ceil and allow the user to control the absolute bandwidth to
particular classes of traffic the same can be achieved by
configuring shapers and schedulers on different transmit levels.
This series of patches adds support for HTB offload,
Patch1: Allow strict priority parameter in HTB offload mode.
Patch2: Rename existing total tx queues for better readability
Patch3: defines APIs such that the driver can dynamically initialize/
deinitialize the send queues.
Patch4: Refactors transmit alloc/free calls as preparation for QOS
offload code.
Patch5: Adds actual HTB offload support.
Patch6: Add documentation about htb offload flow in driver
Hariprasad Kelam (3):
octeontx2-pf: Rename tot_tx_queues to non_qos_queues
octeontx2-pf: Refactor schedular queue alloc/free calls
docs: octeontx2: Add Documentation for QOS
Naveen Mamindlapalli (2):
sch_htb: Allow HTB priority parameter in offload mode
octeontx2-pf: Add support for HTB offload
Subbaraya Sundeep (1):
octeontx2-pf: qos send queues management
-----
v1 -> v2 :
ensure other drivers won't affect by allowing 'prio'
a parameter in htb offload mode.
v2 -> v3 :
1. discard patch supporting devlink to configure TL1 round
robin priority
2. replace NL_SET_ERR_MSG with NL_SET_ERR_MSG_MOD
3. use max3 instead of using max couple of times and use a better
naming convention in send queue management code.
v3 -> v4:
1. fix sparse warnings.
2. release mutex lock in error conditions.
v4 -> v5:
1. fix pahole reported issues
2. add documentation for htb offload flow.
v5 -> v6:
1. fix synchronization issues w.r.t hlist accessing
from ndo_select_queue with rcu lock.
2. initialize qos related resources in device init.
v6 -> v7:
1. fix erros reported by sparse and clang
.../ethernet/marvell/octeontx2.rst | 39 +
.../ethernet/marvell/octeontx2/af/common.h | 2 +-
.../marvell/octeontx2/af/rvu_debugfs.c | 5 +
.../ethernet/marvell/octeontx2/af/rvu_nix.c | 45 +
.../ethernet/marvell/octeontx2/nic/Makefile | 2 +-
.../marvell/octeontx2/nic/otx2_common.c | 120 +-
.../marvell/octeontx2/nic/otx2_common.h | 56 +-
.../marvell/octeontx2/nic/otx2_ethtool.c | 31 +-
.../ethernet/marvell/octeontx2/nic/otx2_pf.c | 114 +-
.../ethernet/marvell/octeontx2/nic/otx2_reg.h | 13 +
.../ethernet/marvell/octeontx2/nic/otx2_tc.c | 7 +-
.../marvell/octeontx2/nic/otx2_txrx.c | 24 +-
.../marvell/octeontx2/nic/otx2_txrx.h | 3 +-
.../ethernet/marvell/octeontx2/nic/otx2_vf.c | 14 +-
.../net/ethernet/marvell/octeontx2/nic/qos.c | 1471 +++++++++++++++++
.../net/ethernet/marvell/octeontx2/nic/qos.h | 69 +
.../ethernet/marvell/octeontx2/nic/qos_sq.c | 296 ++++
.../net/ethernet/mellanox/mlx5/core/en/qos.c | 7 +-
include/net/pkt_cls.h | 1 +
net/sched/sch_htb.c | 7 +-
20 files changed, 2219 insertions(+), 107 deletions(-)
create mode 100644 drivers/net/ethernet/marvell/octeontx2/nic/qos.c
create mode 100644 drivers/net/ethernet/marvell/octeontx2/nic/qos.h
create mode 100644 drivers/net/ethernet/marvell/octeontx2/nic/qos_sq.c
--
2.17.1
next reply other threads:[~2023-04-10 7:29 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-10 7:29 Hariprasad Kelam [this message]
2023-04-10 7:29 ` [net-next Patch v7 1/6] sch_htb: Allow HTB priority parameter in offload mode Hariprasad Kelam
2023-04-12 23:06 ` Jacob Keller
2023-04-10 7:29 ` [net-next Patch v7 2/6] octeontx2-pf: Rename tot_tx_queues to non_qos_queues Hariprasad Kelam
2023-04-12 23:06 ` Jacob Keller
2023-04-10 7:29 ` [net-next Patch v7 3/6] octeontx2-pf: qos send queues management Hariprasad Kelam
2023-04-12 23:09 ` Jacob Keller
2023-04-10 7:29 ` [net-next Patch v7 4/6] octeontx2-pf: Refactor schedular queue alloc/free calls Hariprasad Kelam
2023-04-12 23:10 ` Jacob Keller
2023-04-10 7:29 ` [net-next Patch v7 5/6] octeontx2-pf: Add support for HTB offload Hariprasad Kelam
2023-04-12 23:14 ` Jacob Keller
2023-04-10 7:29 ` [net-next Patch v7 6/6] docs: octeontx2: Add Documentation for QOS Hariprasad Kelam
2023-04-12 23:16 ` Jacob Keller
2023-04-12 23:05 ` fRom db62b365277f354bad482ac77be8308f8ac326b4 Mon Sep 17 00:00:00 2001 Jacob Keller
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=20230410072910.5632-1-hkelam@marvell.com \
--to=hkelam@marvell.com \
--cc=andrew@lunn.ch \
--cc=corbet@lwn.net \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=gakula@marvell.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=maxtram95@gmail.com \
--cc=naveenm@marvell.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=sbhatta@marvell.com \
--cc=sgoutham@marvell.com \
--cc=willemdebruijn.kernel@gmail.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®