Re: [PATCH v7 0/2] Balanced allocation of hugepages
From: Ilya Maximets <hidden>
Date: 2017-06-27 08:42:41
On 26.06.2017 18:33, Sergio Gonzalez Monroy wrote:
On 26/06/2017 11:44, Ilya Maximets wrote:quoted
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, Sergioquoted
Best regards, Ilya Maximets. On 21.06.2017 13:08, Ilya Maximets wrote:quoted
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(-)