[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Re: Slowdowns comparing qemu-kvm.git to qemu.git: vcpu/
Re: [Qemu-devel] Re: Slowdowns comparing qemu-kvm.git to qemu.git: vcpu/thread scheduling differences
Tue, 9 Feb 2010 19:12:55 +0000
Anthony Liguori wrote:
> No, basically, the problem will boil down to, the IO thread is
> select()'d waiting for an event to occur. However, you've done
> something in the VCPU thread that requires the IO thread to run it's
> main loop. You need to use qemu_notify_event() to force the IO thread
> to break out of select().
> Debugging these problems are very difficult and the complexity here is
> the main reason the IO thread still hasn't been enabled by default in
It is difficult. One approach to debugging them, in general, is to
have a special debugging mode where the select() loop wakes up
repeatedly at high speed and checks all the conditions it's supposed
to to be waiting for that _should_ have triggered a wakeup, and if any
of them are asserted for two timed wakeups (or some sufficient duration,
checked by gettimeofday), emit a bug message because it probably is one.
I don't know if that could be applied in qemu's event loop.