From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755478AbbJ1Lfa (ORCPT ); Wed, 28 Oct 2015 07:35:30 -0400 Received: from mx1.redhat.com ([209.132.183.28]:40085 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751431AbbJ1Lf1 (ORCPT ); Wed, 28 Oct 2015 07:35:27 -0400 Date: Wed, 28 Oct 2015 13:35:22 +0200 From: "Michael S. Tsirkin" To: David Woodhouse Cc: Christian Borntraeger , Andy Lutomirski , linux-kernel@vger.kernel.org, Joerg Roedel , Cornelia Huck , Sebastian Ott , Paolo Bonzini , Christoph Hellwig , benh@kernel.crashing.org, KVM , Martin Schwidefsky , linux-s390 , virtualization@lists.linux-foundation.org Subject: Re: [PATCH v3 0/3] virtio DMA API core stuff Message-ID: <20151028132331-mutt-send-email-mst@redhat.com> References: <20151028091208-mutt-send-email-mst@redhat.com> <56307BD1.6010806@de.ibm.com> <1446019787.3405.203.camel@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1446019787.3405.203.camel@infradead.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Oct 28, 2015 at 05:09:47PM +0900, David Woodhouse wrote: > On Wed, 2015-10-28 at 16:40 +0900, Christian Borntraeger wrote: > > 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?) > > Right. You never eschew the DMA API in the *driver* — you just expect > the DMA API to do the right thing for devices which don't need > translation (with platforms using per-device dma_ops and generally > getting their act together). > We're pushing that on the platforms where it's currently an issue, > including Power, SPARC and S390. > > -- > dwmw2 > > Well APIs are just that - internal kernel APIs. If the only user of an API is virtio, we can strick the code in virtio.h just as well. I think controlling this dynamically and not statically in e.g. devicetree is important though. E.g. on intel x86, there's an option iommu=pt which does the 1:1 thing for devices when used by kernel, but enables the iommu if used by userspace/VMs. Something like this would be needed for other platforms IMHO. And given that 1. virtio seems the only user so far 2. supporting this per device seems like something that might become useful in the future maybe we'd better make this part of virtio transports. -- MST 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 13:35:22 +0200 Message-ID: <20151028132331-mutt-send-email-mst@redhat.com> References: <20151028091208-mutt-send-email-mst@redhat.com> <56307BD1.6010806@de.ibm.com> <1446019787.3405.203.camel@infradead.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1446019787.3405.203.camel@infradead.org> 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: David Woodhouse Cc: linux-s390 , Joerg Roedel , KVM , benh@kernel.crashing.org, Sebastian Ott , linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, Christian Borntraeger , Andy Lutomirski , Paolo Bonzini , Christoph Hellwig , Martin Schwidefsky List-ID: T24gV2VkLCBPY3QgMjgsIDIwMTUgYXQgMDU6MDk6NDdQTSArMDkwMCwgRGF2aWQgV29vZGhvdXNl IHdyb3RlOgo+IE9uIFdlZCwgMjAxNS0xMC0yOCBhdCAxNjo0MCArMDkwMCwgQ2hyaXN0aWFuIEJv cm50cmFlZ2VyIHdyb3RlOgo+ID4gQW0gMjguMTAuMjAxNSB1bSAxNjoxNyBzY2hyaWViIE1pY2hh ZWwgUy4gVHNpcmtpbjoKPiA+ID4gT24gVHVlLCBPY3QgMjcsIDIwMTUgYXQgMTE6Mzg6NTdQTSAt MDcwMCwgQW5keSBMdXRvbWlyc2tpIHdyb3RlOgo+ID4gPiA+IFRoaXMgc3dpdGNoZXMgdmlydGlv IHRvIHVzZSB0aGUgRE1BIEFQSSB1bmNvbmRpdGlvbmFsbHkuICBJJ20gc3VyZQo+ID4gPiA+IGl0 IGJyZWFrcyB0aGluZ3MsIGJ1dCBpdCBzZWVtcyB0byB3b3JrIG9uIHg4NiB1c2luZyB2aXJ0aW8t cGNpLCB3aXRoCj4gPiA+ID4gYW5kIHdpdGhvdXQgWGVuLCBhbmQgdXNpbmcgYm90aCB0aGUgbW9k ZXJuIDEuMCB2YXJpYW50IGFuZCB0aGUKPiA+ID4gPiBsZWdhY3kgdmFyaWFudC4KPiA+ID4gCj4g PiA+IEknbSB2ZXJ5IGdsYWQgdG8gc2VlIHdvcmsgb24gdGhpcyBtYWtpbmcgcHJvZ3Jlc3MuCj4g PiA+IAo+ID4gPiBJIHN1c3BlY3Qgd2UnbGwgaGF2ZSB0byBmaW5kIGEgd2F5IHRvIG1ha2UgdGhp cyBvcHRpb25hbCB0aG91Z2gsIGFuZAo+ID4gPiBrZWVwIGRvaW5nIHRoZSBub24tRE1BIEFQSSB0 aGluZyB3aXRoIG9sZCBkZXZpY2VzLiAgQW5kIEkndmUgYmVlbgo+ID4gPiBkZWJhdGluZyB3aXRo IG15c2VsZiB3aGV0aGVyIGEgcGNpIHNwZWNpZmljIHRoaW5nIG9yIGEgZmVhdHVyZSBiaXQgaXMK PiA+ID4gcHJlZmVyYWJsZS4KPiA+ID4gCj4gPiAKPiA+IFdlIGhhdmUgZGlzY3Vzc2VkIHRoYXQg YXQga2VybmVsIHN1bW1pdC4gSSB3aWxsIHRyeSB0byBpbXBsZW1lbnQgYSBkdW1teSBkbWFfb3Bz IGZvcgo+ID4gczM5MCB0aGF0IGRvZXMgMToxIG1hcHBpbmcgYW5kIEJlbiB3aWxsIGxvb2sgaW50 byBkb2luZyBzb21lIHF1aXJrIHRvIGhhbmRsZSAib2xkIgo+ID4gY29kZSBpbiBhZGRpdGlvbiB0 byBhbHNvIG1ha2UgaXQgcG9zc2libGUgdG8gbWFyayBkZXZpY2VzIGFzIGlvbW11IGJ5cGFzcyAo SUlSQywKPiA+IHZpYSBkZXZpY2UgdHJlZSwgQmVuPykKPiAKPiBSaWdodC4gWW91IG5ldmVyIGVz Y2hldyB0aGUgRE1BIEFQSSBpbiB0aGUgKmRyaXZlciog4oCUIHlvdSBqdXN0IGV4cGVjdAo+IHRo ZSBETUEgQVBJIHRvIGRvIHRoZSByaWdodCB0aGluZyBmb3IgZGV2aWNlcyB3aGljaCBkb24ndCBu ZWVkCj4gdHJhbnNsYXRpb24gKHdpdGggcGxhdGZvcm1zIHVzaW5nIHBlci1kZXZpY2UgZG1hX29w cyBhbmQgZ2VuZXJhbGx5Cj4gZ2V0dGluZyB0aGVpciBhY3QgdG9nZXRoZXIpLgo+IFdlJ3JlIHB1 c2hpbmcgdGhhdCBvbiB0aGUgcGxhdGZvcm1zIHdoZXJlIGl0J3MgY3VycmVudGx5IGFuIGlzc3Vl LAo+IGluY2x1ZGluZyBQb3dlciwgU1BBUkMgYW5kIFMzOTAuCj4gCj4gLS0gCj4gZHdtdzIKPiAK PiAKCldlbGwgQVBJcyBhcmUganVzdCB0aGF0IC0gaW50ZXJuYWwga2VybmVsIEFQSXMuCklmIHRo ZSBvbmx5IHVzZXIgb2YgYW4gQVBJIGlzIHZpcnRpbywgd2UgY2FuIHN0cmljayB0aGUKY29kZSBp biB2aXJ0aW8uaCBqdXN0IGFzIHdlbGwuCkkgdGhpbmsgY29udHJvbGxpbmcgdGhpcyBkeW5hbWlj YWxseSBhbmQgbm90IHN0YXRpY2FsbHkKaW4gZS5nLiBkZXZpY2V0cmVlIGlzIGltcG9ydGFudCB0 aG91Z2guCgpFLmcuIG9uIGludGVsIHg4NiwgdGhlcmUncyBhbiBvcHRpb24gaW9tbXU9cHQgd2hp Y2ggZG9lcyB0aGUgMToxCnRoaW5nIGZvciBkZXZpY2VzIHdoZW4gdXNlZCBieSBrZXJuZWwsIGJ1 dCBlbmFibGVzCnRoZSBpb21tdSBpZiB1c2VkIGJ5IHVzZXJzcGFjZS9WTXMuCgpTb21ldGhpbmcg bGlrZSB0aGlzIHdvdWxkIGJlIG5lZWRlZCBmb3Igb3RoZXIgcGxhdGZvcm1zIElNSE8uCgpBbmQg Z2l2ZW4gdGhhdAoxLiB2aXJ0aW8gc2VlbXMgdGhlIG9ubHkgdXNlciBzbyBmYXIKMi4gc3VwcG9y dGluZyB0aGlzIHBlciBkZXZpY2Ugc2VlbXMgbGlrZSBzb21ldGhpbmcgdGhhdAogICBtaWdodCBi ZWNvbWUgdXNlZnVsIGluIHRoZSBmdXR1cmUKbWF5YmUgd2UnZCBiZXR0ZXIgbWFrZSB0aGlzIHBh cnQgb2YgdmlydGlvIHRyYW5zcG9ydHMuCgotLSAKTVNUCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fClZpcnR1YWxpemF0aW9uIG1haWxpbmcgbGlzdApWaXJ0 dWFsaXphdGlvbkBsaXN0cy5saW51eC1mb3VuZGF0aW9uLm9yZwpodHRwczovL2xpc3RzLmxpbnV4 Zm91bmRhdGlvbi5vcmcvbWFpbG1hbi9saXN0aW5mby92aXJ0dWFsaXphdGlvbg==