From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=44682 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OLxL0-0006sX-78 for qemu-devel@nongnu.org; Tue, 08 Jun 2010 07:51:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OLxKu-0002GG-Tw for qemu-devel@nongnu.org; Tue, 08 Jun 2010 07:51:22 -0400 Received: from mail.codesourcery.com ([38.113.113.100]:39634) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OLxKu-0002Fx-Kz for qemu-devel@nongnu.org; Tue, 08 Jun 2010 07:51:16 -0400 From: Paul Brook Subject: Re: [Qemu-devel] [PATCH] Fix and simplify gui timer logic. Date: Tue, 8 Jun 2010 12:50:17 +0100 References: <1275659074-4516-1-git-send-email-kraxel@redhat.com> <201006071712.52267.paul@codesourcery.com> <4C0E0CC0.80609@redhat.com> In-Reply-To: <4C0E0CC0.80609@redhat.com> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Message-Id: <201006081250.18942.paul@codesourcery.com> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gerd Hoffmann Cc: qemu-devel@nongnu.org > >> 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