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 30FDAA0543 for ; Sat, 5 Nov 2022 18:12:26 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 299C640151; Sat, 5 Nov 2022 18:12:26 +0100 (CET) Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) by mails.dpdk.org (Postfix) with ESMTP id 33538400D5 for ; Sat, 5 Nov 2022 18:12:25 +0100 (CET) Received: by mail-wm1-f46.google.com with SMTP id 5so4637968wmo.1 for ; Sat, 05 Nov 2022 10:12:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=LpbIPIp/bBpHkchVAzHhxlmqyI72luVfzC4ut+OXsPM=; b=kKko4LzjqUxn+UMPPzzBgcH0+6LoIS7VH9Gi/sYGxZO+V6GFTUOrM55r9REGikr/PU cdJvH0lRuOU1dgJ5OjPogZ+IJrkU2Y+oogaKwB1IvALJMyUMgLMtjtg9afYhr11xcRb7 A15k4KFnZGBpqo/gkYIDAUAHYymZ4iEL2DOUEoqPBqv1Pyg2Fu/amZvdhuYm7SPkjsId xkkPiQsZvytSNcr7z815lY9TxrcQtg1FX9BLQTtfnJRduJgCJxQ1cg6kyttgJw6Z54OO ziNrJBfded5MtkLhfCqieg/pNF1Xe2zOcGSVPCS71VrhfqmFcp1eZc0FhFV0EBcjcGMa tk+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LpbIPIp/bBpHkchVAzHhxlmqyI72luVfzC4ut+OXsPM=; b=z3Pdff6rI+tBS5wCe2r/PcnetdafgeK35V1RvFT0YJHcc2gRyaBouaCyRG2O4c1vTs du4S3fPFfDt1SrLXXuNHXomBLcUpRTuYkWvQOa20UggZ30ChUVPa/e+OI1KG9J8Rocea Nchb2rhROERw6sban6DlTK4eTgtMZ/UuleypIJJHTLgC7lpozyBMk9YbrxdvUXIaS2J+ rujt/6N9IKXrBEmIpAuV/TADqNDK+XCcaR+NeI/PyS8H13Vtvx43AoHuI0/GaTbVKIwR d8SsRNWqOVVltmuhBTG1AWt/yK3/swpJAYLS74lqXW74LLz3aJ6GaXoHFiHLAuDYzkFW 6uRg== X-Gm-Message-State: ACrzQf09kbwvvCQNgarBq0NDseUpTEbnCsg9j/AQkdFMV7JDFw23chkM RG0CdBZ92+15UQEBI/s54wkbxiq4nJ8= X-Google-Smtp-Source: AMsMyM5ua16opkj82bgsuz/Su+32BdFpovzX77deD3RTm4eKPdUsPtjyuo5tyuvCXKTYJU+OcFphJA== X-Received: by 2002:a05:600c:a09:b0:3b9:f70f:aa72 with SMTP id z9-20020a05600c0a0900b003b9f70faa72mr37734874wmp.97.1667668344846; Sat, 05 Nov 2022 10:12:24 -0700 (PDT) Received: from localhost ([137.220.119.58]) by smtp.gmail.com with ESMTPSA id m3-20020a05600c4f4300b003b47b80cec3sm6879863wmq.42.2022.11.05.10.12.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 05 Nov 2022 10:12:24 -0700 (PDT) From: luca.boccassi@gmail.com To: Ganapati Kundapura Cc: Abhinandan Gujjar , dpdk stable Subject: patch 'eventdev/crypto: fix multi-process' has been queued to stable release 20.11.7 Date: Sat, 5 Nov 2022 17:11:10 +0000 Message-Id: <20221105171146.1520039-11-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20221105171146.1520039-1-luca.boccassi@gmail.com> References: <20221103092758.1099402-100-luca.boccassi@gmail.com> <20221105171146.1520039-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 20.11.7 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/07/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/e4e6cf9356e5af14fdd0e966ad1513ed609e4273 Thanks. Luca Boccassi --- >From e4e6cf9356e5af14fdd0e966ad1513ed609e4273 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 --- .../rte_event_crypto_adapter.c | 30 +++++++++++++++++-- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/lib/librte_eventdev/rte_event_crypto_adapter.c b/lib/librte_eventdev/rte_event_crypto_adapter.c index ca58945a84..dc85c9d703 100644 --- a/lib/librte_eventdev/rte_event_crypto_adapter.c +++ b/lib/librte_eventdev/rte_event_crypto_adapter.c @@ -30,6 +30,8 @@ */ #define CRYPTO_ENQ_FLUSH_THRESHOLD 1024 +#define ECA_ADAPTER_ARRAY "crypto_adapter_array" + struct rte_event_crypto_adapter { /* Event device identifier */ uint8_t eventdev_id; @@ -118,7 +120,6 @@ eca_valid_id(uint8_t id) static int eca_init(void) { - const char *name = "crypto_adapter_array"; const struct rte_memzone *mz; unsigned int sz; @@ -126,9 +127,10 @@ eca_init(void) RTE_EVENT_CRYPTO_ADAPTER_MAX_INSTANCE; 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) { RTE_EDEV_LOG_ERR("failed to reserve memzone err = %" @@ -141,6 +143,22 @@ eca_init(void) return 0; } +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 rte_event_crypto_adapter * eca_id_to_adapter(uint8_t id) { @@ -1047,6 +1065,9 @@ rte_event_crypto_adapter_stats_get(uint8_t id, uint32_t i; int ret; + if (eca_memzone_lookup()) + return -ENOMEM; + EVENT_CRYPTO_ADAPTER_ID_VALID_OR_ERR_RET(id, -EINVAL); adapter = eca_id_to_adapter(id); @@ -1088,6 +1109,9 @@ rte_event_crypto_adapter_stats_reset(uint8_t id) struct rte_eventdev *dev; uint32_t i; + if (eca_memzone_lookup()) + return -ENOMEM; + EVENT_CRYPTO_ADAPTER_ID_VALID_OR_ERR_RET(id, -EINVAL); adapter = eca_id_to_adapter(id); -- 2.34.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-05 17:11:09.682033328 +0000 +++ 0011-eventdev-crypto-fix-multi-process.patch 2022-11-05 17:11:08.598941010 +0000 @@ -1 +1 @@ -From 8f4ff7de39693dfd26336afea5e12e1a7d8fd9b0 Mon Sep 17 00:00:00 2001 +From e4e6cf9356e5af14fdd0e966ad1513ed609e4273 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 8f4ff7de39693dfd26336afea5e12e1a7d8fd9b0 ] + @@ -14 +15,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ - lib/eventdev/rte_event_crypto_adapter.c | 30 ++++++++++++++++++++++--- + .../rte_event_crypto_adapter.c | 30 +++++++++++++++++-- @@ -22,5 +23,5 @@ -diff --git a/lib/eventdev/rte_event_crypto_adapter.c b/lib/eventdev/rte_event_crypto_adapter.c -index 59777726f6..3c585d7b0d 100644 ---- a/lib/eventdev/rte_event_crypto_adapter.c -+++ b/lib/eventdev/rte_event_crypto_adapter.c -@@ -33,6 +33,8 @@ +diff --git a/lib/librte_eventdev/rte_event_crypto_adapter.c b/lib/librte_eventdev/rte_event_crypto_adapter.c +index ca58945a84..dc85c9d703 100644 +--- a/lib/librte_eventdev/rte_event_crypto_adapter.c ++++ b/lib/librte_eventdev/rte_event_crypto_adapter.c +@@ -30,6 +30,8 @@ @@ -32,4 +33,4 @@ - struct crypto_ops_circular_buffer { - /* index of head element in circular buffer */ - uint16_t head; -@@ -138,7 +140,6 @@ eca_valid_id(uint8_t id) + struct rte_event_crypto_adapter { + /* Event device identifier */ + uint8_t eventdev_id; +@@ -118,7 +120,6 @@ eca_valid_id(uint8_t id) @@ -43 +44 @@ -@@ -146,9 +147,10 @@ eca_init(void) +@@ -126,9 +127,10 @@ eca_init(void) @@ -56 +57 @@ -@@ -161,6 +163,22 @@ eca_init(void) +@@ -141,6 +143,22 @@ eca_init(void) @@ -76,2 +77,2 @@ - static inline bool - eca_circular_buffer_batch_ready(struct crypto_ops_circular_buffer *bufp) + static inline struct rte_event_crypto_adapter * + eca_id_to_adapter(uint8_t id) @@ -79 +80 @@ -@@ -1238,6 +1256,9 @@ rte_event_crypto_adapter_stats_get(uint8_t id, +@@ -1047,6 +1065,9 @@ rte_event_crypto_adapter_stats_get(uint8_t id, @@ -89 +90 @@ -@@ -1279,6 +1300,9 @@ rte_event_crypto_adapter_stats_reset(uint8_t id) +@@ -1088,6 +1109,9 @@ rte_event_crypto_adapter_stats_reset(uint8_t id)