Re: [net-next Patch V4 2/4] octeontx2-pf: qos send queues management
From: Simon Horman <hidden>
Date: 2023-02-10 15:13:20
Also in:
bpf, linux-rdma, lkml
On Fri, Feb 10, 2023 at 04:40:49PM +0530, Hariprasad Kelam wrote:
From: Subbaraya Sundeep <sbhatta@marvell.com> 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@marvell.com> Signed-off-by: Hariprasad Kelam <redacted> Signed-off-by: Sunil Kovvuri Goutham <sgoutham@marvell.com> --- .../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
quoted hunk ↗ jump to hunk
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++;