[Top][All Lists]
[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/
From: |
Jamie Lokier |
Subject: |
Re: [Qemu-devel] Re: Slowdowns comparing qemu-kvm.git to qemu.git: vcpu/thread scheduling differences |
Date: |
Tue, 9 Feb 2010 19:12:55 +0000 |
User-agent: |
Mutt/1.5.13 (2006-08-11) |
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
> qemu.git.
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.
-- Jamie