Note that codice_9 and codice_10 do nothing. This is the great strength of classic RCU in a non-preemptive kernel: read-side overhead is precisely zero, as codice_19 is an empty macro on all but DEC Alpha CPUs; such memory barriers are not needed on modern CPUs. The codice_20 macro is a volatile cast that generates no additional code in most cases. And there is no way that codice_9 can participate in a deadlock cycle, cause a realtime process to miss its scheduling deadline, precipitate priority inversion, or result in high lock contention. However, in this toy RCU implementation, blocking within an RCU read-side critical section is illegal, just as is blocking while holding a pure spinlock.