-
Notifications
You must be signed in to change notification settings - Fork 309
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
ck_dec spinlock can acquire the already-acquired lock. #99
Comments
Thanks for the PR! This is specific to |
Thank you! |
Out of curiosity, what are you working on? Always love to hear about use-cases / research. |
I am working on developing a performance profiler to find spinlock contention. Since concurrency kit already has all sort of spinlocks with great unit test cases, I am using CK for unit test cases of my performance profiler. Thank you! |
ck_dec spinlock can acquire the lock that is already acquired. You can reproduce the problem using the following code snippet, which is modified from ck/regressions/ck_spinlock/validate/validate.h. The underflow of lock->value at ck_spinlock_dec_lock_eb() is the root cause of the problem.
======= code to reproduce =======
======= output =======
The text was updated successfully, but these errors were encountered: