A while ago we were debugging a hang where coroutines were waiting for a mutex to be unlocked, but we couldn't find out who held the lock. This series adds some information to Coroutine and CoMutex that both allows to add a few assertions to check locking behaviour and can be used to find the culprit when analysing a core dump.
Kevin Wolf (2): coroutine: Let CoMutex remember who holds it coroutine: Assert that no locks are held on termination include/qemu/coroutine.h | 1 + include/qemu/coroutine_int.h | 1 + util/qemu-coroutine-lock.c | 14 ++++++++++++++ util/qemu-coroutine.c | 1 + 4 files changed, 17 insertions(+) -- 1.8.3.1