[dpdk-dev] Issue/Question with multi-process and CryptoDev using AESNI_MB
Luse, Paul E
paul.e.luse at intel.com
Tue Mar 23 16:11:24 CET 2021
Hi All,
I'm having an issue with the following scenario with SPDK-based applications built w/DPDK
using CryptoDev in a primary/secondary process setup.
Primary Process: An application that does crypto and properly initializes aesni_mb
Secondary Process: An application that does not use crypto so does not initialize aesni_mb
What I'm seeing:
1) Primary Process: Initializes normally
2) Secondary Process: At DPDK initialization time rte_eal_init()->rte_bus_scan()->vdev_scan()
Is called in that order and then in vdev_scan() there's a block of code that sends a msg to the primary
process to get device names that it's initialized so the secondary ends up adding the aesni
device and initializing it.
3) Secondary Process: Exits but because this SPDK application did not initialize crypto, it does
not call rte_vdev_uninit() so on exit gets several memory leaks from allocations
made during DPDK’s initialization of aesni, for example, alloc_mb_mgr()
It seems as though the secondary side should be tearing down aesni_mb assuming that
it was not the one who called rte_cryptodev_pmd_create() but I am fairly new to these
code sequences so am looking for some advice on what makes sense here to address the
issue.
thanks
Paul
More information about the dev
mailing list