Re: [net-next Patch V4 2/4] octeontx2-pf: qos send queues management

From: Simon Horman
Date: Fri Feb 10 2023 - 10:13:21 EST


On Fri, Feb 10, 2023 at 04:40:49PM +0530, Hariprasad Kelam wrote:
> From: Subbaraya Sundeep <sbhatta@xxxxxxxxxxx>
>
> Current implementation is such that the number of Send queues (SQs)
> are decided on the device probe which is equal to the number of online
> cpus. These SQs are allocated and deallocated in interface open and c
> lose calls respectively.
>
> This patch defines new APIs for initializing and deinitializing Send
> queues dynamically and allocates more number of transmit queues for
> QOS feature.
>
> Signed-off-by: Subbaraya Sundeep <sbhatta@xxxxxxxxxxx>
> Signed-off-by: Hariprasad Kelam <hkelam@xxxxxxxxxxx>
> Signed-off-by: Sunil Kovvuri Goutham <sgoutham@xxxxxxxxxxx>
> ---
> .../marvell/octeontx2/af/rvu_debugfs.c | 5 +
> .../ethernet/marvell/octeontx2/nic/Makefile | 2 +-
> .../marvell/octeontx2/nic/otx2_common.c | 40 ++-
> .../marvell/octeontx2/nic/otx2_common.h | 29 +-
> .../ethernet/marvell/octeontx2/nic/otx2_pf.c | 51 ++-
> .../marvell/octeontx2/nic/otx2_txrx.c | 25 +-
> .../marvell/octeontx2/nic/otx2_txrx.h | 3 +-
> .../ethernet/marvell/octeontx2/nic/otx2_vf.c | 9 +-
> .../net/ethernet/marvell/octeontx2/nic/qos.h | 19 ++
> .../ethernet/marvell/octeontx2/nic/qos_sq.c | 290 ++++++++++++++++++
> 10 files changed, 430 insertions(+), 43 deletions(-)
> create mode 100644 drivers/net/ethernet/marvell/octeontx2/nic/qos.h
> create mode 100644 drivers/net/ethernet/marvell/octeontx2/nic/qos_sq.c

nit: this patch is a little long

> diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
> index ef10aef3cda0..050be13dfa46 100644
> --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
> +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
> @@ -463,12 +463,14 @@ static int otx2_tx_napi_handler(struct otx2_nic *pfvf,
> break;
> }
>
> - if (cq->cq_type == CQ_XDP) {
> + qidx = cq->cq_idx - pfvf->hw.rx_queues;
> +
> + if (cq->cq_type == CQ_XDP)
> otx2_xdp_snd_pkt_handler(pfvf, sq, cqe);
> - } else {
> - otx2_snd_pkt_handler(pfvf, cq, sq, cqe, budget,
> - &tx_pkts, &tx_bytes);
> - }
> + else
> + otx2_snd_pkt_handler(pfvf, cq, &pfvf->qset.sq[qidx],
> + cqe, budget, &tx_pkts, &tx_bytes);
> +
>

nit: there are now two blank lines here

> cqe->hdr.cqe_type = NIX_XQE_TYPE_INVALID;
> processed_cqe++;