Re: [PATCH v5 0/2] Balanced allocation of hugepages
From: Thomas Monjalon <hidden>
Date: 2017-06-21 09:58:14
21/06/2017 11:27, Jerin Jacob:
-----Original Message-----quoted
Date: Wed, 21 Jun 2017 10:49:14 +0200 From: Thomas Monjalon <redacted> To: Jerin Jacob <redacted> Cc: Sergio Gonzalez Monroy <redacted>, Hemant Agrawal [off-list ref], Ilya Maximets [off-list ref], dev@dpdk.org, Bruce Richardson [off-list ref], David Marchand [off-list ref], Heetae Ahn [off-list ref], Yuanhan Liu [off-list ref], Jianfeng Tan [off-list ref], Neil Horman [off-list ref], Yulong Pei [off-list ref] Subject: Re: [PATCH v5 0/2] Balanced allocation of hugepages 21/06/2017 10:41, Jerin Jacob:quoted
quoted
quoted
1. There are many machines (arm/ppc), which do not support NUMA. https://wiki.linaro.org/LEG/Engineering/Kernel/NUMAI did find that link too, last modified 4 years ago. Despite that, I could not find any ARM references in libnuma sources, but Jerin proved that there is support for it. http://oss.sgi.com/projects/libnuma/ https://github.com/numactl/numactlThose Linaro links are very old. ARM64 NUMA supported has been added in 4.7 kernel. I guess we are talking about build time time dependency with libnuma here. Correct? I think, Even with old arm64 kernel(< 4.6), You can build against libnuma if it is present in rootfs. Just that at runtime, it will return NUMA support not available. Correct? How hard is detect the presence of "numaif.h" if existing build system does not support it? If it trivial, we can enable RTE_LIBRTE_EAL_NUMA_AWARE_HUGEPAGES if build environment has "numaif.h". Some example in linux kernel build system: http://lxr.linux.no/linux+v4.10.1/scripts/gcc-goto.shI think we should not try to detect numaif.h, because it should be an error on platform supporting NUMA.I have installed libnuma on a NUMA and non NUMA machine. Compiled and ran following code on those machine and it could detect the numa availability. Could you add more details on the "error on platform supporting NUMA".
I was saying that we do not need to detect NUMA. If we are building DPDK for a NUMA architecture and libnuma is not available, then it will be a problem that the user must catch. The easiest way to catch it, is to fail on the include of numaif.h.