[Buildroot] [PATCH 1/1] ltp-testsuite: Add upstream patch to fix build numa detection

Petr Vorel petr.vorel at gmail.com
Fri Feb 2 13:59:57 UTC 2018


Hi Baruch,

thanks for your explanation!

> numactl is also an optional build time dependency of ltp-testsuite. When the 
> ltp-testsuite configure script detects libnuma some additional tests are 
> built.
I was thinking some time ago to add this support, but it's not how it works.
All sources which depends on NUMA have a preprocessor condition like his: [1]
#ifdef HAVE_NUMA_V2
...
#else
	TST_TEST_TCONF("test requires libnuma >= 2 and it's development packages");
#endif
(These are using new LTP test API, tests using old API or not using API at all have it
implemented differently.)

I added HAVE_NUMA_V2 in commit bf3441268 ("numa: Check for API >= v2 with autoconf"), but
it the check  has always been like that (*) all the tests are actually being build
regardless of NUMA support on SUT. I mean, there is no rule in Makefile which would
prevent build them because missing NUMA. This is unusual, but the reason why tests are
build just to say "you need libnuma support", that these files are expected in runtest
files (files in $LTPROOT/runtest).

(*) This approach was added in the sources in 2010.

> Currently when the numactl package is enabled, ltp-testsuite would 
> detect libnuma only if numactl happens to build before ltp-testsuite. To make 
> builds consistent we need to make sure that numactl always build before 
> ltp-testsuite by adding it to _DEPENDENCIES. Here is how the hwloc package 
> does that:

> ifeq ($(BR2_PACKAGE_NUMACTL),y)
> HWLOC_CONF_OPTS += --enable-libnuma
> HWLOC_DEPENDENCIES += numactl
> else
> HWLOC_CONF_OPTS += --disable-libnuma
> endif
So this is not needed.

> ltp-testsuite needs something similar.


> baruch


Kind regards,
Petr

[1] https://github.com/linux-test-project/ltp/blob/master/testcases/kernel/mem/cpuset/cpuset01.c



More information about the buildroot mailing list