-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 10/18/2011 09:50 PM, Jan Kiszka wrote: > On 2011-10-18 19:34, Avi Kivity wrote: > > 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. > > If it's no longer needed - drop it? Already for other reasons like > efficiency.
I think it actually is needed - it calls qemu_console_copy() to do the copy. Which incidentally means the the coalesced flush, had it worked, would be a bug: it would bring pending mmio writes in front of a currently executing bitblt. I don't think we can regard my hack as a fix for that. Maybe we need to revert the original patch. Or make sure the flush only happens from the display thread. > > > > > >> 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 > > Which device triggers hotunplug via a coalesced mmio region? Er, none. > Anyway, if we want to avoid other surprises like that, better make > kvm_flush_coalesced_mmio_buffer reentrance-safe. If we think that this > remains an odd scenario, issue a warning to the console that some device > may require fixing. > - -- I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQIcBAEBAgAGBQJOnpKTAAoJEI7yEDeUysxlWjkP/3KubuwPQXYV6Fh8EjLXYSNG ClxiqOvGIy8lHqdpZON2iuv5RiFcReeUZlFVXhRcjJ28tSb2ZYh8qxb/mRE82U8p 1sPS+kEH8k+lvzF38LjUc9XwWdjLLPiXrm3xWX/3uGvotbMKezS+2WGqc5hN7l8U bc1pKLXQJ8YTIPq1seMv+ncVUcS3yaYSHMagkwjnQ4MDo8mhyPadfkkyv2BBLMM6 lTI9w5QvZ6JoWAHy/7KEEqyzs06ssfXOc/rSQLcHXn0S4CyVsmuGu3B/grHNqKIp 8OE0gZgDcA00E+YvXdOUGPMJ+XHEn/BCH2vrRf1TAlWq+zRPwXTrY3SZbauuBV/+ x0991xE2fMPF3o03OybwqnbQFrqtPhhYKXu9Dt/mBeITOkcvEVJjnO6ooCeqirmA GrA26ls0I5+oZxfC3qmwJnO/WmGhZCEBS4YAav/4o+t1Ae2bjj/A23kcW/W+RUW7 5I2WTcbhe/+zqtalJg68F//8PSWmCnF4njxdHR3sRyhkzuDS1Ue99bGi0eugkYrM 71q0r17SnOK8Mo7tPn4FP0eeSEpTnxzS5vScf60IV0p3wIzgTPqeDgs+73v6AzO1 Yu3efGmh2q+UFVgUOhkDiFkPoQeaUSnpNEhpwBDGctGjqMyKpildkZB6DFY/+hle 9+Id+qSPeQNzoO62bfGi =n5PD -----END PGP SIGNATURE-----