Olivier Matz
ad10c17821
mem: do not advertise physical address when no hugepages
When populating a mempool with a virtual memory area, the mempool library expects to be able to get the physical address of each page. When started with --no-huge, the physical addresses may not be available because the pages are not locked in memory. It sometimes returns RTE_BAD_PHYS_ADDR, which makes the mempool_populate() function to fail. This was working before the commit cdc242f260e7 ("eal/linux: support running as unprivileged user"), because rte_mem_virt2phy() was returning 0 instead of RTE_BAD_PHYS_ADDR, which was seen as a valid physical address. Since --no-huge is a debug function that breaks the support of physical drivers, always set physical addresses to RTE_BAD_PHYS_ADDR in memzones or in rte_mem_virt2phy(), and ensure that mempool won't complain in that case. Fixes: cdc242f260e7 ("eal/linux: support running as unprivileged user") Cc: stable@dpdk.org Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Reviewed-by: Jan Blunck <jblunck@infradead.org>
DPDK is a set of libraries and drivers for fast packet processing. It supports many processor architectures and both FreeBSD and Linux. The DPDK uses the Open Source BSD license for the core libraries and drivers. The kernel components are GPLv2 licensed. Please check the doc directory for release notes, API documentation, and sample application information. For questions and usage discussions, subscribe to: users@dpdk.org Report bugs and issues to the development mailing list: dev@dpdk.org
Description
Languages
C
99.1%
Meson
0.5%
Python
0.2%
Shell
0.1%