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 59627A00C2; Fri, 17 Jun 2022 14:07:11 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4D4C64280E; Fri, 17 Jun 2022 14:07:11 +0200 (CEST) Received: from mail-qv1-f46.google.com (mail-qv1-f46.google.com [209.85.219.46]) by mails.dpdk.org (Postfix) with ESMTP id CF80440DDD for ; Fri, 17 Jun 2022 14:07:10 +0200 (CEST) Received: by mail-qv1-f46.google.com with SMTP id cu16so5508027qvb.7 for ; Fri, 17 Jun 2022 05:07:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=RGUBqq0MEd/jFcwdTgjzClq89yJ5gEH+DIR6t4UDx78=; b=ZaZM9K6YBqUSZVz2n2hw4c9pjG6oUzwmuvHekbBaPT2aGYx0G2CPHp9NoFqaquGwVv MtKRzRWegqRxhUK8xUBfQB0+he1J9TIUGzrkYIKr/n21pFRhNJ+v0+eb27GtcP95x71h ELuvmbBM7RDhMj/k8YrDwjVMlrcqu3WzI0qzdU8vaSTTvxXo+rmPHLTj1q77A0COOVY9 MiSHKKjWW6SCoUP6QQUJqMe49QMC+vvwtjZDK6gGt0/dVQ/JXuEUx8xACDEGUVO6WHCK FGTbq39imYTFzSSR8FyBQ6NkvhTBUWwT+Kj0IZUOsNtNRfniMbNrxv0CuQyQb9LQqWqO SFrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=RGUBqq0MEd/jFcwdTgjzClq89yJ5gEH+DIR6t4UDx78=; b=auN1lmb7M7ST5JfGQ9CUeuel6wzJtjlvd0EZa3cukBXalpVB4J/NY7YwnfU8hTQyef 2/ww+Ez47MaAZjqrGH6wJHu/X02frk1pg+gqmcNlcw/GvXnPeQI/UEwMaxlWmpDs/Rqu Y74j7Z4JxABERiHY7HAWJjdkYGlbwg3pW9ksM7eAQLhDFoFtzOekx3jd5oiEAPPcFJ1A b6ZhivN3zHi9hkH2qvKAMzZ2tk7JljyJQ4AUwonPVBqPYMa+uQ94eNZ5rJ8wadpfPe48 385Enp2TPLdhMILbklELqvWqIjjT7xiQiHuJ0BdwfixC9WlByVbQigPsajC/b8j/1ZWR j8bg== X-Gm-Message-State: AJIora+y2vsfVdLy8Vf5oU2PY/q0AqV2vX2PAS5l21hDotHgmTB1yyYX QfkI5dzWXUfRFbwGqrp3la/wYMmZJIMB0IReSECYlN76xQk= X-Google-Smtp-Source: AGRyM1uiVWDZscEjmjM5NFpTZAtupkO2o+VAjB2oOLOzsOUPjCQ89hjmIDSBzH73cPHGTQm/wOHU/FIKQBpUc5gGNzQ= X-Received: by 2002:a05:622a:34e:b0:305:2f9:9ce1 with SMTP id r14-20020a05622a034e00b0030502f99ce1mr7865387qtw.458.1655467630185; Fri, 17 Jun 2022 05:07:10 -0700 (PDT) MIME-Version: 1.0 References: <20220617100217.3356870-1-vfialko@marvell.com> <20220617100217.3356870-2-vfialko@marvell.com> In-Reply-To: <20220617100217.3356870-2-vfialko@marvell.com> From: Jerin Jacob Date: Fri, 17 Jun 2022 17:36:44 +0530 Message-ID: Subject: Re: [PATCH 1/2] app/eventdev: add null checks for cop allocations To: Volodymyr Fialko Cc: dpdk-dev , Jerin Jacob , Anoob Joseph Content-Type: text/plain; charset="UTF-8" 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 On Fri, Jun 17, 2022 at 3:32 PM Volodymyr Fialko wrote: > > Crypto operation allocation may fail in case when total size of queue > pairs is bigger then pool size. ^^^ ^^^^^^^ pairs are bigger than the pool size. Acked-by: Jerin Jacob Please send v2 with other changes in 1/2 > > Signed-off-by: Volodymyr Fialko > --- > app/test-eventdev/test_perf_common.c | 40 ++++++++++++++++++++++++++-- > 1 file changed, 38 insertions(+), 2 deletions(-) > > diff --git a/app/test-eventdev/test_perf_common.c b/app/test-eventdev/test_perf_common.c > index b41785492e..a5e031873d 100644 > --- a/app/test-eventdev/test_perf_common.c > +++ b/app/test-eventdev/test_perf_common.c > @@ -367,6 +367,7 @@ crypto_adapter_enq_op_new(struct prod_data *p) > struct evt_options *opt = t->opt; > uint16_t qp_id = p->ca.cdev_qp_id; > uint8_t cdev_id = p->ca.cdev_id; > + uint64_t alloc_failures = 0; > uint32_t flow_counter = 0; > struct rte_crypto_op *op; > struct rte_mbuf *m; > @@ -386,9 +387,17 @@ crypto_adapter_enq_op_new(struct prod_data *p) > > op = rte_crypto_op_alloc(t->ca_op_pool, > RTE_CRYPTO_OP_TYPE_SYMMETRIC); > + if (unlikely(op == NULL)) { > + alloc_failures++; > + continue; > + } > + > m = rte_pktmbuf_alloc(pool); > - if (m == NULL) > + if (unlikely(m == NULL)) { > + alloc_failures++; > + rte_crypto_op_free(op); > continue; > + } > > rte_pktmbuf_append(m, len); > sym_op = op->sym; > @@ -404,6 +413,11 @@ crypto_adapter_enq_op_new(struct prod_data *p) > > op = rte_crypto_op_alloc(t->ca_op_pool, > RTE_CRYPTO_OP_TYPE_ASYMMETRIC); > + if (unlikely(op == NULL)) { > + alloc_failures++; > + continue; > + } > + > asym_op = op->asym; > asym_op->modex.base.data = modex_test_case.base.data; > asym_op->modex.base.length = modex_test_case.base.len; > @@ -418,6 +432,10 @@ crypto_adapter_enq_op_new(struct prod_data *p) > > count++; > } > + > + if (opt->verbose_level > 1 && alloc_failures) > + printf("%s(): lcore %d allocation failures: %"PRIu64"\n", > + __func__, rte_lcore_id(), alloc_failures); > } > > static inline void > @@ -430,6 +448,7 @@ crypto_adapter_enq_op_fwd(struct prod_data *p) > const uint64_t nb_pkts = t->nb_pkts; > struct rte_mempool *pool = t->pool; > struct evt_options *opt = t->opt; > + uint64_t alloc_failures = 0; > uint32_t flow_counter = 0; > struct rte_crypto_op *op; > struct rte_event ev; > @@ -455,9 +474,17 @@ crypto_adapter_enq_op_fwd(struct prod_data *p) > > op = rte_crypto_op_alloc(t->ca_op_pool, > RTE_CRYPTO_OP_TYPE_SYMMETRIC); > + if (unlikely(op == NULL)) { > + alloc_failures++; > + continue; > + } > + > m = rte_pktmbuf_alloc(pool); > - if (m == NULL) > + if (unlikely(m == NULL)) { > + alloc_failures++; > + rte_crypto_op_free(op); > continue; > + } > > rte_pktmbuf_append(m, len); > sym_op = op->sym; > @@ -473,6 +500,11 @@ crypto_adapter_enq_op_fwd(struct prod_data *p) > > op = rte_crypto_op_alloc(t->ca_op_pool, > RTE_CRYPTO_OP_TYPE_ASYMMETRIC); > + if (unlikely(op == NULL)) { > + alloc_failures++; > + continue; > + } > + > asym_op = op->asym; > asym_op->modex.base.data = modex_test_case.base.data; > asym_op->modex.base.length = modex_test_case.base.len; > @@ -489,6 +521,10 @@ crypto_adapter_enq_op_fwd(struct prod_data *p) > > count++; > } > + > + if (opt->verbose_level > 1 && alloc_failures) > + printf("%s(): lcore %d allocation failures: %"PRIu64"\n", > + __func__, rte_lcore_id(), alloc_failures); > } > > static inline int > -- > 2.25.1 >