-
Notifications
You must be signed in to change notification settings - Fork 9
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
Refactor code away from using low-level termination primitives, to higher-level routines #824
Conversation
This doesn't actually address #649 at all yet. I just wanted to get rid of dumb Somehow, this reveals some test failures, both timeouts and inconsistent direct failures.
I don't really see how this should have messed with any test behaviors at all. Is there weirdness in where one can test |
Ah, I see |
In |
I'm testing a fix that checks against windows with recorded terminated epochs |
This doesn't seem to help, which surprises me:
|
Codecov Report
@@ Coverage Diff @@
## develop #824 +/- ##
===========================================
- Coverage 80.49% 80.47% -0.03%
===========================================
Files 353 352 -1
Lines 11207 11173 -34
===========================================
- Hits 9021 8991 -30
+ Misses 2186 2182 -4
|
0dbd148
to
c6c1de8
Compare
There's still going to be plenty to do in the way of fix-ups:
|
An observation that very little inside
|
The first three of these definitely belong in the global epoch - they are completely closed WRT any other epoch that might be floating around. I'm less clear on the last one. |
One of the examples, The other two
are both well suited to global epoch |
Are probably not first-level usage examples we want to highlight so much, but their |
runSchedulerThrough(ep); | ||
} | ||
|
||
void runInEpochCollective(ActionType&& fn) { |
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'm thinking (for the future) that maybe runInEpochRooted
and runInEpochCollective
should return a holder that executes until the end it goes out of scope. So it can be chained with other operations if the user wants. But this is good for now.
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 don't think I exactly get what you're thinking of. Do you mean a holder that doesn't execute until it goes out of scope (or is manually released)? What sort of chaining do you have in mind?
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 could see the potential for a modest generalization of DependentSendChain
, into something like DependentActionChain
, on which you could then wait on the whole chain (effectively, the last epoch in the chain)
Convert out of draft mode? |
This is incomplete. It doesn't address the issue stated in 649. Though it
could probably be retitled and merged sooner. Will check tomorrow.
…On Mon, Jun 1, 2020, 23:40 Jonathan Lifflander ***@***.***> wrote:
Convert out of draft mode?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#824 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAA64ADCB4ZMVEFVFJ22H2TRURYCZANCNFSM4NKNGZQA>
.
|
There had been a failure in |
That's surprising to me. I highly doubt the failure is related to this PR. I say we move ahead with this PR. Did you look at the output from the address sanitizer on the Github action run to ensure nothing weird is happening? |
So this has had the same spurious failure of We need to get to the bottom of this error. |
…ing an action to the global epoch
e3781ec
to
fde87f3
Compare
Here is an overview of what got changed by this pull request: Clones removed
==============
+ examples/collection/lb_iter.cc -2
+ examples/collection/migrate_collection.cc -4
See the complete overview on Codacy |
No description provided.