Dear vpp-devers,

As I mentioned on the last community call, there is patch which significantly 
changes 
the way how VPP is allocating wired memory, including the dpdk hugepages.

Patch is available here and it is passing verify jobs:

https://gerrit.fd.io/r/#/c/7701/

With this change, VPP is able dynamically pre-allocate hugepages, if they are 
not already available.

This change is affecting DPDK buffer mempools, as now they are allocated by 
VPP, and not directly by DPDK.
I use dpdk rte_mempool_xmem_create (...) to pass allocated wired memory region 
to dpdk.

Result is smaller memory footprint, mainly thanks to the better control of 
memory allocation we have.
DPDK is still allocating 64M/socket for it’s internal data structures and VPP 
allocates 40MB/socket for 
our default number of buffers (16K). In case people want more buffers, it is 
enough to increase num_mbufs parameter 
and VPP will increase size of mempool automatically, which is significant 
improvement as currently people need to play 
with socket-mem parameter.

In total, footprint is reduced from 256M/socket to 104M/socket.

At the moment, code only deals with 2M pages, support for 1G pages for extreme 
VPP consumers will be added in the separate patch.

I will really appreciate if people can try this patch and report 
success/failure. It important that we test it in different 
configurations before it is merged.

Thanks,

Damjan





_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Reply via email to