From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=39367 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OLysy-0004CU-Hi for qemu-devel@nongnu.org; Tue, 08 Jun 2010 09:30:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OLyhU-00032u-OM for qemu-devel@nongnu.org; Tue, 08 Jun 2010 09:18:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:27415) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OLyhU-00032c-GV for qemu-devel@nongnu.org; Tue, 08 Jun 2010 09:18:40 -0400 Message-ID: <4C0E4323.90808@redhat.com> Date: Tue, 08 Jun 2010 15:18:27 +0200 From: Gerd Hoffmann MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH] Fix and simplify gui timer logic. References: <1275659074-4516-1-git-send-email-kraxel@redhat.com> <201006071712.52267.paul@codesourcery.com> <4C0E0CC0.80609@redhat.com> <201006081250.18942.paul@codesourcery.com> In-Reply-To: <201006081250.18942.paul@codesourcery.com> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paul Brook Cc: qemu-devel@nongnu.org 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 ... cheers, Gerd