From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 11C5BA04B5; Tue, 27 Oct 2020 15:03:58 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CF7CE592B; Tue, 27 Oct 2020 15:03:56 +0100 (CET) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 6A6B054AE for ; Tue, 27 Oct 2020 15:03:54 +0100 (CET) IronPort-SDR: n1IF/QYVkp/M+Vmb5jJYtXdioftdCuENJbW1s2Z9lHLPh1i3BwGGrp5IcMdg6hTVe83SVuGf5l o+r4drVlD4jQ== X-IronPort-AV: E=McAfee;i="6000,8403,9786"; a="155053113" X-IronPort-AV: E=Sophos;i="5.77,424,1596524400"; d="scan'208";a="155053113" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Oct 2020 07:03:53 -0700 IronPort-SDR: L855bSYSqh6Rm/fKbImKP5BC3KPeYToq6mOjoaOoDssqVLBq9y/QH9DuO2Dzm3heP4StGLcBVj mwt4ISJCv4yw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,424,1596524400"; d="scan'208";a="350575698" Received: from silpixa00400072.ir.intel.com ([10.237.222.213]) by fmsmga004.fm.intel.com with ESMTP; 27 Oct 2020 07:03:51 -0700 From: Vladimir Medvedkin To: dev@dpdk.org Cc: akhil.goyal@nxp.com, Radu Nicolau Date: Tue, 27 Oct 2020 14:03:40 +0000 Message-Id: <1603807420-268020-1-git-send-email-vladimir.medvedkin@intel.com> X-Mailer: git-send-email 2.7.4 Subject: [dpdk-dev] [PATCH] examples/ipsec-secgw: fix session mempool initialisation X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Creation of a session mempool may fail in the case of a single lcore and a low number of SA. Fixes: e30b2833c47c ("security: update session create API") Cc: akhil.goyal@nxp.com Signed-off-by: Vladimir Medvedkin --- examples/ipsec-secgw/ipsec-secgw.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c index 2219148..935829e 100644 --- a/examples/ipsec-secgw/ipsec-secgw.c +++ b/examples/ipsec-secgw/ipsec-secgw.c @@ -65,6 +65,7 @@ volatile bool force_quit; #define CDEV_QUEUE_DESC 2048 #define CDEV_MAP_ENTRIES 16384 #define CDEV_MP_CACHE_SZ 64 +#define CDEV_MP_CACHE_MULTIPLIER 1.5 /* from rte_mempool.c */ #define MAX_QUEUE_PAIRS 1 #define BURST_TX_DRAIN_US 100 /* TX drain every ~100us */ @@ -2350,6 +2351,8 @@ session_pool_init(struct socket_ctx *ctx, int32_t socket_id, size_t sess_sz) "sess_mp_%u", socket_id); nb_sess = (get_nb_crypto_sessions() + CDEV_MP_CACHE_SZ * rte_lcore_count()); + nb_sess = RTE_MAX(nb_sess, CDEV_MP_CACHE_SZ * + CDEV_MP_CACHE_MULTIPLIER); sess_mp = rte_cryptodev_sym_session_pool_create( mp_name, nb_sess, sess_sz, CDEV_MP_CACHE_SZ, 0, socket_id); @@ -2374,6 +2377,8 @@ session_priv_pool_init(struct socket_ctx *ctx, int32_t socket_id, "sess_mp_priv_%u", socket_id); nb_sess = (get_nb_crypto_sessions() + CDEV_MP_CACHE_SZ * rte_lcore_count()); + nb_sess = RTE_MAX(nb_sess, CDEV_MP_CACHE_SZ * + CDEV_MP_CACHE_MULTIPLIER); sess_mp = rte_mempool_create(mp_name, nb_sess, sess_sz, -- 2.7.4