mem: preallocate VA space in no-huge mode
authorAnatoly Burakov <anatoly.burakov@intel.com>
Fri, 7 Feb 2020 11:11:14 +0000 (11:11 +0000)
committerDavid Marchand <david.marchand@redhat.com>
Fri, 27 Mar 2020 10:04:09 +0000 (11:04 +0100)
commit4236694f0ae466b174a73a29df4cfa94753793f0
treeb54088545253661cd0edd1395f8b88a4a7ea6698
parentd1c7c0cdf7bac5eb40d3a2a690453aefeee5887b
mem: preallocate VA space in no-huge mode

When --no-huge mode is used, the memory is currently allocated with
mmap(NULL, ...). This is fine in most cases, but can fail in cases
where DPDK is run on a machine with an IOMMU that is of more limited
address width than that of a VA, because we're not specifying the
address hint for mmap() call.

Fix it by preallocating VA space before mapping it.

Cc: stable@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Tested-by: David Marchand <david.marchand@redhat.com>
Tested-by: Jun W Zhou <junx.w.zhou@intel.com>
lib/librte_eal/linux/eal/eal_memory.c