* [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).