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
add client thread synchronization support: condition variables in particular #279
Comments
From derek.br...@gmail.com on January 31, 2011 19:11:15 This issue was closed by revision r567 . Status: Fixed |
From bruen...@google.com on February 29, 2012 10:38:53 this was incorrectly closed: that was Dr. Memory issue #279 that was fixed by r567 Status: Accepted |
I'm labeling as GoodContrib but this will take knowledge of DR's synch constraints and invariants to properly add so it will not be trivial. |
Adds condition-variable-type event objects that threads can wait on and signal to the API. The implementation is just a wrapper around the internal event_t interfaces. Adds a test to the client.thread test by converting its prior hacky use of bools and yielding to proper events. Fixes #279
Adds condition-variable-type event objects that threads can wait on and signal to the API. The implementation is just a wrapper around the internal event_t interfaces. Adds a test to the client.thread test by converting its prior hacky use of bools and yielding to proper events. Fixes #279
This change improves performance and reduces memory bandwidth contention. Access to the shared memory is handled by a ticket lock that maintains the order of threads waiting, in an attempt to reduce skew between thread events. A custom futex implementation had to be used because DynamoRIO does not provide a conditional variable implementation, and the use of the pthread library is not allowed in DR clients. DynamoRIO#279
From derek.br...@gmail.com on April 01, 2010 14:49:29
issue #41 adds client threads but there is no synch support other than DR
locks. there are issues with client threads interacting with DR's synchall
so we need to make sure we provide solutions that have good safe spots and
work well with synchall (xref PR 231301).
Original issue: http://code.google.com/p/dynamorio/issues/detail?id=279
The text was updated successfully, but these errors were encountered: