From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44426) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZK3kl-0006Op-Fz for qemu-devel@nongnu.org; Tue, 28 Jul 2015 08:13:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZK3kh-0006js-6w for qemu-devel@nongnu.org; Tue, 28 Jul 2015 08:13:03 -0400 Received: from mx1.redhat.com ([209.132.183.28]:34906) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZK3kh-0006ji-1c for qemu-devel@nongnu.org; Tue, 28 Jul 2015 08:12:59 -0400 From: Stefan Hajnoczi Date: Tue, 28 Jul 2015 13:12:54 +0100 Message-Id: <1438085576-12072-1-git-send-email-stefanha@redhat.com> Subject: [Qemu-devel] [PATCH v2 0/2] AioContext: fix deadlock after aio_context_acquire() race List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: cornelia.huck@de.ibm.com, borntraeger@de.ibm.com, Stefan Hajnoczi , Paolo Bonzini v2: * Free BHs after thread_pool_free(), which calls qemu_bh_delete() [Cornelia] * Remove assert for leaked BHs since we don't know how many existing cases there are yet and QEMU 2.4-rc3 is a poor time to risk assertion failures See Patch 2 for details on the deadlock after two aio_context_acquire() calls race. This caused dataplane to hang on startup. Patch 1 is a memory leak fix for AioContext that's needed by Patch 2. Stefan Hajnoczi (2): AioContext: avoid leaking deleted BHs on cleanup AioContext: force event loop iteration using BH async.c | 29 +++++++++++++++++++++++++++-- include/block/aio.h | 3 +++ 2 files changed, 30 insertions(+), 2 deletions(-) -- 2.4.3