From mboxrd@z Thu Jan 1 00:00:00 1970 From: i@eivanov.com (Evgeniy Ivanov) Date: Wed, 19 Oct 2016 13:03:47 +0300 Subject: [lttng-dev] Deadlock in call_rcu_thread when destroy rculfhash node with nested rculfhash In-Reply-To: References: Message-ID: Sorry, found partial answer in docs which state that cds_lfht_destroy should not be called from a call_rcu thread context. Why does this limitation exists? On Wed, Oct 19, 2016 at 12:56 PM, Evgeniy Ivanov wrote: > 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 > -- Cheers, Evgeniy -------------- next part -------------- An HTML attachment was scrubbed... URL: