[dpdk-stable] [PATCH 0/3] eal: clean up mapping hugepages in secondary process for ppc64le
Gowrishankar
gowrishankar.m at linux.vnet.ibm.com
Wed May 23 14:53:21 CEST 2018
From: Gowrishankar Muthukrishnan <gowrishankar.m at linux.vnet.ibm.com>
Earlier powerpc arch encountered an issue in secondary process
to map hugepages in same VA range as mapped by primary process.
By then, proposed fix was to use nr_overcommit_hugepages from
the kernel and mmap using MAP_HUGETLB|MAP_ANONYMOUS flags. Though
it solved respecting address hints in mmap calls, this fix
introduced limitation of maximum VA space that, primary process
in DPDK can create upon hugepages, to physical RAM size (almost).
This patch cleans up this limitation by
1. reverting the previous patch so that, virtual address space
range is not a constraint (like other arch).
2. reverse-indexing on hugepage files as the secondary
process mmap them. Reversed addressing sequence makes
this mandate.
3. Move slightly where munmap() is called in zero-mapped VA
block, as secondary process would attach them.
All these changes has also been verified in x86 arch (and request
other arch maintainers too test this and give feedback).
Fixes: 284ae3e9ff ("eal/ppc: fix mmap for memory initialization")
Cc: stable at dpdk.org
Signed-off-by: Gowrishankar Muthukrishnan <gowrishankar.m at linux.vnet.ibm.com>
IBM Internal:
=============
Refer to below bug to understand powerpc memory slice op:
* https://bugzilla.linux.ibm.com/show_bug.cgi?id=141628#c2
This patch overcomes multiples issues we have been facing until
now:
* EAL: Cannot get a virtual area: Cannot allocate memory - warning misleading end users.
* Multiple memsegs leading heap corruption for rte_malloc (https://dpdk.org/ml/archives/dev/2018-May/100085.html)
* Bug 166908 - net/mlx5: RXQ allocation failure when sysfs vm.nr_overcommit_hugepages enabled
* Bug 166960 - lpm: memory allocation failed as applications start when nr_overcommit_hugepages set
I am doing more validations on the patches, as I see initial tests pass from these known issues.
* http://pastebin.hursley.ibm.com/12493
Gowrishankar Muthukrishnan (3):
eal: access hugepage_file in reverse order for powerpc
eal: reorder calling munmap on zero-mapped memory
eal: reverse powerpc changes done for hugepage overcommit
doc/guides/linux_gsg/sys_reqs.rst | 6 ------
lib/librte_eal/linuxapp/eal/eal_memory.c | 22 +++++++++-------------
2 files changed, 9 insertions(+), 19 deletions(-)
--
1.9.1
More information about the stable
mailing list