[lttng-dev] Deadlock in call_rcu_thread when destroy rculfhash node with nested rculfhash

Evgeniy Ivanov i at eivanov.com
Wed Oct 19 09:56:04 UTC 2016


Hi,

Each node of top level rculfhash has nested rculfhash. Some thread clears
the top level map and then uses rcu_barrier() to wait until everything is
destroyed (it is done to check leaks). Recently it started to dead lock
sometimes with following stacks:

Thread1:

__poll
cds_lfht_destroy    <---- nested map
...
free_Node(rcu_head*)  <----- node of top level map
call_rcu_thread

Thread2:

syscall
rcu_barrier_qsbr
destroy_all
main


Did call_rcu_thread dead lock with barrier thread? Or is it some kind of
internal deadlock because of nested maps?


-- 
Cheers,
Evgeniy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.lttng.org/pipermail/lttng-dev/attachments/20161019/96d17576/attachment.html>


More information about the lttng-dev mailing list