main-loop: Suppress "I/O thread spun" warnings for qtest
PATCH 1/1 main-loop: Suppress "I/O thread spun" warnings for qtest
When running under qtest we don't actually have any vcpu threads to be starved, so the warning about the I/O thread spinning isn't relevant, and the way qtest manipulates the simulated clock means the warning is produced a lot as a false positive. Suppress it if qtest_enabled(), so 'make check' output is less noisy.
--- main-loop.c | 3 ++- stubs/Makefile.objs | 1 + stubs/qtest.c | 14 ++++++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 stubs/qtest.c
main-loop.c +2 -1
@@ -25,6 +25,7 @@#include "qemu-common.h" #include "qemu/timer.h" #include "qemu/sockets.h" // struct in_addr needed for libslirp.h +#include "sysemu/qtest.h" #include "slirp/libslirp.h" #include "qemu/main-loop.h" #include "block/aio.h"
@@ -208,7 +209,7 @@ static int os_host_main_loop_wait(int64_t timeout)if (!timeout && (spin_counter >MAX_MAIN_LOOP_SPIN )) {static bool notified; -if (!notified) { +if (!notified && !qtest_enabled ()) {fprintf (stderr,"main-loop: WARNING: I/O thread spun for %d iterations\n" ,MAX_MAIN_LOOP_SPIN );
stubs/Makefile.objs +1 -0
@@ -28,3 +28,4 @@ stub-obj-y += vmstate.o stub-obj-$(CONFIG_WIN32) += fd-register.o stub-obj-y += cpus.o stub-obj-y += kvm.o +stub-obj-y += qtest.o
stubs/qtest.c new file +14 -0
@@ -0,0 +1,14 @@ +/* +* qtest stubs +* +* Copyright (c) 2014 Linaro Limited +* Written by Peter Maydell +* +* This work is licensed under the terms of the GNU GPL, version 2 or later. +* See the COPYING file in the top-level directory. +*/ + +#include "qemu-common.h" + +/* Needed for qtest_allowed() */ +bool qtest_allowed;
Signature · 1 line
1.9.0
Am 13.03.2014 15:17, schrieb Peter Maydell:
Quoted 6 lines
When running under qtest we don't actually have any vcpu threads to be starved, so the warning about the I/O thread spinning isn't relevant, and the way qtest manipulates the simulated clock means the warning is produced a lot as a false positive. Suppress it if
qtest_enabled(), so 'make check' output is less noisy.
Quoted 7 lines
Signed-off-by Peter Maydell <[email protected]>--- main-loop.c | 3 ++- stubs/Makefile.objs | 1 + stubs/qtest.c | 14 ++++++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 stubs/qtest.c
Looks OK to me, a bit unfortunate that we need a stub, but
Thanks,
Andreas
Signature · 2 lines
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
Quoted 6 lines · Peter Maydell
When running under qtest we don't actually have any vcpu threads to be starved, so the warning about the I/O thread spinning isn't relevant, and the way qtest manipulates the simulated clock means the warning is produced a lot as a false positive. Suppress it if
qtest_enabled(), so 'make check' output is less noisy.
Quoted 7 lines
Signed-off-by Peter Maydell <[email protected]>--- main-loop.c | 3 ++- stubs/Makefile.objs | 1 + stubs/qtest.c | 14 ++++++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 stubs/qtest.c
Am 13.03.2014 15:17, schrieb Peter Maydell:
Quoted 7 lines
When running under qtest we don't actually have any vcpu threads to be starved, so the warning about the I/O thread spinning isn't relevant, and the way qtest manipulates the simulated clock means the warning is produced a lot as a false positive. Suppress it if
qtest_enabled(), so 'make check' output is less noisy.Signed-off-by Peter Maydell <[email protected]>
[...]
stubs/Makefile.objs stub-obj-y += vmstate.o · line 31
Quoted 9 lines
stubs/Makefile.objs +1
-0@@ -28,3 +28,4 @@ stub-obj-y += vmstate.o stub-obj-$(CONFIG_WIN32) += fd-register.o stub-obj-y += cpus.o stub-obj-y += kvm.o +stub-obj-y += qtest.o
[snip]
Please note that the stubs are supposed to be sorted alphabetically.
I'm still seeing two instances of the warning for i386 and x86_64 each. But it's a clear improvement.
Thanks, applying to qom-next (with Makefile tweaked):
https://github.com/afaerber/qemu-cpu/commits/qom-next
Andreas
Signature · 2 lines
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
Quoted 20 lines · Andreas Färber
Am 13.03.2014 15:17, schrieb Peter Maydell:
Quoted 7 lines
When running under qtest we don't actually have any vcpu threads to be starved, so the warning about the I/O thread spinning isn't relevant, and the way qtest manipulates the simulated clock means the warning is produced a lot as a false positive. Suppress it if
qtest_enabled(), so 'make check' output is less noisy.Signed-off-by Peter Maydell <[email protected]>[...]
Quoted 9 lines
stubs/Makefile.objs +1
-0@@ -28,3 +28,4 @@ stub-obj-y += vmstate.o stub-obj-$(CONFIG_WIN32) += fd-register.o stub-obj-y += cpus.o stub-obj-y += kvm.o +stub-obj-y += qtest.o[snip]
Quoted 1 line
Please note that the stubs are supposed to be sorted alphabetically.
OK. I looked at the tail end of the file (which as you can see is not in order) and thought we weren't trying to maintain an order here. I guess that's just previous commits also adding at the end of the file, though...
thanks
-- PMM