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 E301EA0547 for ; Tue, 15 Nov 2022 09:19:09 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C433640DFD; Tue, 15 Nov 2022 09:19:09 +0100 (CET) Received: from smtp-relay-internal-1.canonical.com (smtp-relay-internal-1.canonical.com [185.125.188.123]) by mails.dpdk.org (Postfix) with ESMTP id 579EF40150 for ; Tue, 15 Nov 2022 09:19:09 +0100 (CET) Received: from mail-oi1-f197.google.com (mail-oi1-f197.google.com [209.85.167.197]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id 0AC38412C6 for ; Tue, 15 Nov 2022 08:19:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1668500349; bh=rJucXVyqlcY/BHhE3hdQbHOyh68ELc+D2Px5VhV+zdM=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=XijT7f3xJiryhj+7ax4Lij9hMzUaJ6YCWr7mVNfygEf4g586cFl273c8H6l4k6k6U 6tgH6uqSBrzorcSlFb8d4YMTUGiRQKuSrBSOO72Ejp/+THVarK1xIx1Bna6NXwuiSZ BslnsJ0BEYck/km5XQfD69+bqNmHNcQkBORWVhV3MMQn97w1iCrcx4VmN5YK68M3/5 zqV2D7dUvMgj7Z1g+estmsxE+9uSxY2LfEaON2+N13fsLKkxJsvHmDwsPh7D8blIAQ lNWc7DhfNSJEfHmuwoXg0oYzqdCD98DO+NO6TbKMTPfmMqGPyPBfk2Bf2p9D9LK0gK fP9bO7nt0fsBA== Received: by mail-oi1-f197.google.com with SMTP id 19-20020aca1113000000b0035a95a1f697so4492426oir.16 for ; Tue, 15 Nov 2022 00:19:08 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=rJucXVyqlcY/BHhE3hdQbHOyh68ELc+D2Px5VhV+zdM=; b=C8kAasgKm2G3oZU1PaYmcrfEgVniAV8N+x+7v6uIkZsBaNcTsqOQQ9Eh2wo/w9uLHz /kD31zZLg1TSYVHg1q6QMWbsea1++QzzXACNv/IS5rsj2NqmUgHJU3HVByoBKohwqSLe eRMdxuLa9TkaqTUolC8HaUlGiHBZqtfcaokydeCC05VUDqVDli33pRpRhy8S4LhfzrYa 1Y/gyZUx0azIVvs4Ol/kj39Js70e1SJzZLDK6QEYobX3VK7US5DSMJrt8fvqE7d1ir/D NVEiYm2OHJ3yrXHhseQ7ZAeVx1B4nsKmxh+0R7fmhwyfdKrbUE5Hq0SOXVGA/VxL/o1v DBFg== X-Gm-Message-State: ANoB5pnuQGl8niaeK6DnBxrb1MKiiLkHKJ26k88SIYHVmmXDbWxMiMT/ 3ZcQG10JzC/E4NNCBJQKi0fgDMjCISgcoLZlRUZsMI2AX/1okkagNNhWVTLPWlgC0K10CTfWUEc xTmf1KvSw2+GCVG8O9b7mgkT6Zh9BgbR7O0aUWre5 X-Received: by 2002:a05:6870:8197:b0:131:caf1:947 with SMTP id k23-20020a056870819700b00131caf10947mr120651oae.204.1668500347894; Tue, 15 Nov 2022 00:19:07 -0800 (PST) X-Google-Smtp-Source: AA0mqf4YVnKaQGEiEGQAWmVxepO/WLYEXA5mJ8F7n4xYMGBDkVqSuBQlx1BqScsGv2gQC08uoEhNLsWzJd1uGZwJxRQ= X-Received: by 2002:a05:6870:8197:b0:131:caf1:947 with SMTP id k23-20020a056870819700b00131caf10947mr120643oae.204.1668500347613; Tue, 15 Nov 2022 00:19:07 -0800 (PST) MIME-Version: 1.0 References: <20221111160903.2505516-1-ganapati.kundapura@intel.com> In-Reply-To: <20221111160903.2505516-1-ganapati.kundapura@intel.com> From: Christian Ehrhardt Date: Tue, 15 Nov 2022 09:18:41 +0100 Message-ID: Subject: Re: [PATCH 19.11] eventdev/crypto: fix multi-process To: Ganapati Kundapura Cc: stable@dpdk.org, Abhinandan Gujjar Content-Type: text/plain; charset="UTF-8" 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 On Fri, Nov 11, 2022 at 5:09 PM Ganapati Kundapura wrote: > > [ upstream commit 8f4ff7de39693dfd26336afea5e12e1a7d8fd9b0 ] Thanks, applied to the WIP branch - expect it to be part of 19.11.14 unless some builds stumble over it. > 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") > Cc: stable@dpdk.org > > Signed-off-by: Ganapati Kundapura > Acked-by: Abhinandan Gujjar > > diff --git a/lib/librte_eventdev/rte_event_crypto_adapter.c b/lib/librte_eventdev/rte_event_crypto_adapter.c > index 3c330c6cb..4f67b8faf 100644 > --- a/lib/librte_eventdev/rte_event_crypto_adapter.c > +++ b/lib/librte_eventdev/rte_event_crypto_adapter.c > @@ -29,6 +29,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; > @@ -117,7 +119,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; > > @@ -125,9 +126,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 = %" > @@ -140,6 +142,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) > { > @@ -1037,6 +1055,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); > @@ -1078,6 +1099,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.23.0 > -- Christian Ehrhardt Senior Staff Engineer, Ubuntu Server Canonical Ltd