Userspace RCU

http://lttng.org/urcu

UserspaceのRCUアルゴリズム実装。
半日ぐらいコード眺めてたけど、synchronize_rcu()でparityをなぜ2回パリティフリップ/同期してるのかわからん。

Preemptive2-staged RCUの実装ぽいのでLWNの記事をもっとよみこむ。
http://lwn.net/Articles/253651/

現在の理解だと、rcu_read_lock()はメモリバリアを含まないので、同期->MB強制->同期するので2回必要という理由。しかしあってるのか自信ない。