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(-) >>> > > > >