From 90c558beca0c0ef26db1ed77d1eb8f24a5ea02a1 Mon Sep 17 00:00:00 2001 From: Peter Xu Date: Thu, 22 Mar 2018 16:56:30 +0800 Subject: [PATCH] iothread: fix breakage on windows OOB can enable iothread for parsing even on Windows. We need some tunes to enable that on Windows otherwise it'll break Windows users. This patch fixes the breakage on Windows with qemu-system-ppc.exe. Reported-by: Howard Spoelstra Tested-by: Howard Spoelstra Suggested-by: Paolo Bonzini Signed-off-by: Peter Xu Message-Id: <20180322085630.23654-1-peterx@redhat.com> Signed-off-by: Paolo Bonzini --- iothread.c | 4 ++++ util/aio-win32.c | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/iothread.c b/iothread.c index 1b3463cb00..e675c38442 100644 --- a/iothread.c +++ b/iothread.c @@ -31,11 +31,15 @@ typedef ObjectClass IOThreadClass; #define IOTHREAD_CLASS(klass) \ OBJECT_CLASS_CHECK(IOThreadClass, klass, TYPE_IOTHREAD) +#ifdef CONFIG_POSIX /* Benchmark results from 2016 on NVMe SSD drives show max polling times around * 16-32 microseconds yield IOPS improvements for both iodepth=1 and iodepth=32 * workloads. */ #define IOTHREAD_POLL_MAX_NS_DEFAULT 32768ULL +#else +#define IOTHREAD_POLL_MAX_NS_DEFAULT 0ULL +#endif static __thread IOThread *my_iothread; diff --git a/util/aio-win32.c b/util/aio-win32.c index d6d5e02f00..a67b00c6ad 100644 --- a/util/aio-win32.c +++ b/util/aio-win32.c @@ -410,5 +410,7 @@ void aio_context_setup(AioContext *ctx) void aio_context_set_poll_params(AioContext *ctx, int64_t max_ns, int64_t grow, int64_t shrink, Error **errp) { - error_setg(errp, "AioContext polling is not implemented on Windows"); + if (max_ns) { + error_setg(errp, "AioContext polling is not implemented on Windows"); + } }