I'm probably missing something but I looked at users of RCU in the kernel and found that
kernel/kprobes.c doesn't call rcu_read_lock() function before entering in a critical section.
Does it have any good reasons to do so ?
Another point in include/linux/list.h: sometimes it seems that RCU API is not used for no good
reasons. For example __list_add_rcu() does not use rcu_dereference(). However by using it, the
code could have clearly showed which pointer is RCU protected...
The Alpha memory ordering and value-speculation compiler optimizations done in this
architecture sounds incredibely weird to me. Any avalaible pointers on this subject ?
Anyways, thanks for this article.