From patchwork Tue Oct 18 09:39:26 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ganapati Kundapura X-Patchwork-Id: 118358 X-Patchwork-Delegate: jerinj@marvell.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1BB9CA0560; Tue, 18 Oct 2022 11:39:32 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B39824021D; Tue, 18 Oct 2022 11:39:31 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mails.dpdk.org (Postfix) with ESMTP id B248940143 for ; Tue, 18 Oct 2022 11:39:30 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1666085970; x=1697621970; h=from:to:subject:date:message-id:mime-version: content-transfer-encoding; bh=OP53f8Dn/jJKzYuIp92hlSkjTymhwdm87Sq3sKa7Ick=; b=W+DkOKIigq1e9yQ+VrA0EOInyt0ALoWzMJZSzTjp/t9s8ArrEg6tukYr s2eQQwCac9KFcSaL/44fKIX7AeyZzDI/IwvxMuR01eBz2diZfaH1HRo7i cvBR05tuRhoeMf/cmlhvEF7YCOKibUcd08gQyA7CuVKExYL5Zd2D+dtiH I0s8XtNHVmxpXlXqaQb4zFd7nU/aaS8Q/L6dkkqGrGpCbGfseBePjhYKm 64x6xnk/hnTcN9kELY5NTsNS/+5HRJvUlO+85MMFlQ4ibAktXimyOQOLJ 0gEJHp+L80xfPmop5N4mkzQyXra1jaRETPGGSvBJxMkMrfqSrDS1KDT4+ g==; X-IronPort-AV: E=McAfee;i="6500,9779,10503"; a="306035876" X-IronPort-AV: E=Sophos;i="5.95,193,1661842800"; d="scan'208";a="306035876" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Oct 2022 02:39:29 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10503"; a="803676492" X-IronPort-AV: E=Sophos;i="5.95,193,1661842800"; d="scan'208";a="803676492" Received: from txandevlnx322.an.intel.com ([10.123.117.44]) by orsmga005.jf.intel.com with ESMTP; 18 Oct 2022 02:39:29 -0700 From: Ganapati Kundapura To: jay.jayatheerthan@intel.com, dev@dpdk.org, jerinj@marvell.com, abhinandan.gujjar@intel.com Subject: [PATCH v1] eventdev/crypto: add memzone lookup Date: Tue, 18 Oct 2022 04:39:26 -0500 Message-Id: <20221018093926.562384-1-ganapati.kundapura@intel.com> X-Mailer: git-send-email 2.23.0 MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Secondary process is not able to call the crypto adapter api's 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 api's(stats_get etc) Signed-off-by: Ganapati Kundapura Acked-by: Abhinandan Gujjar diff --git a/lib/eventdev/rte_event_crypto_adapter.c b/lib/eventdev/rte_event_crypto_adapter.c index a11cbcf..7c9901c 100644 --- a/lib/eventdev/rte_event_crypto_adapter.c +++ b/lib/eventdev/rte_event_crypto_adapter.c @@ -33,6 +33,8 @@ */ #define CRYPTO_ENQ_FLUSH_THRESHOLD 1024 +#define ECA_ADAPTER_ARRAY "crypto_adapter_array" + 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) static int eca_init(void) { - const char *name = "crypto_adapter_array"; const struct rte_memzone *mz; unsigned int sz; @@ -146,9 +147,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 = %" @@ -161,6 +163,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 bool eca_circular_buffer_batch_ready(struct crypto_ops_circular_buffer *bufp) { @@ -1234,6 +1252,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); @@ -1275,6 +1296,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);