From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755580AbbJ1Hka (ORCPT ); Wed, 28 Oct 2015 03:40:30 -0400 Received: from e06smtp16.uk.ibm.com ([195.75.94.112]:59630 "EHLO e06smtp16.uk.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755505AbbJ1Hk2 (ORCPT ); Wed, 28 Oct 2015 03:40:28 -0400 X-IBM-Helo: d06dlp02.portsmouth.uk.ibm.com X-IBM-MailFrom: borntraeger@de.ibm.com X-IBM-RcptTo: kvm@vger.kernel.org;linux-kernel@vger.kernel.org;linux-s390@vger.kernel.org Subject: Re: [PATCH v3 0/3] virtio DMA API core stuff To: "Michael S. Tsirkin" , Andy Lutomirski References: <20151028091208-mutt-send-email-mst@redhat.com> Cc: linux-kernel@vger.kernel.org, Joerg Roedel , 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 From: Christian Borntraeger Message-ID: <56307BD1.6010806@de.ibm.com> Date: Wed, 28 Oct 2015 16:40:01 +0900 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <20151028091208-mutt-send-email-mst@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 15102807-0025-0000-0000-0000078DF601 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am 28.10.2015 um 16:17 schrieb Michael S. Tsirkin: > 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. > We have discussed that at kernel summit. I will try to implement a dummy dma_ops for s390 that does 1:1 mapping and Ben will look into doing some quirk to handle "old" code in addition to also make it possible to mark devices as iommu bypass (IIRC, via device tree, Ben?) Christian > 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: Christian Borntraeger Subject: Re: [PATCH v3 0/3] virtio DMA API core stuff Date: Wed, 28 Oct 2015 16:40:01 +0900 Message-ID: <56307BD1.6010806@de.ibm.com> References: <20151028091208-mutt-send-email-mst@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20151028091208-mutt-send-email-mst@redhat.com> 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: "Michael S. Tsirkin" , Andy Lutomirski Cc: linux-s390 , Joerg Roedel , KVM , benh@kernel.crashing.org, Sebastian Ott , linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, Martin Schwidefsky , Paolo Bonzini , dwmw2@infradead.org, Christoph Hellwig List-ID: Am 28.10.2015 um 16:17 schrieb Michael S. Tsirkin: > 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. > We have discussed that at kernel summit. I will try to implement a dummy dma_ops for s390 that does 1:1 mapping and Ben will look into doing some quirk to handle "old" code in addition to also make it possible to mark devices as iommu bypass (IIRC, via device tree, Ben?) Christian > 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 >