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

Child vs parent stealing #2279

Merged
merged 6 commits into from Aug 11, 2016
Merged

Child vs parent stealing #2279

merged 6 commits into from Aug 11, 2016

Conversation

hkaiser
Copy link
Member

@hkaiser hkaiser commented Aug 4, 2016

This adds a yield_to functionality improving the performance of our parent stealing scheme. This fixes #2248.

@hkaiser hkaiser added this to the 1.0.0 milestone Aug 4, 2016
@hkaiser hkaiser force-pushed the child_vs_parent_stealing branch 3 times, most recently from ef67538 to 9752078 Compare August 5, 2016 22:19
@biddisco
Copy link
Contributor

This is working well for me.

I looked through the diff and was surprised by HPX_LIKELY() and HPX_UNLIKELY() - what do these macros do (I see the defs cast them to bool, but why this macro?)

@hkaiser
Copy link
Member Author

hkaiser commented Aug 10, 2016

I looked through the diff and was surprised by HPX_LIKELY() and HPX_UNLIKELY() - what do these macros do (I see the defs cast them to bool, but why this macro?)

Those are micro optimizations for gcc/clang telling the compiler which branch to favor while generating code. I added those as it is absolutely critical to have the scheduling loop as optimal as possible.

@sithhell sithhell merged commit 7801bc0 into master Aug 11, 2016
@sithhell sithhell deleted the child_vs_parent_stealing branch August 11, 2016 13:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Need a feature to yield to a new task immediately
3 participants