On Fri, Apr 15, 2022 at 01:35:58AM -0500, Bob Pearson wrote: > I mean the trace you show here shows an instance of xa_lock being > acquired from the pd pool followed by an instance of xa_lock being > acquired from rxe_pool_get_index from the ah pool. They are different > locks. They can't deadlock against each other. So there must be > some other trace (not shown) that also gets xa_lock from the ah pool. This is because lockdep groups locks by allocation point into the same 'lock class' so as far as lockdep is concerned the AH and PD's are all the same lock and you'll get reports like the above. The same issue will show up with AH only, you just need to hit a path that allocates an AH from a process context, like uverbs. Jason