McKenney: What Does It Mean To Be An RCU Implementation?
Paul McKenney looks ata couple of Rust crates in an attempt to determine whether theyactually implement the read-copy-update algorithm; in the process, he givesan overview of the numerous RCU variants in the kernel.
Except that the first RCU crate, rcu_clean, throws a monkey wrenchinto the works. It does not have any grace-period primitives, butinstead a clean() function that takes a reference to aRCU-protected data item. The user invokes this at some point inthe code where it is known that there are no readers, either withinthis thread or anywhere else. In true Rust fashion, in some cases,the compiler is able to prove the presence or absence of readersand issue a diagnostic when needed.