On 23/07/2015 14:59, Wen Congyang wrote: >>> >>> If the thread doesn't use RCU, rcu_register_thread() is harmless, is >>> it right? >> >> Every rcu_register_thread() makes synchronize_rcu() a little slower. > > Yes, but synchronize_rcu() is very slow...
Hmm, worse, rcu_register_thread() if called together with synchronize_rcu() it waits for the synchronize_rcu() to finish. :/ Paolo >> >>>>> be simpler to add an assertion in rcu_register_thread. I'm just a bit >>>>> wary of doing little more than the bare minimum in 2.4, because of the >>>>> OS X failure that I didn't quite understand. >>> Which problem? I don't find it in the maillist. >> >> http://article.gmane.org/gmane.comp.emulators.qemu/351548 > > Hmm, I guess rcu_reader is invalid when pthread key is destroyed. > pthread key and __thread > variable, which is destroyed first? I don't find any document to > describe it.