From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:50698) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RGDYR-0002eV-OF for qemu-devel@nongnu.org; Tue, 18 Oct 2011 13:34:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RGDYP-0002Jj-TB for qemu-devel@nongnu.org; Tue, 18 Oct 2011 13:34:19 -0400 Received: from mx1.redhat.com ([209.132.183.28]:31746) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RGDYP-0002Jb-Ak for qemu-devel@nongnu.org; Tue, 18 Oct 2011 13:34:17 -0400 Message-ID: <4E9DB892.5060602@redhat.com> Date: Tue, 18 Oct 2011 19:34:10 +0200 From: Avi Kivity MIME-Version: 1.0 References: <4E859A72.9040007@siemens.com> <4E9D8698.3060608@redhat.com> <4E9D87B0.5070009@siemens.com> <4E9D884B.30309@redhat.com> <4E9D88C9.1010804@siemens.com> <4E9D8D81.308@redhat.com> <4E9DAC02.4040208@redhat.com> <4E9DAE35.4010003@siemens.com> In-Reply-To: <4E9DAE35.4010003@siemens.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 1/2] Move graphic-related coalesced MMIO flushes to affected device models List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jan Kiszka Cc: Anthony Liguori , qemu-devel , David Gibson On 10/18/2011 06:49 PM, Jan Kiszka wrote: > On 2011-10-18 18:40, Avi Kivity wrote: > > On 10/18/2011 04:30 PM, Avi Kivity wrote: > >> This takes a while to reproduce, let me talk to gdb for a bit. > >> > > > > a vcpu exit causes kvm_flush_coalesced_mmio_buffer() to run, which does > > a bitblt, which is cirrus_do_copy(), which goes to vga_hw_update, which > > Why does it have to do vga_hw_update? Why can't it set some flag for the > next requested screen update or so? Just thinking, haven't looked at the > code yet. Maybe it's a remnant from the days where it asked the host hardware to do the blt. > Do you think that only cirrus is affected by this pattern? It's also possible for hotunplug: - hotunplug - unregister coalesced regions - flush mmios - call back into same device -- error compiling committee.c: too many arguments to function