[lttng-dev] question about the RCU variant in CITRUS tree paper
ryx at gwmail.gwu.edu
Thu May 11 20:05:45 UTC 2017
I am learning U-RCU now.
And I read paper Concurrent Updates with RCU: Search Tree as an Example
In this paper, the authors present a variant RCU implementation, and
argued their new RCU has better performance than default U-RCU.
Do you think their argument and implementation is correct in all cases?
If they are right, will you wan to integrate their improment to U-RCU
For your convenience, I paste the related text from the paper here.
"In our implementation, each thread has a counter and flag, the
counter counts the number of critical sections executed by the thread
and a flag indicates if the thread is currently inside its read-side
critical section. The rcu_read_lock operation increments the counter
and sets the flag to true, while the rcu_read_unlock operation sets
the flag to false. When a thread executes a synchronize_rcu operation,
it waits for every other thread, until one of two things occurs:
either the thread has increased its counter or the thread’s flag is
set to false. "
One its implementation can be found from synchrobench
Thanks a lot!
More information about the lttng-dev