[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZCL8mXFZxpTj1Duz@corigine.com>
Date: Tue, 28 Mar 2023 16:41:29 +0200
From: Simon Horman <simon.horman@...igine.com>
To: Hariprasad Kelam <hkelam@...vell.com>
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
kuba@...nel.org, davem@...emloft.net,
willemdebruijn.kernel@...il.com, andrew@...n.ch,
sgoutham@...vell.com, lcherian@...vell.com, gakula@...vell.com,
jerinj@...vell.com, sbhatta@...vell.com, naveenm@...vel.com,
edumazet@...gle.com, pabeni@...hat.com, jhs@...atatu.com,
xiyou.wangcong@...il.com, jiri@...nulli.us, maxtram95@...il.com
Subject: Re: [net-next Patch v5 5/6] octeontx2-pf: Add support for HTB offload
On Sun, Mar 26, 2023 at 11:42:44PM +0530, Hariprasad Kelam wrote:
> From: Naveen Mamindlapalli <naveenm@...vell.com>
>
> This patch registers callbacks to support HTB offload.
>
> Below are features supported,
>
> - supports traffic shaping on the given class by honoring rate and ceil
> configuration.
>
> - supports traffic scheduling, which prioritizes different types of
> traffic based on strict priority values.
>
> - supports the creation of leaf to inner classes such that parent node
> rate limits apply to all child nodes.
>
> Signed-off-by: Naveen Mamindlapalli <naveenm@...vell.com>
> Signed-off-by: Hariprasad Kelam <hkelam@...vell.com>
> Signed-off-by: Sunil Kovvuri Goutham <sgoutham@...vell.com>
Reviewed-by: Simon Horman <simon.horman@...igine.com>
> ---
> .../ethernet/marvell/octeontx2/af/common.h | 2 +-
> .../ethernet/marvell/octeontx2/nic/Makefile | 2 +-
> .../marvell/octeontx2/nic/otx2_common.c | 35 +-
> .../marvell/octeontx2/nic/otx2_common.h | 8 +-
> .../marvell/octeontx2/nic/otx2_ethtool.c | 31 +-
> .../ethernet/marvell/octeontx2/nic/otx2_pf.c | 56 +-
> .../ethernet/marvell/octeontx2/nic/otx2_reg.h | 13 +
> .../ethernet/marvell/octeontx2/nic/otx2_tc.c | 7 +-
> .../net/ethernet/marvell/octeontx2/nic/qos.c | 1460 +++++++++++++++++
> .../net/ethernet/marvell/octeontx2/nic/qos.h | 58 +-
> .../ethernet/marvell/octeontx2/nic/qos_sq.c | 20 +-
> 11 files changed, 1657 insertions(+), 35 deletions(-)
nit: this is a rather long patch.
...
> diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
...
> @@ -159,7 +165,7 @@ static void otx2_get_qset_stats(struct otx2_nic *pfvf,
> [otx2_queue_stats[stat].index];
> }
>
> - for (qidx = 0; qidx < pfvf->hw.tx_queues; qidx++) {
> + for (qidx = 0; qidx < otx2_get_total_tx_queues(pfvf); qidx++) {
nit: extra whitespace after '<'
> if (!otx2_update_sq_stats(pfvf, qidx)) {
> for (stat = 0; stat < otx2_n_queue_stats; stat++)
> *((*data)++) = 0;
...
> diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/qos.c b/drivers/net/ethernet/marvell/octeontx2/nic/qos.c
...
> +static int otx2_qos_update_tx_netdev_queues(struct otx2_nic *pfvf)
> +{
> + int tx_queues, qos_txqs, err;
> + struct otx2_hw *hw = &pfvf->hw;
nit: reverse xmas tree - longest line to shortest -
for local variable declarations.
> diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/qos.h b/drivers/net/ethernet/marvell/octeontx2/nic/qos.h
...
> +struct otx2_qos_node {
> + struct list_head list; /* list managment */
nit: s/managment/management/
> + struct list_head child_list;
> + struct list_head child_schq_list;
> + struct hlist_node hlist;
> + DECLARE_BITMAP(prio_bmap, OTX2_QOS_MAX_PRIO + 1);
> + struct otx2_qos_node *parent; /* parent qos node */
> + u64 rate; /* htb params */
> + u64 ceil;
> + u32 classid;
> + u32 prio;
> + u16 schq; /* hw txschq */
> + u16 qid;
> + u16 prio_anchor;
> + u8 level;
> +};
> +
>
> #endif
...
Powered by blists - more mailing lists