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

Speculative Lock Region Bug (Low Priority) #21

Open
dz333 opened this issue Jun 4, 2021 · 0 comments
Open

Speculative Lock Region Bug (Low Priority) #21

dz333 opened this issue Jun 4, 2021 · 0 comments
Labels
bug Something isn't working

Comments

@dz333
Copy link
Collaborator

dz333 commented Jun 4, 2021

Currently, since lock regions aren't managed the same way as normal locks,
if a speculative thread is killed and holds a lock region, that region will become deadlocked.

We just need to add some metadata to the stage graph to mark the stages where a lock region is held to add the appropriate release statements to the kill rules.

E.g.:

start(rf);
---
spec_barrier(); //if the thread is killed here, the rf lock region will be deadlocked
---
end(rf);

This is only relevant for multi-cycle lock regions and so isn't a high priority bug (they're hardly used and we may deprecate them in favor of a different system in the future).

@dz333 dz333 added the bug Something isn't working label Jun 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant