Anthony Liguori a écrit : > 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. >
In practice you will get a signal when the next timer event expire. I agree it's suboptimal, but it works, and has been like that for here. Having that fixed through an I/O thread is actually quite nice, however it should not be done ignoring all the *current* drawbacks of the iothread mode. We know them (at least for some of them), so let's try to solve them. And now, I don't buy the argument "it's been there for years", it was *disabled* by default. -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurel...@aurel32.net http://www.aurel32.net