> Hi Akhil, > > On 28/10/2020 12:30, Akhil Goyal wrote: > > Hi Vladimir, > > > >> -----Original Message----- > >> From: Vladimir Medvedkin <[email protected]> > >> Sent: Tuesday, October 27, 2020 7:34 PM > >> To: [email protected] > >> Cc: Akhil Goyal <[email protected]>; Radu Nicolau > <[email protected]> > >> Subject: [PATCH] examples/ipsec-secgw: fix session mempool initialisation > >> > >> Creation of a session mempool may fail in the case of a single lcore > >> and a low number of SA. > >> > > > > I am not able to understand the reason why the number need to be increased. > > Could you please explain? > > > > Sure. Starting ipsec-secgw with 4 configured SA with single lcore fails > with: > > CRYPTODEV: rte_cryptodev_sym_session_pool_create() line 1420: > rte_cryptodev_sym_session_pool_create(name=sess_mp_0) failed, > rte_errno=22 > > In case when there is only one lcore and number of configures SA less > then (0.5 * CDEV_MP_CACHE_SZ) then creation of the mempool fails with > EINVAL. This is because the number of requested items is less than > (cache size * 1.5) > > from rte_mempool_create_empty(): > > /* asked cache too big */ > if (cache_size > RTE_MEMPOOL_CACHE_MAX_SIZE || > CALC_CACHE_FLUSHTHRESH(cache_size) > n) { > rte_errno = EINVAL; > return NULL; > } > > , where n is nb_sess and CALC_CACHE_FLUSHTHRESH(cache_size) is just (1.5 > * cache_size). This was mentioned in rte_mempool_create() documentation: > @param cache_size > ... > * This argument must be lower or equal to > * RTE_MEMPOOL_CACHE_MAX_SIZE and n / 1.5. > ... > Applied to dpdk-next-crypto
Patch description updated as per the explanation. Acked-by: Akhil Goyal <[email protected]> Thanks.

