From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sasha Levin Subject: Re: [Qemu-devel] [RFC v4 00/58] Memory API Date: Wed, 20 Jul 2011 09:10:51 +0300 Message-ID: <1311142251.5871.8.camel@lappy> References: <1310901265-32051-1-git-send-email-avi@redhat.com> <4E2581F4.5090004@codemonkey.ws> <4E25864A.10905@redhat.com> <4E2599BC.9070407@codemonkey.ws> <4E25AB37.2030808@redhat.com> <4E25AC5D.1030205@redhat.com> <4E25EE3A.8030007@codemonkey.ws> <4E264344.1080505@codemonkey.ws> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: Avi Kivity , kvm@vger.kernel.org, qemu-devel@nongnu.org To: Anthony Liguori Return-path: Received: from mail-fx0-f52.google.com ([209.85.161.52]:33737 "EHLO mail-fx0-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751120Ab1GTGLS (ORCPT ); Wed, 20 Jul 2011 02:11:18 -0400 Received: by fxd18 with SMTP id 18so1214795fxd.11 for ; Tue, 19 Jul 2011 23:11:17 -0700 (PDT) In-Reply-To: <4E264344.1080505@codemonkey.ws> Sender: kvm-owner@vger.kernel.org List-ID: 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. -- Sasha.