On 06/08/2010 08:18 AM, Gerd Hoffmann wrote:
On 06/08/10 13:50, Paul Brook wrote:
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.
That is completely unrelated to this patch though. The patch doesn't
change mmio flush behaviour at all. And the periodic wakeup was there
even before the mmio flush patch was added. Even without gui,
although I can't see a obvious reason for it ...
Agreed. Regardless of the periodic mmio flush, having a separate
nographic timer isn't terribly helpful IMHO.
Regards,
Anthony Liguori
cheers,
Gerd