X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=examples%2Fipsec-secgw%2Fipsec-secgw.c;h=20d69ba81310aad655d485678af06b92bfd68003;hb=57ddbf7edd9c5041603e224fbbb62c11ce423135;hp=bbe7ce48d908fe8c8b66acc754e64111676c1ebb;hpb=614af75489682e39bb005d80173434588e9490a6;p=dpdk.git diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c index bbe7ce48d9..20d69ba813 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 */ @@ -2349,6 +2350,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); @@ -2373,6 +2376,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,