-
Notifications
You must be signed in to change notification settings - Fork 12
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
Adding the assembly yeild command to support noop for ARM #421
Conversation
Signed-off-by: Toby Flynn <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@flynn378 thanks for this PR and making the checks on ARM. Much appreciated! 👍
@all-contributors please add @flynn378 for bug and maintenance
@all-contributors please add @flynn378 for bug and maintenance |
#elif defined(DISRUPTOR_CPU_ARM) | ||
static void yieldProcessor() noexcept { asm volatile("yield"); } | ||
#else | ||
static void yieldProcessor() noexcept { asm volatile("rep\nnop"); } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Out of curiosity, are the tests working for you? I've tried this a half a year or soago on my M3 mac (Linux VM), but the tests took forever (like 30 minutes) to run, with many failing, so I didn't pursue this further, at the time.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am cross-compiling using Yocto. There were a few other issues that I worked around, but the fixes for them are too bad to use. I will probably create some issues for them soon. There are things like mtune native in some Cmakefiles for example. I also have a powerful laptop for building, I had to add a 64GB swap drive, in addition to 64GB of RAM to complete the build.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually I ran the tests again, and it looks much better now, only one failing test (qa_buffer), and all of them completing in a somewhat reasonable time (120s).
@all-contributors please add @flynn378 for bug and maintenance |
I've put up a pull request to add @flynn378! 🎉 |
This fixes and error when cross-compiling for ARM processors. The ARM asm equivalent to rep/nnop is yield.