[lttng-dev] 'call_rcu' unstable?
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Tue Dec 11 12:55:25 EST 2012
* zs (84500316 at qq.com) wrote:
> Hi list,
>
> I found a big problem in my product, that use urcu 0.7.5. My program cost too mutch CPU in the funtion 'update_counter_and_wait:uruc.c:247', and I use gdb to see to *wait_loops*, it says -167777734. The CPU usage grows up from 1% to 100% in one day!
>
>
> Here is the sample code to show how I use urcu library:
>
> #include <urcu.h>
>
> thread ()
> {
> rcu_register_thread();
>
> for (;;) {
> rcu_read_lock();
> xxx
> rcu_read_unlock();
Please triple-check that all your rcu_read_lock() and rcu_read_unlock()
are balanced (no double-unlock, nor missing unlock for each lock taken).
The type of problem you get would happen in such a case.
Thanks,
Mathieu
> }
> }
>
> main()
> {
> rcu_init();
> pthread_create(, , , , thread);
>
> rcu_register_thread();
> for (;;)
> {
> if (xxx)
> call_rcu();
> }
>
> }
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list