> >> Kill nographic timer. Have a global gui_timer instead. Have the gui > >> timer enabled unconditionally. We need a timer running anyway for mmio > >> flush, so the whole have-gui-timer-only-when-needed logic is pretty > >> pointless. It also simplifies displaylisteners coming and going at > >> runtime, we don't need to care about the timer then as it runs anyway. > > > > Linking mmio flushes to the gui is completely bogus. The fact that we're > > doing arbitrary periodic mmio flushes suggests something else is horribly > > broken. > > Was added by commit > > http://git.qemu.org/qemu.git/commit/?id=62a2744ca09a0b44b8406ea0c430c4c67a2 > c3231 > > Patch description makes sense to me. Of course we could have a separate > timer for the mmio flushes instead of re-using the gui timer. But we > would have more wakeups then ...
This suggests we are incorrectly coalescing writes, and we should actually be notifying qemu when (at least) he first write occurs. If we aren't outputting anything we don't want to be waking up periodically just to flush an empty MMIO buffer. Paul