I am setting up open-vswitch with DPDK in container, and running many this OVS/DPDK containers on the same host. OVS in each container will be using differ PCI deviced bound to DPDK. I am using --file-prefix to allow sharing of same /dev/hugepages tlbfs, and using --socket-mem to limit the memory used by each OVS. But, DPDK library first grab all the available memory, pick the best memory, before releasing memory not needed. It seems tat this process is serialized. Each DPDK app will need to wait the previous app to complete that process, before next app can start grabing, picking, and releasing memory. This is taking a long time when you try to start many DPDK app in parallel. I tried to use different tlbfs for each app, and limit each tlbfs with nr_inodes, but that does not work.
Any suggestion on addressing this issue? Is there way to tell DPDK library not to grab so much memory? John