From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755563AbbJ1HRJ (ORCPT ); Wed, 28 Oct 2015 03:17:09 -0400 Received: from mx1.redhat.com ([209.132.183.28]:54589 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754117AbbJ1HRH (ORCPT ); Wed, 28 Oct 2015 03:17:07 -0400 Date: Wed, 28 Oct 2015 09:17:02 +0200 From: "Michael S. Tsirkin" To: Andy Lutomirski Cc: linux-kernel@vger.kernel.org, Joerg Roedel , Christian Borntraeger , Cornelia Huck , Sebastian Ott , Paolo Bonzini , Christoph Hellwig , benh@kernel.crashing.org, KVM , dwmw2@infradead.org, Martin Schwidefsky , linux-s390 , virtualization@lists.linux-foundation.org Subject: Re: [PATCH v3 0/3] virtio DMA API core stuff Message-ID: <20151028091208-mutt-send-email-mst@redhat.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Oct 27, 2015 at 11:38:57PM -0700, Andy Lutomirski wrote: > This switches virtio to use the DMA API unconditionally. I'm sure > it breaks things, but it seems to work on x86 using virtio-pci, with > and without Xen, and using both the modern 1.0 variant and the > legacy variant. I'm very glad to see work on this making progress. I suspect we'll have to find a way to make this optional though, and keep doing the non-DMA API thing with old devices. And I've been debating with myself whether a pci specific thing or a feature bit is preferable. Thoughts? > Changes from v2: > - Fix really embarrassing bug. This version actually works. > > Changes from v1: > - Fix an endian conversion error causing a BUG to hit. > - Fix a DMA ordering issue (swiotlb=force works now). > - Minor cleanups. > > Andy Lutomirski (3): > virtio_net: Stop doing DMA from the stack > virtio_ring: Support DMA APIs > virtio_pci: Use the DMA API > > drivers/net/virtio_net.c | 53 +++++++---- > drivers/virtio/Kconfig | 2 +- > drivers/virtio/virtio_pci_common.h | 3 +- > drivers/virtio/virtio_pci_legacy.c | 19 +++- > drivers/virtio/virtio_pci_modern.c | 34 +++++-- > drivers/virtio/virtio_ring.c | 187 ++++++++++++++++++++++++++++++------- > tools/virtio/linux/dma-mapping.h | 17 ++++ > 7 files changed, 246 insertions(+), 69 deletions(-) > create mode 100644 tools/virtio/linux/dma-mapping.h > > -- > 2.4.3 From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Michael S. Tsirkin" Subject: Re: [PATCH v3 0/3] virtio DMA API core stuff Date: Wed, 28 Oct 2015 09:17:02 +0200 Message-ID: <20151028091208-mutt-send-email-mst@redhat.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org List-Archive: List-Post: To: Andy Lutomirski Cc: linux-s390 , Joerg Roedel , KVM , benh@kernel.crashing.org, Sebastian Ott , linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, Christian Borntraeger , Paolo Bonzini , dwmw2@infradead.org, Christoph Hellwig , Martin Schwidefsky List-ID: On Tue, Oct 27, 2015 at 11:38:57PM -0700, Andy Lutomirski wrote: > This switches virtio to use the DMA API unconditionally. I'm sure > it breaks things, but it seems to work on x86 using virtio-pci, with > and without Xen, and using both the modern 1.0 variant and the > legacy variant. I'm very glad to see work on this making progress. I suspect we'll have to find a way to make this optional though, and keep doing the non-DMA API thing with old devices. And I've been debating with myself whether a pci specific thing or a feature bit is preferable. Thoughts? > Changes from v2: > - Fix really embarrassing bug. This version actually works. > > Changes from v1: > - Fix an endian conversion error causing a BUG to hit. > - Fix a DMA ordering issue (swiotlb=force works now). > - Minor cleanups. > > Andy Lutomirski (3): > virtio_net: Stop doing DMA from the stack > virtio_ring: Support DMA APIs > virtio_pci: Use the DMA API > > drivers/net/virtio_net.c | 53 +++++++---- > drivers/virtio/Kconfig | 2 +- > drivers/virtio/virtio_pci_common.h | 3 +- > drivers/virtio/virtio_pci_legacy.c | 19 +++- > drivers/virtio/virtio_pci_modern.c | 34 +++++-- > drivers/virtio/virtio_ring.c | 187 ++++++++++++++++++++++++++++++------- > tools/virtio/linux/dma-mapping.h | 17 ++++ > 7 files changed, 246 insertions(+), 69 deletions(-) > create mode 100644 tools/virtio/linux/dma-mapping.h > > -- > 2.4.3