automatic DPDK test reports
 help / color / mirror / Atom feed
* [dpdk-test-report] |WARNING| pw100416-100418 [PATCH] [3/3] event/cnxk: rework enqueue path
@ 2021-10-04 20:14 dpdklab
  0 siblings, 0 replies; only message in thread
From: dpdklab @ 2021-10-04 20:14 UTC (permalink / raw)
  To: test-report; +Cc: dpdk-test-reports

[-- Attachment #1: Type: text/plain, Size: 14617 bytes --]

Test-Label: iol-testing
Test-Status: WARNING
http://dpdk.org/patch/100416

_apply patch failure_

Submitter: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>
Date: Monday, October 04 2021 08:37:38 
Applied on: CommitID:086d426406bd3f6fac96a15bbd871c7fe714bc2d
Apply patch set 100416-100418 failed:

Checking patch drivers/event/cnxk/cn10k_worker.h...
error: while searching for:

				cq_w1 = *(uint64_t *)(gw.u64[1] + 8);

				sa_base = cnxk_nix_sa_base_get(port,
							       lookup_mem);
				sa_base &= ~(ROC_NIX_INL_SA_BASE_ALIGN - 1);

				mbuf = (uint64_t)nix_sec_meta_to_mbuf_sc(cq_w1,
						sa_base, (uintptr_t)&iova,
						&loff, (struct rte_mbuf *)mbuf,
						d_off);
				if (loff)
					roc_npa_aura_op_free(m->pool->pool_id,
							     0, iova);

			}

			gw.u64[0] = CNXK_CLR_SUB_EVENT(gw.u64[0]);

error: patch failed: drivers/event/cnxk/cn10k_worker.h:237
Hunk #3 succeeded at 333 (offset -61 lines).
Hunk #4 succeeded at 391 (offset -61 lines).
error: while searching for:

		if (((port[0] ^ port[1]) & (port[2] ^ port[3])) ||
		    ((queue[0] ^ queue[1]) & (queue[2] ^ queue[3]))) {

			for (j = 0; j < 4; j++) {
				uint8_t lnum = 0, loff = 0, shft = 0;
				struct rte_mbuf *m = mbufs[i + j];
				uintptr_t laddr;
				uint16_t segdw;
				bool sec;

				txq = (struct cn10k_eth_txq *)
					txq_data[port[j]][queue[j]];
				cn10k_nix_tx_skeleton(txq, cmd, flags);
				/* Perform header writes before barrier
				 * for TSO
				 */
				if (flags & NIX_TX_OFFLOAD_TSO_F)
					cn10k_nix_xmit_prepare_tso(m, flags);

				cn10k_nix_xmit_prepare(m, cmd, flags,
						       txq->lso_tun_fmt, &sec);

				laddr = lmt_addr;
				/* Prepare CPT instruction and get nixtx addr if
				 * it is for CPT on same lmtline.
				 */
				if (flags & NIX_TX_OFFLOAD_SECURITY_F && sec)
					cn10k_nix_prep_sec(m, cmd, &laddr,
							   lmt_addr, &lnum,
							   &loff, &shft,
							   txq->sa_base, flags);

				/* Move NIX desc to LMT/NIXTX area */
				cn10k_nix_xmit_mv_lmt_base(laddr, cmd, flags);

				if (flags & NIX_TX_MULTI_SEG_F) {
					segdw = cn10k_nix_prepare_mseg(m,
						(uint64_t *)laddr, flags);
				} else {
					segdw = cn10k_nix_tx_ext_subs(flags) +
						2;
				}

				if (flags & NIX_TX_OFFLOAD_SECURITY_F && sec)
					pa = txq->cpt_io_addr | 3 << 4;
				else
					pa = txq->io_addr | ((segdw - 1) << 4);

				if (!sched_type)
					roc_sso_hws_head_wait(base +
							      SSOW_LF_GWS_TAG);

				roc_lmt_submit_steorl(lmt_id, pa);
			}
		} else {
			txq = (struct cn10k_eth_txq *)
				txq_data[port[0]][queue[0]];
			cn10k_nix_xmit_pkts_vector(txq, &mbufs[i], 4, cmd, base
					+ SSOW_LF_GWS_TAG,
						   flags | NIX_TX_VWQE_F);
		}
	}
}

static __rte_always_inline uint16_t

error: patch failed: drivers/event/cnxk/cn10k_worker.h:421
error: while searching for:
		       const uint64_t txq_data[][RTE_MAX_QUEUES_PER_PORT],
		       const uint32_t flags)
{
	uint8_t lnum = 0, loff = 0, shft = 0;
	struct cn10k_eth_txq *txq;
	uint16_t ref_cnt, segdw;
	struct rte_mbuf *m;
	uintptr_t lmt_addr;
	uintptr_t c_laddr;
	uint16_t lmt_id;
	uintptr_t pa;
	bool sec;

	lmt_addr = ws->lmt_base;
	ROC_LMT_BASE_ID_GET(lmt_addr, lmt_id);
	c_laddr = lmt_addr;

	if (ev->event_type & RTE_EVENT_TYPE_VECTOR) {
		struct rte_mbuf **mbufs = ev->vec->mbufs;

error: patch failed: drivers/event/cnxk/cn10k_worker.h:489
error: while searching for:

	m = ev->mbuf;
	ref_cnt = m->refcnt;
	txq = cn10k_sso_hws_xtract_meta(m, txq_data);
	cn10k_nix_tx_skeleton(txq, cmd, flags);
	/* Perform header writes before barrier for TSO */
	if (flags & NIX_TX_OFFLOAD_TSO_F)
		cn10k_nix_xmit_prepare_tso(m, flags);

	cn10k_nix_xmit_prepare(m, cmd, flags, txq->lso_tun_fmt, &sec);

	/* Prepare CPT instruction and get nixtx addr if
	 * it is for CPT on same lmtline.
	 */
	if (flags & NIX_TX_OFFLOAD_SECURITY_F && sec)
		cn10k_nix_prep_sec(m, cmd, &lmt_addr, c_laddr, &lnum, &loff,
				   &shft, txq->sa_base, flags);

	/* Move NIX desc to LMT/NIXTX area */
	cn10k_nix_xmit_mv_lmt_base(lmt_addr, cmd, flags);
	if (flags & NIX_TX_MULTI_SEG_F) {
		segdw = cn10k_nix_prepare_mseg(m, (uint64_t *)lmt_addr, flags);
	} else {
		segdw = cn10k_nix_tx_ext_subs(flags) + 2;
	}

	if (flags & NIX_TX_OFFLOAD_SECURITY_F && sec)
		pa = txq->cpt_io_addr | 3 << 4;
	else
		pa = txq->io_addr | ((segdw - 1) << 4);

	if (!ev->sched_type)
		roc_sso_hws_head_wait(ws->tx_base + SSOW_LF_GWS_TAG);

	roc_lmt_submit_steorl(lmt_id, pa);

	if (flags & NIX_TX_OFFLOAD_MBUF_NOFF_F) {
		if (ref_cnt > 1)

error: patch failed: drivers/event/cnxk/cn10k_worker.h:526
Applying patch drivers/event/cnxk/cn10k_worker.h with 4 rejects...
Hunk #1 applied cleanly.
Rejected hunk #2.
Hunk #3 applied cleanly.
Hunk #4 applied cleanly.
Rejected hunk #5.
Rejected hunk #6.
Rejected hunk #7.
diff a/drivers/event/cnxk/cn10k_worker.h b/drivers/event/cnxk/cn10k_worker.h	(rejected hunks)
@@ -237,18 +237,16 @@ cn10k_sso_hws_get_work(struct cn10k_sso_hws *ws, struct rte_event *ev,

 				cq_w1 = *(uint64_t *)(gw.u64[1] + 8);

-				sa_base = cnxk_nix_sa_base_get(port,
-							       lookup_mem);
+				sa_base =
+					cnxk_nix_sa_base_get(port, lookup_mem);
 				sa_base &= ~(ROC_NIX_INL_SA_BASE_ALIGN - 1);

-				mbuf = (uint64_t)nix_sec_meta_to_mbuf_sc(cq_w1,
-						sa_base, (uintptr_t)&iova,
-						&loff, (struct rte_mbuf *)mbuf,
-						d_off);
+				mbuf = (uint64_t)nix_sec_meta_to_mbuf_sc(
+					cq_w1, sa_base, (uintptr_t)&iova, &loff,
+					(struct rte_mbuf *)mbuf, d_off);
 				if (loff)
 					roc_npa_aura_op_free(m->pool->pool_id,
 							     0, iova);
-
 			}

 			gw.u64[0] = CNXK_CLR_SUB_EVENT(gw.u64[0]);
@@ -421,66 +471,25 @@ cn10k_sso_vwqe_split_tx(struct rte_mbuf **mbufs, uint16_t nb_mbufs,

 		if (((port[0] ^ port[1]) & (port[2] ^ port[3])) ||
 		    ((queue[0] ^ queue[1]) & (queue[2] ^ queue[3]))) {
-
-			for (j = 0; j < 4; j++) {
-				uint8_t lnum = 0, loff = 0, shft = 0;
-				struct rte_mbuf *m = mbufs[i + j];
-				uintptr_t laddr;
-				uint16_t segdw;
-				bool sec;
-
-				txq = (struct cn10k_eth_txq *)
-					txq_data[port[j]][queue[j]];
-				cn10k_nix_tx_skeleton(txq, cmd, flags);
-				/* Perform header writes before barrier
-				 * for TSO
-				 */
-				if (flags & NIX_TX_OFFLOAD_TSO_F)
-					cn10k_nix_xmit_prepare_tso(m, flags);
-
-				cn10k_nix_xmit_prepare(m, cmd, flags,
-						       txq->lso_tun_fmt, &sec);
-
-				laddr = lmt_addr;
-				/* Prepare CPT instruction and get nixtx addr if
-				 * it is for CPT on same lmtline.
-				 */
-				if (flags & NIX_TX_OFFLOAD_SECURITY_F && sec)
-					cn10k_nix_prep_sec(m, cmd, &laddr,
-							   lmt_addr, &lnum,
-							   &loff, &shft,
-							   txq->sa_base, flags);
-
-				/* Move NIX desc to LMT/NIXTX area */
-				cn10k_nix_xmit_mv_lmt_base(laddr, cmd, flags);
-
-				if (flags & NIX_TX_MULTI_SEG_F) {
-					segdw = cn10k_nix_prepare_mseg(m,
-						(uint64_t *)laddr, flags);
-				} else {
-					segdw = cn10k_nix_tx_ext_subs(flags) +
-						2;
-				}
-
-				if (flags & NIX_TX_OFFLOAD_SECURITY_F && sec)
-					pa = txq->cpt_io_addr | 3 << 4;
-				else
-					pa = txq->io_addr | ((segdw - 1) << 4);
-
-				if (!sched_type)
-					roc_sso_hws_head_wait(base +
-							      SSOW_LF_GWS_TAG);
-
-				roc_lmt_submit_steorl(lmt_id, pa);
-			}
+			for (j = 0; j < 4; j++)
+				cn10k_sso_tx_one(mbufs[i + j], cmd, lmt_id,
+						 lmt_addr, sched_type, base,
+						 txq_data, flags);
 		} else {
 			txq = (struct cn10k_eth_txq *)
 				txq_data[port[0]][queue[0]];
-			cn10k_nix_xmit_pkts_vector(txq, &mbufs[i], 4, cmd, base
-					+ SSOW_LF_GWS_TAG,
+			cn10k_nix_xmit_pkts_vector(txq, &mbufs[i], 4, cmd,
+						   base + SSOW_LF_GWS_TAG,
 						   flags | NIX_TX_VWQE_F);
 		}
 	}
+
+	mbufs += i;
+
+	for (i = 0; i < scalar; i++) {
+		cn10k_sso_tx_one(mbufs[i], cmd, lmt_id, lmt_addr, sched_type,
+				 base, txq_data, flags);
+	}
 }

 static __rte_always_inline uint16_t
@@ -489,19 +498,14 @@ cn10k_sso_hws_event_tx(struct cn10k_sso_hws *ws, struct rte_event *ev,
 		       const uint64_t txq_data[][RTE_MAX_QUEUES_PER_PORT],
 		       const uint32_t flags)
 {
-	uint8_t lnum = 0, loff = 0, shft = 0;
 	struct cn10k_eth_txq *txq;
-	uint16_t ref_cnt, segdw;
 	struct rte_mbuf *m;
 	uintptr_t lmt_addr;
-	uintptr_t c_laddr;
+	uint16_t ref_cnt;
 	uint16_t lmt_id;
-	uintptr_t pa;
-	bool sec;

 	lmt_addr = ws->lmt_base;
 	ROC_LMT_BASE_ID_GET(lmt_addr, lmt_id);
-	c_laddr = lmt_addr;

 	if (ev->event_type & RTE_EVENT_TYPE_VECTOR) {
 		struct rte_mbuf **mbufs = ev->vec->mbufs;
@@ -526,38 +530,8 @@ cn10k_sso_hws_event_tx(struct cn10k_sso_hws *ws, struct rte_event *ev,

 	m = ev->mbuf;
 	ref_cnt = m->refcnt;
-	txq = cn10k_sso_hws_xtract_meta(m, txq_data);
-	cn10k_nix_tx_skeleton(txq, cmd, flags);
-	/* Perform header writes before barrier for TSO */
-	if (flags & NIX_TX_OFFLOAD_TSO_F)
-		cn10k_nix_xmit_prepare_tso(m, flags);
-
-	cn10k_nix_xmit_prepare(m, cmd, flags, txq->lso_tun_fmt, &sec);
-
-	/* Prepare CPT instruction and get nixtx addr if
-	 * it is for CPT on same lmtline.
-	 */
-	if (flags & NIX_TX_OFFLOAD_SECURITY_F && sec)
-		cn10k_nix_prep_sec(m, cmd, &lmt_addr, c_laddr, &lnum, &loff,
-				   &shft, txq->sa_base, flags);
-
-	/* Move NIX desc to LMT/NIXTX area */
-	cn10k_nix_xmit_mv_lmt_base(lmt_addr, cmd, flags);
-	if (flags & NIX_TX_MULTI_SEG_F) {
-		segdw = cn10k_nix_prepare_mseg(m, (uint64_t *)lmt_addr, flags);
-	} else {
-		segdw = cn10k_nix_tx_ext_subs(flags) + 2;
-	}
-
-	if (flags & NIX_TX_OFFLOAD_SECURITY_F && sec)
-		pa = txq->cpt_io_addr | 3 << 4;
-	else
-		pa = txq->io_addr | ((segdw - 1) << 4);
-
-	if (!ev->sched_type)
-		roc_sso_hws_head_wait(ws->tx_base + SSOW_LF_GWS_TAG);
-
-	roc_lmt_submit_steorl(lmt_id, pa);
+	cn10k_sso_tx_one(m, cmd, lmt_id, lmt_addr, ev->sched_type, ws->tx_base,
+			 txq_data, flags);

 	if (flags & NIX_TX_OFFLOAD_MBUF_NOFF_F) {
 		if (ref_cnt > 1)
Checking patch drivers/event/cnxk/cn10k_eventdev.c...
error: while searching for:
}

static void
cn10k_sso_hws_setup(void *arg, void *hws, uintptr_t *grps_base)
{
	struct cnxk_sso_evdev *dev = arg;
	struct cn10k_sso_hws *ws = hws;
	uint64_t val;

	rte_memcpy(ws->grps_base, grps_base,
		   sizeof(uintptr_t) * CNXK_SSO_MAX_HWGRP);
	ws->fc_mem = (uint64_t *)dev->fc_iova;
	ws->xaq_lmt = dev->xaq_lmt;


error: patch failed: drivers/event/cnxk/cn10k_eventdev.c:91
Checking patch drivers/event/cnxk/cn10k_worker.h...
error: drivers/event/cnxk/cn10k_worker.h: does not match index
Checking patch drivers/event/cnxk/cn9k_eventdev.c...
Hunk #1 succeeded at 86 (offset -1 lines).
error: while searching for:
	val = NSEC2USEC(dev->deq_tmo_ns) - 1;
	if (dev->dual_ws) {
		dws = hws;
		rte_memcpy(dws->grps_base, grps_base,
			   sizeof(uintptr_t) * CNXK_SSO_MAX_HWGRP);
		dws->fc_mem = (uint64_t *)dev->fc_iova;
		dws->xaq_lmt = dev->xaq_lmt;


error: patch failed: drivers/event/cnxk/cn9k_eventdev.c:98
error: while searching for:
		plt_write64(val, dws->base[1] + SSOW_LF_GWS_NW_TIM);
	} else {
		ws = hws;
		rte_memcpy(ws->grps_base, grps_base,
			   sizeof(uintptr_t) * CNXK_SSO_MAX_HWGRP);
		ws->fc_mem = (uint64_t *)dev->fc_iova;
		ws->xaq_lmt = dev->xaq_lmt;


error: patch failed: drivers/event/cnxk/cn9k_eventdev.c:107
Checking patch drivers/event/cnxk/cn9k_worker.h...
Hunk #1 succeeded at 28 (offset -3 lines).
Hunk #2 succeeded at 106 (offset -3 lines).
Checking patch drivers/event/cnxk/cnxk_eventdev.c...
Hunk #1 succeeded at 419 (offset 87 lines).
Hunk #2 succeeded at 427 (offset 87 lines).
Checking patch drivers/event/cnxk/cnxk_eventdev.h...
Hunk #2 succeeded at 132 (offset 3 lines).
Hunk #3 succeeded at 160 (offset 3 lines).
Hunk #4 succeeded at 182 (offset 3 lines).
Applying patch drivers/event/cnxk/cn10k_eventdev.c with 1 reject...
Rejected hunk #1.
Applying patch drivers/event/cnxk/cn9k_eventdev.c with 2 rejects...
Hunk #1 applied cleanly.
Rejected hunk #2.
Rejected hunk #3.
Applied patch drivers/event/cnxk/cn9k_worker.h cleanly.
Applied patch drivers/event/cnxk/cnxk_eventdev.c cleanly.
Applied patch drivers/event/cnxk/cnxk_eventdev.h cleanly.
diff a/drivers/event/cnxk/cn10k_eventdev.c b/drivers/event/cnxk/cn10k_eventdev.c	(rejected hunks)
@@ -91,14 +91,13 @@ cn10k_sso_hws_unlink(void *arg, void *port, uint16_t *map, uint16_t nb_link)
 }
 
 static void
-cn10k_sso_hws_setup(void *arg, void *hws, uintptr_t *grps_base)
+cn10k_sso_hws_setup(void *arg, void *hws, uintptr_t grp_base)
 {
 	struct cnxk_sso_evdev *dev = arg;
 	struct cn10k_sso_hws *ws = hws;
 	uint64_t val;
 
-	rte_memcpy(ws->grps_base, grps_base,
-		   sizeof(uintptr_t) * CNXK_SSO_MAX_HWGRP);
+	ws->grp_base = grp_base;
 	ws->fc_mem = (uint64_t *)dev->fc_iova;
 	ws->xaq_lmt = dev->xaq_lmt;
 
diff a/drivers/event/cnxk/cn9k_eventdev.c b/drivers/event/cnxk/cn9k_eventdev.c	(rejected hunks)
@@ -98,8 +98,7 @@ cn9k_sso_hws_setup(void *arg, void *hws, uintptr_t *grps_base)
 	val = NSEC2USEC(dev->deq_tmo_ns) - 1;
 	if (dev->dual_ws) {
 		dws = hws;
-		rte_memcpy(dws->grps_base, grps_base,
-			   sizeof(uintptr_t) * CNXK_SSO_MAX_HWGRP);
+		dws->grp_base = grp_base;
 		dws->fc_mem = (uint64_t *)dev->fc_iova;
 		dws->xaq_lmt = dev->xaq_lmt;
 
@@ -107,8 +106,7 @@ cn9k_sso_hws_setup(void *arg, void *hws, uintptr_t *grps_base)
 		plt_write64(val, dws->base[1] + SSOW_LF_GWS_NW_TIM);
 	} else {
 		ws = hws;
-		rte_memcpy(ws->grps_base, grps_base,
-			   sizeof(uintptr_t) * CNXK_SSO_MAX_HWGRP);
+		ws->grp_base = grp_base;
 		ws->fc_mem = (uint64_t *)dev->fc_iova;
 		ws->xaq_lmt = dev->xaq_lmt;
 
Checking patch drivers/event/cnxk/cn9k_eventdev.c...
error: drivers/event/cnxk/cn9k_eventdev.c: does not match index
Checking patch drivers/event/cnxk/cn9k_worker.c...
Checking patch drivers/event/cnxk/cn9k_worker.h...
error: drivers/event/cnxk/cn9k_worker.h: does not match index
Checking patch drivers/event/cnxk/cn9k_worker_deq.c...
Checking patch drivers/event/cnxk/cn9k_worker_deq_ca.c...
Checking patch drivers/event/cnxk/cn9k_worker_deq_tmo.c...
Checking patch drivers/event/cnxk/cn9k_worker_dual_deq.c...
Checking patch drivers/event/cnxk/cn9k_worker_dual_deq_ca.c...
Checking patch drivers/event/cnxk/cn9k_worker_dual_deq_tmo.c...
Checking patch drivers/event/cnxk/cnxk_eventdev.h...
error: drivers/event/cnxk/cnxk_eventdev.h: does not match index
Applied patch drivers/event/cnxk/cn9k_worker.c cleanly.
Applied patch drivers/event/cnxk/cn9k_worker_deq.c cleanly.
Applied patch drivers/event/cnxk/cn9k_worker_deq_ca.c cleanly.
Applied patch drivers/event/cnxk/cn9k_worker_deq_tmo.c cleanly.
Applied patch drivers/event/cnxk/cn9k_worker_dual_deq.c cleanly.
Applied patch drivers/event/cnxk/cn9k_worker_dual_deq_ca.c cleanly.
Applied patch drivers/event/cnxk/cn9k_worker_dual_deq_tmo.c cleanly.

https://lab.dpdk.org/results/dashboard/patchsets/19142/

UNH-IOL DPDK Community Lab

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-10-04 20:14 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-04 20:14 [dpdk-test-report] |WARNING| pw100416-100418 [PATCH] [3/3] event/cnxk: rework enqueue path dpdklab

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).