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