From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 774BDA0542 for ; Fri, 11 Nov 2022 11:34:16 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7301940697; Fri, 11 Nov 2022 11:34:16 +0100 (CET) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mails.dpdk.org (Postfix) with ESMTP id 8514142D0C for ; Fri, 11 Nov 2022 11:34:14 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1668162853; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=BKYNVr3pVtNb7uAlFgotzDnDdmEBgC3rTtfmoOU/gsE=; b=FZcPnEK5n0NVz+CBquKjI9nluuP9FQNYquGRScTqlzJTc9aiXQ4DEj0gYFtkzY6mWHSv2d Z7YDrF9J1Qplolv2ErZQxUb6l5Jr6KSe5fBuKTTFgFsHtXPPy2eo5nwBKpEfATNPhqTpWK gwW5Ljz72NHPDO2Ht3exTvD5moNd78E= Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-463-4lLpXQvQMxelMYvL4L3BGw-1; Fri, 11 Nov 2022 05:34:10 -0500 X-MC-Unique: 4lLpXQvQMxelMYvL4L3BGw-1 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 2BF211C05EAB; Fri, 11 Nov 2022 10:34:10 +0000 (UTC) Received: from rh.redhat.com (unknown [10.39.195.104]) by smtp.corp.redhat.com (Postfix) with ESMTP id 25CAB200E288; Fri, 11 Nov 2022 10:34:08 +0000 (UTC) From: Kevin Traynor To: Ganapati Kundapura Cc: Abhinandan Gujjar , dpdk stable Subject: patch 'eventdev/crypto: fix multi-process' has been queued to stable release 21.11.3 Date: Fri, 11 Nov 2022 10:32:53 +0000 Message-Id: <20221111103337.307408-3-ktraynor@redhat.com> In-Reply-To: <20221111103337.307408-1-ktraynor@redhat.com> References: <20221111103337.307408-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.4 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII"; x-default=true X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 21.11.3 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/14/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/11b702acfa5008555120e1d65cfb3813c6eed6d6 Thanks. Kevin --- >From 11b702acfa5008555120e1d65cfb3813c6eed6d6 Mon Sep 17 00:00:00 2001 From: Ganapati Kundapura Date: Tue, 18 Oct 2022 04:39:26 -0500 Subject: [PATCH] eventdev/crypto: fix multi-process [ upstream commit 8f4ff7de39693dfd26336afea5e12e1a7d8fd9b0 ] Secondary process is not able to call the crypto adapter APIs stats get/reset as crypto adapter memzone memory is not accessible by secondary process. Added memzone lookup so that secondary process can call the crypto adapter APIs(stats_get etc) Fixes: 7901eac3409a ("eventdev: add crypto adapter implementation") Signed-off-by: Ganapati Kundapura Acked-by: Abhinandan Gujjar --- lib/eventdev/rte_event_crypto_adapter.c | 30 ++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/lib/eventdev/rte_event_crypto_adapter.c b/lib/eventdev/rte_event_crypto_adapter.c index d84080355d..142bfe9b9b 100644 --- a/lib/eventdev/rte_event_crypto_adapter.c +++ b/lib/eventdev/rte_event_crypto_adapter.c @@ -31,4 +31,6 @@ #define CRYPTO_ENQ_FLUSH_THRESHOLD 1024 +#define ECA_ADAPTER_ARRAY "crypto_adapter_array" + struct event_crypto_adapter { /* Event device identifier */ @@ -119,5 +121,4 @@ static int eca_init(void) { - const char *name = "crypto_adapter_array"; const struct rte_memzone *mz; unsigned int sz; @@ -127,7 +128,8 @@ eca_init(void) sz = RTE_ALIGN(sz, RTE_CACHE_LINE_SIZE); - mz = rte_memzone_lookup(name); + mz = rte_memzone_lookup(ECA_ADAPTER_ARRAY); if (mz == NULL) { - mz = rte_memzone_reserve_aligned(name, sz, rte_socket_id(), 0, + mz = rte_memzone_reserve_aligned(ECA_ADAPTER_ARRAY, sz, + rte_socket_id(), 0, RTE_CACHE_LINE_SIZE); if (mz == NULL) { @@ -142,4 +144,20 @@ eca_init(void) } +static int +eca_memzone_lookup(void) +{ + const struct rte_memzone *mz; + + if (event_crypto_adapter == NULL) { + mz = rte_memzone_lookup(ECA_ADAPTER_ARRAY); + if (mz == NULL) + return -ENOMEM; + + event_crypto_adapter = mz->addr; + } + + return 0; +} + static inline struct event_crypto_adapter * eca_id_to_adapter(uint8_t id) @@ -1052,4 +1070,7 @@ rte_event_crypto_adapter_stats_get(uint8_t id, int ret; + if (eca_memzone_lookup()) + return -ENOMEM; + EVENT_CRYPTO_ADAPTER_ID_VALID_OR_ERR_RET(id, -EINVAL); @@ -1093,4 +1114,7 @@ rte_event_crypto_adapter_stats_reset(uint8_t id) uint32_t i; + if (eca_memzone_lookup()) + return -ENOMEM; + EVENT_CRYPTO_ADAPTER_ID_VALID_OR_ERR_RET(id, -EINVAL); -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 10:32:17.193136269 +0000 +++ 0003-eventdev-crypto-fix-multi-process.patch 2022-11-11 10:32:16.995300450 +0000 @@ -1 +1 @@ -From 8f4ff7de39693dfd26336afea5e12e1a7d8fd9b0 Mon Sep 17 00:00:00 2001 +From 11b702acfa5008555120e1d65cfb3813c6eed6d6 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 8f4ff7de39693dfd26336afea5e12e1a7d8fd9b0 ] + @@ -14 +15,0 @@ -Cc: stable@dpdk.org @@ -23 +24 @@ -index 59777726f6..3c585d7b0d 100644 +index d84080355d..142bfe9b9b 100644 @@ -26 +27 @@ -@@ -34,4 +34,6 @@ +@@ -31,4 +31,6 @@ @@ -31,3 +32,3 @@ - struct crypto_ops_circular_buffer { - /* index of head element in circular buffer */ -@@ -139,5 +141,4 @@ static int + struct event_crypto_adapter { + /* Event device identifier */ +@@ -119,5 +121,4 @@ static int @@ -39 +40 @@ -@@ -147,7 +148,8 @@ eca_init(void) +@@ -127,7 +128,8 @@ eca_init(void) @@ -50 +51 @@ -@@ -162,4 +164,20 @@ eca_init(void) +@@ -142,4 +144,20 @@ eca_init(void) @@ -69,3 +70,3 @@ - static inline bool - eca_circular_buffer_batch_ready(struct crypto_ops_circular_buffer *bufp) -@@ -1239,4 +1257,7 @@ rte_event_crypto_adapter_stats_get(uint8_t id, + static inline struct event_crypto_adapter * + eca_id_to_adapter(uint8_t id) +@@ -1052,4 +1070,7 @@ rte_event_crypto_adapter_stats_get(uint8_t id, @@ -79 +80 @@ -@@ -1280,4 +1301,7 @@ rte_event_crypto_adapter_stats_reset(uint8_t id) +@@ -1093,4 +1114,7 @@ rte_event_crypto_adapter_stats_reset(uint8_t id)