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

Pre-compiled fio uses instructions that are absent in QEMU emulated CPU #3

Closed
trimsj opened this issue Mar 9, 2020 · 6 comments
Closed
Assignees
Labels
bug Something isn't working good first issue Good for newcomers

Comments

@trimsj
Copy link

trimsj commented Mar 9, 2020

The provided pre-compiled fio uses AVX instructions, and produces an Illegal instruction error on the QEMU's default emulated CPU. Please consider providing a binary compiled with -march=x86-64 -mtune=generic.

@trimsj
Copy link
Author

trimsj commented Mar 9, 2020

compiled with -march=x86-64 -mtune=generic.

Oops, it should be --disable-native in ./configure, see
https://github.com/axboe/fio/blob/master/configure#L251

@masonr masonr added bug Something isn't working good first issue Good for newcomers labels Mar 11, 2020
@masonr masonr self-assigned this Mar 11, 2020
@masonr
Copy link
Owner

masonr commented Mar 11, 2020

Thanks! I'll get this incorporated and start testing it out :)

@masonr
Copy link
Owner

masonr commented Mar 11, 2020

Fixed in 9819339

@masonr masonr closed this as completed Mar 11, 2020
@Daniel15
Copy link
Contributor

Does this affect perf? I wonder if this change will show lower performance on some systems.

@masonr
Copy link
Owner

masonr commented Mar 13, 2020

@Daniel15 - iperf was not affected by this as it doesn't incorporate AVX-specific CPU instructions in the binary. The fio binary was facing much more incompatibility issues compared to the iperf binary (which has rarely caused problems).

In any case, if a local binary/package is installed and found, the script will automatically defer to that instead of grabbing the pre-compiled binaries. So if worried about possible performance hits, feel free to install fio/iperf3 natively before running the script.

@trimsj
Copy link
Author

trimsj commented Mar 18, 2020

I wonder if this change will show lower performance on some systems.

@Daniel15 I doubt it will, since it is mainly a I/O benchmark tool, not a CPU one.

The fio packages provided by Linux distributions are all compiled with --disable-native (e.g., Ubuntu) otherwise it won't run on a lot of machines.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

3 participants