[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Re: [PATCH 2/7] Enable I/O thread and VNC threads by de
From: |
Tristan Gingold |
Subject: |
Re: [Qemu-devel] Re: [PATCH 2/7] Enable I/O thread and VNC threads by default |
Date: |
Tue, 8 Feb 2011 12:07:02 +0100 |
On Feb 8, 2011, at 6:58 PM, Anthony Liguori wrote:
> On 02/08/2011 04:06 AM, Aurelien Jarno wrote:
>> Yes, it's slow. But is it a problem? You assume that people use QEMU
>> only for emulating SMP platforms. This is a wrong assumption. Beside the
>> x86 target, only sparc really supports SMP emulation.
>>
>
> It's *not* just about performance.
>
> TCG requires a signal to break out of a tight chained TB loop. If you have a
> guest in a tight loop waiting for something external (like polling on a
> in-memory flag), the device emulation will not get to run until a signal is
> fired.
>
> Unless you set SIGIO on every file descriptor that selects polls on (and you
> can't because there are a number that just don't support SIGIO), then you
> have a race condition.
A race condition ? Looks like you are describing a dead-lock.
But the dead lock doesn't happen because of the timer which periodically exits
from TCG. Hence the performance issue.
> This can be fixed by running TCG in a separate thread than select() and
> sending a signal to the TCG VCPU when select() returns (effectively SIGIO in
> userspace).
>
> This is exactly what the I/O thread does.
(Nobody was able to make it working on Windows - or nobody was interested in ?)
Tristan.
- Re: [Qemu-devel] Re: [PATCH 2/7] Enable I/O thread and VNC threads by default, (continued)
- Re: [Qemu-devel] Re: [PATCH 2/7] Enable I/O thread and VNC threads by default, Aurelien Jarno, 2011/02/08
- Re: [Qemu-devel] Re: [PATCH 2/7] Enable I/O thread and VNC threads by default, Paolo Bonzini, 2011/02/08
- Re: [Qemu-devel] Re: [PATCH 2/7] Enable I/O thread and VNC threads by default, Jan Kiszka, 2011/02/08
- Re: [Qemu-devel] Re: [PATCH 2/7] Enable I/O thread and VNC threads by default, Anthony Liguori, 2011/02/08
- Re: [Qemu-devel] Re: [PATCH 2/7] Enable I/O thread and VNC threads by default, Aurelien Jarno, 2011/02/08
- Re: [Qemu-devel] Re: [PATCH 2/7] Enable I/O thread and VNC threads by default, Riku Voipio, 2011/02/08
- [Qemu-devel] Re: [PATCH 2/7] Enable I/O thread and VNC threads by default, Jan Kiszka, 2011/02/08
- [Qemu-devel] Re: [PATCH 2/7] Enable I/O thread and VNC threads by default, Aurelien Jarno, 2011/02/08
- [Qemu-devel] Re: [PATCH 2/7] Enable I/O thread and VNC threads by default, Jan Kiszka, 2011/02/08
- [Qemu-devel] Re: [PATCH 2/7] Enable I/O thread and VNC threads by default, Anthony Liguori, 2011/02/08
- Re: [Qemu-devel] Re: [PATCH 2/7] Enable I/O thread and VNC threads by default,
Tristan Gingold <=
- Re: [Qemu-devel] Re: [PATCH 2/7] Enable I/O thread and VNC threads by default, Aurelien Jarno, 2011/02/08
- Re: [Qemu-devel] Re: [PATCH 2/7] Enable I/O thread and VNC threads by default, Paolo Bonzini, 2011/02/08
- Re: [Qemu-devel] Re: [PATCH 2/7] Enable I/O thread and VNC threads by default, Anthony Liguori, 2011/02/08
- Re: [Qemu-devel] Re: [PATCH 2/7] Enable I/O thread and VNC threads by default, Aurelien Jarno, 2011/02/08
- Re: [Qemu-devel] Re: [PATCH 2/7] Enable I/O thread and VNC threads by default, Paolo Bonzini, 2011/02/08
- Re: [Qemu-devel] Re: [PATCH 2/7] Enable I/O thread and VNC threads by default, Aurelien Jarno, 2011/02/08
- Re: [Qemu-devel] Re: [PATCH 2/7] Enable I/O thread and VNC threads by default, Aurelien Jarno, 2011/02/08
- Re: [Qemu-devel] Re: [PATCH 2/7] Enable I/O thread and VNC threads by default, Aurelien Jarno, 2011/02/09
- Re: [Qemu-devel] Re: [PATCH 2/7] Enable I/O thread and VNC threads by default, Anthony Liguori, 2011/02/09
- Re: [Qemu-devel] Re: [PATCH 2/7] Enable I/O thread and VNC threads by default, Marcelo Tosatti, 2011/02/10