From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37712) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZZxzx-0001D9-E2 for qemu-devel@nongnu.org; Thu, 10 Sep 2015 05:18:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZZxzw-0004dW-JT for qemu-devel@nongnu.org; Thu, 10 Sep 2015 05:18:29 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45131) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZZxzw-0004dS-FL for qemu-devel@nongnu.org; Thu, 10 Sep 2015 05:18:28 -0400 Date: Thu, 10 Sep 2015 12:18:25 +0300 From: "Michael S. Tsirkin" Message-ID: <20150910121757-mutt-send-email-mst@redhat.com> References: <1441164325-14417-1-git-send-email-jasowang@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1441164325-14417-1-git-send-email-jasowang@redhat.com> Subject: Re: [Qemu-devel] [PATCH V2 0/8] virtio 1.0 pci optimizations and fixes List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jason Wang Cc: cornelia.huck@de.ibm.com, qemu-devel@nongnu.org On Wed, Sep 02, 2015 at 11:25:17AM +0800, Jason Wang wrote: > Hi all: > > This series tries to fix the following issues: > > - qemu abort when trying to adjust endianness for zero length eventfd, > this prevent fast mmio eventfd from being used in ppc. Fixing by > skip the endianness adjustment for zero length eventfd. > - 1.0 mmio is slow since it was using datamatch eventfd. Fixing this > by usinng wildcard mmio eventfd, then we could get speed up through > kernel fast mmio bus on ept capable machine. > - 1.0 mmio is slow compared to pio (at least on some > archs/setups). Fixing this by re-introducing pio notification > capability. This will be useful for the arch/setups that fast mmio > does not work. > - Some virtio pci 1.0 fields were not migrated. This will cause > unexpected behaviour if migrate during driver initialization. Fixing > this by introduce a transport specific callback and get/put > transport specific fields for virtio 1.0. > - queue_enable read was broken. Fixing by set the queue_enable to true > during guest write and clear it during reset. > > Please review. > Thanks Wanted to merge this, but it needs to be rebased to latest master. Pls do, and repost. > Changes from V1: > - skip zero length eventfd endianness adjustment > - don't use pci specific name ("modern") in virtio core, using "extra" > instead and in virtio pci callback, using subsections which could > allow us to extend the future improvement without changing the core. > - don't check virtio_virtqueue_needed() in virtio_extra_state_needed() > - drop the ppc 2.5 machine type patch > - squash Eduardo's 2.5 machine type patches into this series > > Eduardo Habkost (3): > q35: Move options common to all classes to pc_q35_machine_options() > q35: Move options common to all classes to pc_i440fx_machine_options() > pc: Introduce pc-*-2.5 machine classes > > Jason Wang (5): > virtio-pci: fix 1.0 virtqueue migration > memory: don't try to adjust endianness for zero length eventfd > virtio-pci: use wildcard mmio eventfd for 1.0 notification cap > virtio-pci: introduce pio notification capability for modern device > virtio-pci: unbreak queue_enable read > > hw/i386/pc_piix.c | 18 ++- > hw/i386/pc_q35.c | 20 +++- > hw/virtio/virtio-pci.c | 266 +++++++++++++++++++++++++++++++++++++---- > hw/virtio/virtio-pci.h | 30 +++-- > hw/virtio/virtio.c | 57 +++++++++ > include/hw/compat.h | 7 ++ > include/hw/i386/pc.h | 4 + > include/hw/virtio/virtio-bus.h | 3 + > memory.c | 8 +- > 9 files changed, 375 insertions(+), 38 deletions(-) > > -- > 2.1.4