Gleb Natapov wrote: > On Mon, Nov 10, 2008 at 09:46:12AM -0600, Anthony Liguori wrote: > > -usbdevice tablet has nothing to do with it. Qemu misses interrupt even > without this option and with SDL screen it misses them in bunches when > SDL redraws a screen. In case of vnc qemu misses interrupt because of > fsync() call in raw_flush(), or so my instrumentation shows. > Can you give this patch a spin? This introduces a bdrv_aio_flush() which will wait for all existing AIO operations to complete before indicating completion. It also fixes up IDE. Fixing up SCSI will be a little more tricky but not much. Since we now use O_DSYNC, it's unnecessary to do an fsync (or an fdatasync). Assuming you're using IDE, this should eliminate any delays from fsync. SDL delays are unavoidable because it's going to come down to SDL doing sychronous updates to the X server. The proper long term solution here would be to put SDL in it's own thread but I'm not too worried about this case. It's a good argument for timer fixups but I think it's important to identify all the reasons we're losing ticks and if we can do something about it, we should. Regards, Anthony Liguori > -- > Gleb. >