d3fa923044
This patch drops a special case where aio_poll(ctx, true) returns false instead of blocking if no file descriptors are waiting on I/O. Now it is possible to block in aio_poll() to wait for aio_notify(). This change eliminates busy waiting. bdrv_drain_all() used to rely on busy waiting to completed throttled I/O requests but this is no longer required so we can simplify aio_poll(). Note that aio_poll() still returns false when aio_notify() was used. In other words, stopping a blocking aio_poll() wait is not considered making progress. Adjust test-aio /aio/bh/callback-delete/one which assumed aio_poll(ctx, true) would immediately return false instead of blocking. Reviewed-by: Alex Bligh <alex@alex.org.uk> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> |
||
---|---|---|
.. | ||
libqos | ||
multiboot | ||
qapi-schema | ||
qemu-iotests | ||
tcg | ||
.gitignore | ||
blockdev-test.c | ||
boot-order-test.c | ||
check-block.sh | ||
check-qdict.c | ||
check-qfloat.c | ||
check-qint.c | ||
check-qjson.c | ||
check-qlist.c | ||
check-qstring.c | ||
endianness-test.c | ||
fdc-test.c | ||
fw_cfg-test.c | ||
hd-geo-test.c | ||
i440fx-test.c | ||
ide-test.c | ||
libqtest.c | ||
libqtest.h | ||
m48t59-test.c | ||
Makefile | ||
qdev-monitor-test.c | ||
qemu-iotests-quick.sh | ||
qom-test.c | ||
rtc-test.c | ||
test-aio.c | ||
test-bitops.c | ||
test-coroutine.c | ||
test-cutils.c | ||
test-hbitmap.c | ||
test-int128.c | ||
test-iov.c | ||
test-mul64.c | ||
test-opts-visitor.c | ||
test-qdev-global-props.c | ||
test-qmp-commands.c | ||
test-qmp-input-strict.c | ||
test-qmp-input-visitor.c | ||
test-qmp-output-visitor.c | ||
test-string-input-visitor.c | ||
test-string-output-visitor.c | ||
test-thread-pool.c | ||
test-throttle.c | ||
test-visitor-serialization.c | ||
test-x86-cpuid.c | ||
test-xbzrle.c | ||
tmp105-test.c |