patch 'event/octeontx: fix SSO fast path' has been queued to stable release 21.11.2
Kevin Traynor
ktraynor at redhat.com
Fri Jun 24 17:01:25 CEST 2022
Hi,
FYI, your patch has been queued to stable release 21.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/27/22. So please
shout if anyone has objections.
Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.
Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/d2c3d326d001605c8ba05ac61f8ce656754dc36f
Thanks.
Kevin
---
>From d2c3d326d001605c8ba05ac61f8ce656754dc36f Mon Sep 17 00:00:00 2001
From: Harman Kalra <hkalra at marvell.com>
Date: Tue, 24 May 2022 14:12:25 +0530
Subject: [PATCH] event/octeontx: fix SSO fast path
[ upstream commit d430b921a4d7c5449f6e99b5ba40671b27d87adb ]
Segmentation fault is observed as soon as any application
with ethdev event is launched as ev->mbuf was not set properly.
Fixing sub event type violation as in OCTEONTX event device
sub_event_type is used to store the ethernet port identifier
when work is received from OCTEONTX ethernet device. This violates
the event device spec as sub_event_type should be 0 in the initial
receive stage. Setting sub_event_type to 0 after copying the port id
in single workslot mode.
Fixes: 44a2cebbd489 ("crypto/octeontx: add crypto adapter data path")
Signed-off-by: Harman Kalra <hkalra at marvell.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula at marvell.com>
---
drivers/event/octeontx/ssovf_worker.h | 24 +++++++++++++++---------
1 file changed, 15 insertions(+), 9 deletions(-)
diff --git a/drivers/event/octeontx/ssovf_worker.h b/drivers/event/octeontx/ssovf_worker.h
index e6ee292688..57be476394 100644
--- a/drivers/event/octeontx/ssovf_worker.h
+++ b/drivers/event/octeontx/ssovf_worker.h
@@ -180,14 +180,20 @@ ssows_get_work(struct ssows *ws, struct rte_event *ev, const uint16_t flag)
if (get_work1) {
- if (ev->event_type == RTE_EVENT_TYPE_ETHDEV)
- get_work1 = (uintptr_t)ssovf_octeontx_wqe_to_pkt(
- get_work1, (ev->event >> 20) & 0x7F, flag,
- ws->lookup_mem);
- else if (ev->event_type == RTE_EVENT_TYPE_CRYPTODEV)
+ if (ev->event_type == RTE_EVENT_TYPE_ETHDEV) {
+ uint16_t port = (ev->event >> 20) & 0x7F;
+
+ ev->sub_event_type = 0;
+ ev->mbuf = ssovf_octeontx_wqe_to_pkt(
+ get_work1, port, flag, ws->lookup_mem);
+ } else if (ev->event_type == RTE_EVENT_TYPE_CRYPTODEV) {
get_work1 = otx_crypto_adapter_dequeue(get_work1);
- ev->u64 = get_work1;
- } else if (unlikely((get_work0 & 0xFFFFFFFF) == 0xFFFFFFFF)) {
- ssovf_octeontx_wqe_free(get_work1);
- return 0;
+ ev->u64 = get_work1;
+ } else {
+ if (unlikely((get_work0 & 0xFFFFFFFF) == 0xFFFFFFFF)) {
+ ssovf_octeontx_wqe_free(get_work1);
+ return 0;
+ }
+ ev->u64 = get_work1;
+ }
}
--
2.34.3
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2022-06-24 15:51:09.554392156 +0100
+++ 0022-event-octeontx-fix-SSO-fast-path.patch 2022-06-24 15:51:08.886984122 +0100
@@ -1 +1 @@
-From d430b921a4d7c5449f6e99b5ba40671b27d87adb Mon Sep 17 00:00:00 2001
+From d2c3d326d001605c8ba05ac61f8ce656754dc36f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d430b921a4d7c5449f6e99b5ba40671b27d87adb ]
+
@@ -17 +18,0 @@
-Cc: stable at dpdk.org
More information about the stable
mailing list