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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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++;



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux