On 07/20/2011 09:10 AM, Sasha Levin wrote:
On Tue, 2011-07-19 at 21:53 -0500, Anthony Liguori wrote: > QEMU does use it and it's quite important. Coalesced MMIO is really > about write caching MMIO exits. It only works with devices that have > registers where writing has no side effects. Moreover, it only really > works well when there are lots and lots of writes to these registers > simultaneously. > > Couple that with the fact that the buffer is a fixed size and it's > really not flexible enough to be useful for a wide variety of devices. > > But for VGA planar mode writes, it works wonders. It would be terrible > to totally lose it. That said, I'm not at all convinced it's useful for > much other than VGA planar mode. Why was the coalesced approach taken in the first place? When I tried using it for VGA in /tools/kvm it just seemed to me like a builtin virtio-memory transport. Thats why I think planar VGA would be fine if we deprecate coalesced mmio in favor of either socket ioeventfds or a new virtio-memory device.
virtio is guest visible. coealesced mmio is transparent to the guest. socket ioeventds also do coalescing, but they are more expensive to synchronize - you have to poll the socket whenever a synchronization event happens.
-- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html