[dpdk-dev] [PATCH v7 0/2] Balanced allocation of hugepages

Ilya Maximets i.maximets at samsung.com
Tue Jun 27 10:42:36 CEST 2017


On 26.06.2017 18:33, Sergio Gonzalez Monroy wrote:
> On 26/06/2017 11:44, Ilya Maximets wrote:
>> So, what do you think about this version?
>> Is it ready for merge or some additional changes needed?
> 
> I was just having another look at it and was wondering if we should re-set the old policy instead of DEFAULT?

Yes. I tried to do that previously, but it requires some manipulations
get maximum nodemask size supported by kernel. So, I've implemented
this behaviour with help of libnuma which makes a lot of checks while
library initialisation (constructor). I'll send v8 with that soon.

> Also noticed that we probably should increase essential_memory by hugepage_sz in
> case of SIGBUS? I think there is an issue if we have more than one size.

Good catch. Also fixed in v8. Additionally I found that we need to restore
old mempolicy in case of any error. So I replaced all the 'return i' to
the out to proper termination point.

> 
> Thanks,
> Sergio
> 
>> Best regards, Ilya Maximets.
>>
>> On 21.06.2017 13:08, Ilya Maximets wrote:
>>> Version 7:
>>>     * RTE_LIBRTE_EAL_NUMA_AWARE_HUGEPAGES --> RTE_EAL_NUMA_AWARE_HUGEPAGES
>>>
>>> Version 6:
>>>     * Configuration option RTE_LIBRTE_EAL_NUMA_AWARE_HUGEPAGES
>>>       returned. Enabled by default for x86, ppc and thunderx.
>>>
>>> Version 5:
>>>     * Fixed shared build. (Automated build test will fail
>>>       anyway because libnuma-devel not installed on build servers)
>>>
>>> Version 4:
>>>     * Fixed work on systems without NUMA by adding check for NUMA
>>>       support in kernel.
>>>
>>> Version 3:
>>>     * Implemented hybrid schema for allocation.
>>>     * Fixed not needed mempolicy change while remapping. (orig = 0)
>>>     * Added patch to enable VHOST_NUMA by default.
>>>
>>> Version 2:
>>>     * rebased (fuzz in Makefile)
>>>
>>> Ilya Maximets (2):
>>>    mem: balanced allocation of hugepages
>>>    config: enable vhost numa awareness by default
>>>
>>>   config/common_base                           |   1 +
>>>   config/common_linuxapp                       |   3 +
>>>   config/defconfig_arm-armv7a-linuxapp-gcc     |   4 +
>>>   config/defconfig_arm64-armv8a-linuxapp-gcc   |   4 +
>>>   config/defconfig_arm64-thunderx-linuxapp-gcc |   4 +
>>>   lib/librte_eal/linuxapp/eal/Makefile         |   3 +
>>>   lib/librte_eal/linuxapp/eal/eal_memory.c     | 105 ++++++++++++++++++++++++++-
>>>   mk/rte.app.mk                                |   3 +
>>>   8 files changed, 123 insertions(+), 4 deletions(-)
>>>
> 
> 
> 
> 


More information about the dev mailing list