contigmem: zero all pages during mmap
authorJim Harris <james.r.harris@intel.com>
Tue, 16 Aug 2016 22:46:46 +0000 (15:46 -0700)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Mon, 22 Aug 2016 20:59:05 +0000 (22:59 +0200)
commit82f931805506efbb8b5046e9045bec8f04bbabf6
treea4f02c2d2ab7224d21ef2aa5f189b974cf2a99b2
parent322a8d2b899a0ce741e0cf744f67449a37edfc8f
contigmem: zero all pages during mmap

On Linux, all huge pages are zeroed by the kernel before
first access by the DPDK application.  But on FreeBSD,
the contigmem driver would only zero the contiguous
memory regions during initial driver load.

DPDK commit b78c91751 eliminated the explicit memset()
operation for rte_zmalloc(), which was OK on Linux
because the kernel zeroes the pages during app start,
but this broke FreeBSD when restarting app.
So this patch explicitly zeroes the pages before they are mmap'd,
to ensure equivalent behavior to Linux.

Fixes: b78c9175118f ("mem: do not zero out memory on zmalloc")

Reported-by: Daniel Verkamp <daniel.verkamp@intel.com>
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Tested-by: Daniel Verkamp <daniel.verkamp@intel.com>
Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
lib/librte_eal/bsdapp/contigmem/contigmem.c