-
Notifications
You must be signed in to change notification settings - Fork 81
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 thread-based RCU #12
Conversation
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.
Rename the directory to "thread-rcu" and update README.md for high level description.
I change to C11 ( But, there are still warnings:
|
The program is not built with clang (version 10) because of various errors:
|
It still has the warnings from ThreadSanitizer. I combine the But this kind of change will raise the warning from sparse.
I will fix it a few days later since I have other stuff need to be done. |
Now, the ThreadSanitizer will not warn. |
I fix up the warning raised by sparse. |
4dd92b3
to
cf879f7
Compare
Fixed at cf879f7. |
90f8ff8
to
8da1ad9
Compare
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.
Add high level description in new file README.md
I change the test program.
|
Add the Linux Kernel style thread-based simple RCU. It supports sparse checking[1]. thread-rcu target to use Linux Kernel Memory Model (LKMM). C11 memory model may no compatible to LKMM. Check the paper[2] to see more detail. [1] https://www.kernel.org/doc/html/latest/dev-tools/sparse.html [2] http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0124r6.html
Thank @linD026 for the great work! |
Add the Linux Kernel style thread-based simple RCU.
It supports sparse checking [1].
With sparse, it will report:
It is from the pthread_mutex_t initializer, we can ignore it.
[1] https://www.kernel.org/doc/html/latest/dev-tools/sparse.html
From the ThreadSanitizer report, ignore the
volatile
type data race warning [1][2],there still have the data race warning.
I try to debug it, but cannot figure out where the wrong is.
Not sure if it is a false positive or not.
[1] https://gcc.gnu.org/pipermail/gcc-patches/2020-June/547633.html
[2] https://gcc.gnu.org/gcc-11/changes.html