Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tests are failing on arm64 #75

Closed
onovy opened this issue Jul 8, 2019 · 9 comments · Fixed by #84
Closed

Tests are failing on arm64 #75

onovy opened this issue Jul 8, 2019 · 9 comments · Fixed by #84

Comments

@onovy
Copy link
Contributor

onovy commented Jul 8, 2019

Hi,

I'm trying to build for arm64 and tests are failing:

./build-aux/test-driver: line 107: 15636 Illegal instruction     "$@" > $log_file 2>&1
FAIL: crc/crc16_t10dif_copy_test
./build-aux/test-driver: line 107: 15658 Illegal instruction     "$@" > $log_file 2>&1
FAIL: crc/crc64_funcs_test
./build-aux/test-driver: line 107: 15680 Illegal instruction     "$@" > $log_file 2>&1
FAIL: crc/crc32_funcs_test
./build-aux/test-driver: line 107: 15702 Illegal instruction     "$@" > $log_file 2>&1
FAIL: igzip/igzip_rand_test
./build-aux/test-driver: line 107: 15724 Illegal instruction     "$@" > $log_file 2>&1
FAIL: igzip/igzip_wrapper_hdr_test

See: https://buildd.debian.org/status/fetch.php?pkg=libisal&arch=arm64&ver=2.27.0-1&stamp=1562601961&raw=0

Thanks for help.

@gbtucker
Copy link
Contributor

gbtucker commented Jul 8, 2019

Illegal instruction in only functions with CRC sounds like some aarch64 don't support the optimizations.
@onovy, can you give some detail on the arm board used?

@zhiyuan-zhu, in the review you said:

"It will not affect other arm machines, because 64 bit arm machines is supported from start armv8, all 64 bit arm machines should support the feature."

Are you sure this is true?

@onovy
Copy link
Contributor Author

onovy commented Jul 8, 2019

information from IRC:
Sledge | onovy: it's based on APM X-Gene 1
Sledge | so it doesn't have the extra optional instructions for crypto and checksumming

@steve-mcintyre
Copy link

The machine that build is running on is based on the Applied Micro X-Gene 1, so IIRC it doesn't have the optional crypto extensions.

@gbtucker
Copy link
Contributor

gbtucker commented Jul 8, 2019

Thanks. The optimizations heavily use the vector pmull instruction. If this isn't in all armv8 then we need to have a better multi-binary check or configure test.

@zhiyuan-zhu
Copy link
Contributor

Hi All, sorry for inconvenience.
@onovy @steve-mcintyre

  1. can you help give the machine's cpu info
  2. can you give me the file: test-suite.log
  3. Can you identify which instruction Illegal?

And @gbtucker
4. We are working on a better multi-binary check, whether this issue urgent? We can temporarily give a short-term plan, set all functions to the default base function.

@gbtucker
Copy link
Contributor

gbtucker commented Jul 9, 2019

@zhiyuan-zhu, yes we should pull the aarch64 crc optimization back to base functions until a multi-binary or configure test will allow it to work for all arch.

@ghost
Copy link

ghost commented Jul 17, 2019

@steve-mcintyre , Could you help me cat cpuinfo of X-Gene? the command is cat /proc/cpuinfo
Thanks

@steve-mcintyre
Copy link

Sorry, been swamped with other stuff. Hope this is still useful:

$ cat /proc/cpuinfo
processor : 0
BogoMIPS : 100.00
Features : fp asimd evtstrm cpuid
CPU implementer : 0x50
CPU architecture: 8
CPU variant : 0x0
CPU part : 0x000
CPU revision : 0

processor : 1
BogoMIPS : 100.00
Features : fp asimd evtstrm cpuid
CPU implementer : 0x50
CPU architecture: 8
CPU variant : 0x0
CPU part : 0x000
CPU revision : 0

processor : 2
BogoMIPS : 100.00
Features : fp asimd evtstrm cpuid
CPU implementer : 0x50
CPU architecture: 8
CPU variant : 0x0
CPU part : 0x000
CPU revision : 0

processor : 3
BogoMIPS : 100.00
Features : fp asimd evtstrm cpuid
CPU implementer : 0x50
CPU architecture: 8
CPU variant : 0x0
CPU part : 0x000
CPU revision : 0

processor : 4
BogoMIPS : 100.00
Features : fp asimd evtstrm cpuid
CPU implementer : 0x50
CPU architecture: 8
CPU variant : 0x0
CPU part : 0x000
CPU revision : 0

processor : 5
BogoMIPS : 100.00
Features : fp asimd evtstrm cpuid
CPU implementer : 0x50
CPU architecture: 8
CPU variant : 0x0
CPU part : 0x000
CPU revision : 0

processor : 6
BogoMIPS : 100.00
Features : fp asimd evtstrm cpuid
CPU implementer : 0x50
CPU architecture: 8
CPU variant : 0x0
CPU part : 0x000
CPU revision : 0

processor : 7
BogoMIPS : 100.00
Features : fp asimd evtstrm cpuid
CPU implementer : 0x50
CPU architecture: 8
CPU variant : 0x0
CPU part : 0x000
CPU revision : 0

@ghost
Copy link

ghost commented Aug 7, 2019

Thanks @steve-mcintyre .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants