ltp-testsuite: disable numa tests
PATCH 1/2 ltp-testsuite: disable numa tests
The LTP_CHECK_SYSCALL_NUMA autoconf macro uses AC_RUN_IFELSE when it detects the numaif.h header. This is incompatible with cross compilation.
Fixes:
http://autobuild.buildroot.net/results/21a/21a6eeddbf5ccffc34c38527d0807305a5eb3917/
http://autobuild.buildroot.net/results/fc0/fc01921e8e8e1ea100461b29137c4219e6686c58/
http://autobuild.buildroot.net/results/962/96285d154abd65838ff5c66e96db309d9ac26c80/
--- package/ltp-testsuite/ltp-testsuite.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
package/ltp-testsuite/ltp-testsuite.mk +2 -1
@@ -56,7 +56,8 @@ LTP_TESTSUITE_CONF_ENV += \ CFLAGS="$(LTP_TESTSUITE_CFLAGS)" \ CPPFLAGS="$(LTP_TESTSUITE_CPPFLAGS)" \ LIBS="$(LTP_TESTSUITE_LIBS)" \ - SYSROOT="$(STAGING_DIR)" + SYSROOT="$(STAGING_DIR)" \ + have_numa_headers=no # Requires uClibc fts and bessel support, normally not enabled ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
Signature · 1 line
2.15.1
PATCH 2/2 ltp-testsuite: drop redundant arch dependency entries
BR2_TOOLCHAIN_HAS_SYNC_4 is enabled for all these architectures except arc. There is no need to list them explicitly.
--- package/ltp-testsuite/Config.in | 5 ----- 1 file changed, 5 deletions(-)
package/ltp-testsuite/Config.in +0 -5
@@ -5,11 +5,6 @@ config BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS # provided in ltp-testsuite default y if BR2_TOOLCHAIN_HAS_SYNC_4 default y if BR2_arc - default y if BR2_i386 - default y if BR2_powerpc - default y if BR2_powepc64 - default y if BR2_powerpc64le - default y if BR2_x86_64 # does not build on nios2, cachectl.h issue depends on !BR2_nios2
Signature · 1 line
2.15.1
PATCH 2/2 ltp-testsuite: drop redundant arch dependency entries
Quoted 15 lines
BR2_TOOLCHAIN_HAS_SYNC_4is enabled for all these architectures except arc. There is no need to list them explicitly.Cc Romain Naour <[email protected]>Cc Petr Vorel <[email protected]>Signed-off-by Baruch Siach <[email protected]>--- package/ltp-testsuite/Config.in | 5 ----- 1 file changed, 5 deletions(-)package/ltp-testsuite/Config.in +0
-0
package/ltp-testsuite/Config.in config BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS · line 9
Quoted 10 lines
package/ltp-testsuite/Config.in +0
-5@@ -5,11 +5,6 @@ config BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS # provided in ltp-testsuite default y if BR2_TOOLCHAIN_HAS_SYNC_4 default y if BR2_arc - default y if BR2_i386 - default y if BR2_powerpc - default y if BR2_powepc64 - default y if BR2_powerpc64le - default y if BR2_x86_64 # does not build on nios2, cachectl.h issue depends on !BR2_nios2
Kind regards,
Petr
PATCH 2/2 ltp-testsuite: drop redundant arch dependency entries
In reply to Baruch SiachQuoted 8 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Baruch" == Baruch Siach <[email protected]> writes:
BR2_TOOLCHAIN_HAS_SYNC_4is enabled for all these architectures except arc. There is no need to list them explicitly.Cc Romain Naour <[email protected]>Cc Petr Vorel <[email protected]>Signed-off-by Baruch Siach <[email protected]>
Committed, thanks.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 2/2 ltp-testsuite: drop redundant arch dependency entries
In reply to Baruch SiachHello,
Quoted 15 lines · Baruch Siach
BR2_TOOLCHAIN_HAS_SYNC_4is enabled for all these architectures except arc. There is no need to list them explicitly.Cc Romain Naour <[email protected]>Cc Petr Vorel <[email protected]>Signed-off-by Baruch Siach <[email protected]>--- package/ltp-testsuite/Config.in | 5 ----- 1 file changed, 5 deletions(-)package/ltp-testsuite/Config.in +0
-0
package/ltp-testsuite/Config.in config BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS · line 12
Quoted 8 lines
package/ltp-testsuite/Config.in +0
-5@@ -5,11 +5,6 @@ config BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS # provided in ltp-testsuite default y if BR2_TOOLCHAIN_HAS_SYNC_4 default y if BR2_arc - default y if BR2_i386 - default y if BR2_powerpc - default y if BR2_powepc64 - default y if BR2_powerpc64le - default y if BR2_x86_64
Is this really a correct patch ? It's not because BR2_TOOLCHAIN_HAS_SYNC_4 already covers i386/powerpc/powerpc64/powerpc64le/x86_64 that it makes sense to use BR2_TOOLCHAIN_HAS_SYNC_4 instead.
What if an architecture gets added to BR2_TOOLCHAIN_HAS_SYNC_4, but isn't supported by ltp-testsuite ?
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
PATCH 2/2 ltp-testsuite: drop redundant arch dependency entries
Hi Thomas,
Quoted 30 lines · Thomas Petazzoni
Quoted 15 lines · Baruch Siach
BR2_TOOLCHAIN_HAS_SYNC_4is enabled for all these architectures except arc. There is no need to list them explicitly.Cc Romain Naour <[email protected]>Cc Petr Vorel <[email protected]>Signed-off-by Baruch Siach <[email protected]>--- package/ltp-testsuite/Config.in | 5 ----- 1 file changed, 5 deletions(-)package/ltp-testsuite/Config.in +0
-0package/ltp-testsuite/Config.in config BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS · line 12
Quoted 8 lines
package/ltp-testsuite/Config.in +0
-5@@ -5,11 +5,6 @@ config BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS # provided in ltp-testsuite default y if BR2_TOOLCHAIN_HAS_SYNC_4 default y if BR2_arc - default y if BR2_i386 - default y if BR2_powerpc - default y if BR2_powepc64 - default y if BR2_powerpc64le - default y if BR2_x86_64Is this really a correct patch ? It's not because
BR2_TOOLCHAIN_HAS_SYNC_4already covers i386/powerpc/powerpc64/powerpc64le/x86_64 that it makes sense to useBR2_TOOLCHAIN_HAS_SYNC_4instead.
Quoted 2 lines
What if an architecture gets added to
BR2_TOOLCHAIN_HAS_SYNC_4, but isn't supported by ltp-testsuite ?
My understanding, based on the commit log of 583f59702bdd (package/ltp-testsuite: refine architecture dependency), is that when the toolchain implements __sync_add_and_fetch() there is no need for the architecture specific fallback implementation that ltp-testsuite provides. This is the case already for e.g. ARM. So as long as the added architecture is covered by BR2_TOOLCHAIN_HAS_SYNC_4, we should be fine.
baruch
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -PATCH 1/2 ltp-testsuite: disable numa tests
In reply to Baruch SiachHi Baruch,
Quoted 3 lines
The
LTP_CHECK_SYSCALL_NUMAautoconf macro usesAC_RUN_IFELSEwhen it detects thenumaif.hheader. This is incompatible with cross compilation.
Is it really about cross compilation or about out-of-tree building?
Any idea how to fix it in upstream? As we test both cross compilation and out out-of-tree compilation with travis:
https://travis-ci.org/linux-test-project/ltp/builds/333338092
* aarch64 cross compilation
https://travis-ci.org/linux-test-project/ltp/jobs/333338103
* arm cross compilation
https://travis-ci.org/linux-test-project/ltp/jobs/333338102
* native out-of-tree compilation
https://travis-ci.org/linux-test-project/ltp/jobs/333338101
Quoted 16 lines
Fixes:
http://autobuild.buildroot.net/results/21a/21a6eeddbf5ccffc34c38527d0807305a5eb3917/
http://autobuild.buildroot.net/results/fc0/fc01921e8e8e1ea100461b29137c4219e6686c58/
http://autobuild.buildroot.net/results/962/96285d154abd65838ff5c66e96db309d9ac26c80/Cc Petr Vorel <[email protected]>Signed-off-by Baruch Siach <[email protected]>--- package/ltp-testsuite/ltp-testsuite.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)package/ltp-testsuite/ltp-testsuite.mk +0
-0
package/ltp-testsuite/ltp-testsuite.mk LTP_TESTSUITE_CONF_ENV += \ · line 63
Quoted 9 lines
package/ltp-testsuite/ltp-testsuite.mk +2
-1@@ -56,7 +56,8 @@ LTP_TESTSUITE_CONF_ENV += \ CFLAGS="$(LTP_TESTSUITE_CFLAGS)" \ CPPFLAGS="$(LTP_TESTSUITE_CPPFLAGS)" \ LIBS="$(LTP_TESTSUITE_LIBS)" \ - SYSROOT="$(STAGING_DIR)" + SYSROOT="$(STAGING_DIR)" \ + have_numa_headers=no # Requires uClibc fts and bessel support, normally not enabled ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
Kind regards,
Petr
PATCH 1/2 ltp-testsuite: disable numa tests
Hi Petr,
Quoted 5 lines · Petr Vorel
Hi Baruch,
Quoted 3 lines
The
LTP_CHECK_SYSCALL_NUMAautoconf macro usesAC_RUN_IFELSEwhen it detects thenumaif.hheader. This is incompatible with cross compilation.Is it really about cross compilation or about out-of-tree building?
As I understand this is about cross compilation, which is inherently incompatible with AC_RUN_IFELSE[1].
Quoted 10 lines
Any idea how to fix it in upstream? As we test both cross compilation and out out-of-tree compilation with travis:
https://travis-ci.org/linux-test-project/ltp/builds/333338092* aarch64 cross compilation
https://travis-ci.org/linux-test-project/ltp/jobs/333338103
* arm cross compilation
https://travis-ci.org/linux-test-project/ltp/jobs/333338102
* native out-of-tree compilation
https://travis-ci.org/linux-test-project/ltp/jobs/333338101
Do you nave libnuma (numactl) installed in these tests? If not, the AC_RUN_IFELSE test is skipped. You can reproduce this build failure in Buildroot by first building the numactl package, and then ltp-testsuite.
[1] https://www.gnu.org/software/autoconf/manual/autoconf.html#Runtime
Quoted 23 lines
Quoted 22 lines
Fixes:
http://autobuild.buildroot.net/results/21a/21a6eeddbf5ccffc34c38527d0807305a5eb3917/
http://autobuild.buildroot.net/results/fc0/fc01921e8e8e1ea100461b29137c4219e6686c58/
http://autobuild.buildroot.net/results/962/96285d154abd65838ff5c66e96db309d9ac26c80/Cc Petr Vorel <[email protected]>Signed-off-by Baruch Siach <[email protected]>--- package/ltp-testsuite/ltp-testsuite.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)package/ltp-testsuite/ltp-testsuite.mk +2
-1@@ -56,7 +56,8 @@ LTP_TESTSUITE_CONF_ENV += \ CFLAGS="$(LTP_TESTSUITE_CFLAGS)" \ CPPFLAGS="$(LTP_TESTSUITE_CPPFLAGS)" \ LIBS="$(LTP_TESTSUITE_LIBS)" \ - SYSROOT="$(STAGING_DIR)" + SYSROOT="$(STAGING_DIR)" \ + have_numa_headers=no
Quoted 4 lines
package/ltp-testsuite/ltp-testsuite.mk LTP_TESTSUITE_CONF_ENV += \ · line 63
Quoted 2 lines
package/ltp-testsuite/ltp-testsuite.mk +0
-0# Requires uClibc fts and bessel support, normally not enabled ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)Acked-by Petr Vorel <[email protected]>
Thanks,
baruch
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -PATCH 1/2 ltp-testsuite: disable numa tests
Hi Petr,
Quoted 10 lines · Baruch Siach
Quoted 4 lines · Petr Vorel
Quoted 3 lines
The
LTP_CHECK_SYSCALL_NUMAautoconf macro usesAC_RUN_IFELSEwhen it detects thenumaif.hheader. This is incompatible with cross compilation.Is it really about cross compilation or about out-of-tree building?
As I understand this is about cross compilation, which is inherently incompatible with AC_RUN_IFELSE[1].
Quoted 1 line
Any idea how to fix it in upstream?
Thinking about this a little more, I think you can make the test into a compile time test instead of run-time with something like:
#if LIBNUMA_API_VERSION < 2
#error libnuma API version too old
#endif
baruch
Quoted 44 lines
Quoted 10 lines
As we test both cross compilation and out out-of-tree compilation with travis:
https://travis-ci.org/linux-test-project/ltp/builds/333338092* aarch64 cross compilation
https://travis-ci.org/linux-test-project/ltp/jobs/333338103
* arm cross compilation
https://travis-ci.org/linux-test-project/ltp/jobs/333338102
* native out-of-tree compilation
https://travis-ci.org/linux-test-project/ltp/jobs/333338101Do you nave libnuma (numactl) installed in these tests? If not, the
AC_RUN_IFELSEtest is skipped. You can reproduce this build failure in Buildroot by first building the numactl package, and then ltp-testsuite.[1] https://www.gnu.org/software/autoconf/manual/autoconf.html#Runtime
Quoted 27 lines
Quoted 16 lines
Fixes:
http://autobuild.buildroot.net/results/21a/21a6eeddbf5ccffc34c38527d0807305a5eb3917/
http://autobuild.buildroot.net/results/fc0/fc01921e8e8e1ea100461b29137c4219e6686c58/
http://autobuild.buildroot.net/results/962/96285d154abd65838ff5c66e96db309d9ac26c80/Cc Petr Vorel <[email protected]>Signed-off-by Baruch Siach <[email protected]>--- package/ltp-testsuite/ltp-testsuite.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)package/ltp-testsuite/ltp-testsuite.mk +0
-0package/ltp-testsuite/ltp-testsuite.mk LTP_TESTSUITE_CONF_ENV += \ · line 63
Quoted 9 lines
package/ltp-testsuite/ltp-testsuite.mk +2
-1@@ -56,7 +56,8 @@ LTP_TESTSUITE_CONF_ENV += \ CFLAGS="$(LTP_TESTSUITE_CFLAGS)" \ CPPFLAGS="$(LTP_TESTSUITE_CPPFLAGS)" \ LIBS="$(LTP_TESTSUITE_LIBS)" \ - SYSROOT="$(STAGING_DIR)" + SYSROOT="$(STAGING_DIR)" \ + have_numa_headers=no # Requires uClibc fts and bessel support, normally not enabled ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)Acked-by Petr Vorel <[email protected]>
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -PATCH 1/2 ltp-testsuite: disable numa tests
Hi Baruch,
Quoted 11 lines
Quoted 4 lines
As I understand this is about cross compilation, which is inherently incompatible with AC_RUN_IFELSE[1].
Quoted 1 line
Any idea how to fix it in upstream?
Thinking about this a little more, I think you can make the test into a compile time test instead of run-time with something like:
#if
LIBNUMA_API_VERSION< 2
#error libnuma API version too old
#endif
No, we had it, but we change it to the current state. as we want to check for presence of libnuma.so as well during build, as there is LTP library which is linked statically. I know, this is very unusual, but that's how was LTP designed.
Quoted 1 line
baruch
Kind regards,
Petr
[1] https://www.gnu.org/software/autoconf/manual/autoconf.html#Runtime
PATCH 1/2 ltp-testsuite: disable numa tests
In reply to Baruch SiachHi Baruch,
Quoted 9 lines · Petr Vorel
Quoted 5 lines
Hi Baruch,
Quoted 3 lines
The
LTP_CHECK_SYSCALL_NUMAautoconf macro usesAC_RUN_IFELSEwhen it detects thenumaif.hheader. This is incompatible with cross compilation.Is it really about cross compilation or about out-of-tree building?
As I understand this is about cross compilation, which is inherently incompatible with AC_RUN_IFELSE[1].
OK, doc really warn about using AC_RUN_IFELSE while cross compiling.
Quoted 11 lines
Quoted 10 lines
Any idea how to fix it in upstream? As we test both cross compilation and out out-of-tree compilation with travis:
https://travis-ci.org/linux-test-project/ltp/builds/333338092* aarch64 cross compilation
https://travis-ci.org/linux-test-project/ltp/jobs/333338103
* arm cross compilation
https://travis-ci.org/linux-test-project/ltp/jobs/333338102
* native out-of-tree compilation
https://travis-ci.org/linux-test-project/ltp/jobs/333338101
Quoted 3 lines
Do you nave libnuma (numactl) installed in these tests? If not, the
AC_RUN_IFELSEtest is skipped. You can reproduce this build failure in Buildroot by first building the numactl package, and then ltp-testsuite.
In the third one [2] there is libnuma installed (ibnuma-dev package, so configure works:
/* Define to 1 if you have libnuma and it's headers version >= 2 installed. */ #define HAVE_NUMA_V2 1
The other two don't.
But all these 3 cross compile builds are build in-tree.
I tested to build cross compile out tree in our project and it's really broken. Thanks for a bug report, I'll fix it.
Kind regards,
Petr
Quoted 1 line
[1] https://www.gnu.org/software/autoconf/manual/autoconf.html#Runtime
PATCH 1/2 ltp-testsuite: disable numa tests
In reply to Baruch SiachQuoted 22 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Baruch" == Baruch Siach <[email protected]> writes:
The
LTP_CHECK_SYSCALL_NUMAautoconf macro usesAC_RUN_IFELSEwhen it detects thenumaif.hheader. This is incompatible with cross compilation.Fixes:
http://autobuild.buildroot.net/results/21a/21a6eeddbf5ccffc34c38527d0807305a5eb3917/
http://autobuild.buildroot.net/results/fc0/fc01921e8e8e1ea100461b29137c4219e6686c58/
http://autobuild.buildroot.net/results/962/96285d154abd65838ff5c66e96db309d9ac26c80/Cc Petr Vorel <[email protected]>Signed-off-by Baruch Siach <[email protected]>--- package/ltp-testsuite/ltp-testsuite.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)package/ltp-testsuite/ltp-testsuite.mk +0
-0
package/ltp-testsuite/ltp-testsuite.mk LTP_TESTSUITE_CONF_ENV += \ · line 60
Quoted 6 lines
package/ltp-testsuite/ltp-testsuite.mk +2
-1@@ -56,7 +56,8 @@ LTP_TESTSUITE_CONF_ENV += \ CFLAGS="$(LTP_TESTSUITE_CFLAGS)" \ CPPFLAGS="$(LTP_TESTSUITE_CPPFLAGS)" \ LIBS="$(LTP_TESTSUITE_LIBS)" \ - SYSROOT="$(STAGING_DIR)" + SYSROOT="$(STAGING_DIR)" \ + have_numa_headers=no
Committed, thanks.
We can re-enable it again once it gets fixed upstream.
Signature · 1 line
Bye, Peter Korsgaard