C++ constructor calling futex_wake then _spin_lock
"Xavier R. Guérin"
guerinx@gmail.com
Tue Jul 10 07:31:00 GMT 2012
Hi list,
I am experimenting with RAII for locks and uses a stack object to initialize a lock. While this method is very practical, using it on the critical path of my application shows extremely strange behaviors.
It looks like somehow kernel spin locks, through futex, are involved during the construction and destruction of my RAII locker. Is this an expected behavior? It's rather counter intuitive and extremely expensive (70% CPU time with multiple threads).
Thanks,
Xavier
More information about the Libstdc++
mailing list