]> git.proxmox.com Git - mirror_qemu.git/commit
aio-posix: do skip system call if ctx->notifier polling succeeds
authorPaolo Bonzini <pbonzini@redhat.com>
Wed, 12 Sep 2018 17:10:40 +0000 (19:10 +0200)
committerFam Zheng <famz@redhat.com>
Wed, 26 Sep 2018 02:46:21 +0000 (10:46 +0800)
commitcfeb35d6774b2e936046aa9923217818bd160299
treeb5f2b957e68792872d00fd460d8c1876a327d6b8
parente30cffa04d52e35996569f1cfac111be19576bde
aio-posix: do skip system call if ctx->notifier polling succeeds

Commit 70232b5253 ("aio-posix: Don't count ctx->notifier as progress when
2018-08-15), by not reporting progress, causes aio_poll to execute the
system call when polling succeeds because of ctx->notifier.  This introduces
latency before the call to aio_bh_poll() and negates the advantages of
polling, unfortunately.

The fix builds on the previous patch, separating the effect of polling on
the timeout from the progress reported to aio_poll().  ctx->notifier
does zero the timeout, causing the caller to skip the system call,
but it does not report progress, so that the bug fix of commit 70232b5253
still stands.

Fixes: 70232b5253a3c4e03ed1ac47ef9246a8ac66c6fa
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20180912171040.1732-4-pbonzini@redhat.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Fam Zheng <famz@redhat.com>
util/aio-posix.c