]> git.ipfire.org Git - thirdparty/qemu.git/commit
thread-pool: add missing qemu_bh_cancel in completion function
authorPeter Lieven <pl@kamp.de>
Thu, 16 Mar 2017 16:02:49 +0000 (17:02 +0100)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Mon, 20 Mar 2017 19:57:35 +0000 (14:57 -0500)
commita3aeb9f09de2d78fa5077b6e8a66d73b7c045a0c
tree8b4cd6434065f0c0378ff2d8f93990021125f86c
parent34e9c09d03185256d699803d5cb6bfb22872b510
thread-pool: add missing qemu_bh_cancel in completion function

commit 3c80ca15 fixed a deadlock scenarion with nested aio_poll invocations.

However, the rescheduling of the completion BH introcuded unnecessary spinning
in the main-loop. On very fast file backends this can even lead to the
"WARNING: I/O thread spun for 1000 iterations" message popping up.

Callgrind reports about 3-4% less instructions with this patch running
qemu-img bench on a ramdisk based VMDK file.

Fixes: 3c80ca158c96ff902a30883a8933e755988948b1
Cc: qemu-stable@nongnu.org
Signed-off-by: Peter Lieven <pl@kamp.de>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit b7a745dc33a18377bb4a8dfe54d1df01ea60bf66)
* drop context dep on b9e413d
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
thread-pool.c