From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BC1A9C76194 for ; Thu, 25 Jul 2019 11:43:54 +0000 (UTC) Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 9D41A229F9 for ; Thu, 25 Jul 2019 11:43:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9D41A229F9 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=lst.de Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=iommu-bounces@lists.linux-foundation.org Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id 6FDB1EF7; Thu, 25 Jul 2019 11:43:54 +0000 (UTC) Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id DA117EF2 for ; Thu, 25 Jul 2019 11:43:52 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from verein.lst.de (verein.lst.de [213.95.11.211]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 42A96775 for ; Thu, 25 Jul 2019 11:43:52 +0000 (UTC) Received: by verein.lst.de (Postfix, from userid 2407) id 137C168BFE; Thu, 25 Jul 2019 13:43:49 +0200 (CEST) Date: Thu, 25 Jul 2019 13:43:48 +0200 From: Christoph Hellwig To: Lu Baolu Subject: Re: [PATCH v5 02/10] iommu/vt-d: Use per-device dma_ops Message-ID: <20190725114348.GA30957@lst.de> References: <20190725031717.32317-1-baolu.lu@linux.intel.com> <20190725031717.32317-3-baolu.lu@linux.intel.com> <20190725054413.GC24527@lst.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.17 (2007-11-01) Cc: alan.cox@intel.com, Christoph Hellwig , Stefano Stabellini , ashok.raj@intel.com, Jonathan Corbet , pengfei.xu@intel.com, Ingo Molnar , David Woodhouse , kevin.tian@intel.com, Konrad Rzeszutek Wilk , Steven Rostedt , Bjorn Helgaas , Boris Ostrovsky , mika.westerberg@linux.intel.com, Juergen Gross , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org, jacob.jun.pan@intel.com, Robin Murphy X-BeenThere: iommu@lists.linux-foundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Development issues for Linux IOMMU support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: iommu-bounces@lists.linux-foundation.org Errors-To: iommu-bounces@lists.linux-foundation.org T24gVGh1LCBKdWwgMjUsIDIwMTkgYXQgMDM6MTg6MDNQTSArMDgwMCwgTHUgQmFvbHUgd3JvdGU6 Cj4+IERvbid0IHdlIG5lZWQgdG8ga2VlcCB0aGlzIGJpdCBzbyB0aGF0IHdlIHN0aWxsIGFsbG93 IHRoZSBJT01NVQo+PiB0byBhY3QgaWYgdGhlIGRldmljZSBoYXMgYSB0b28gc21hbGwgRE1BIG1h c2sgdG8gYWRkcmVzcyBhbGwgbWVtb3J5IGluCj4+IHRoZSBzeXN0ZW0sIGV2ZW4gaWYgaWYgaXQg c2hvdWxkIG90aGVyd2lzZSBiZSBpZGVudGl0eSBtYXBwZWQ/Cj4+Cj4KPiBUaGlzIGNoZWNraW5n IGhhcHBlbnMgb25seSB3aGVuIGRldmljZSBpcyB1c2luZyBhbiBpZGVudGl0eSBtYXBwZWQKPiBk b21haW4uIElmIHRoZSBkZXZpY2UgaGFzIGEgc21hbGwgRE1BIG1hc2ssIHN3aW90bGIgd2lsbCBi ZSB1c2VkIGZvcgo+IGhpZ2ggbWVtb3J5IGFjY2Vzcy4KPgo+IFRoaXMgaXMgc3VwcG9zZWQgdG8g YmUgaGFuZGxlZCBpbiBkbWFfZGlyZWN0X21hcF9wYWdlKCk6Cj4KPiAgICAgICAgIGlmICh1bmxp a2VseSghZG1hX2RpcmVjdF9wb3NzaWJsZShkZXYsIGRtYV9hZGRyLCBzaXplKSkgJiYKPiAgICAg ICAgICAgICAhc3dpb3RsYl9tYXAoZGV2LCAmcGh5cywgJmRtYV9hZGRyLCBzaXplLCBkaXIsIGF0 dHJzKSkgewo+ICAgICAgICAgICAgICAgICByZXBvcnRfYWRkcihkZXYsIGRtYV9hZGRyLCBzaXpl KTsKPiAgICAgICAgICAgICAgICAgcmV0dXJuIERNQV9NQVBQSU5HX0VSUk9SOwo+ICAgICAgICAg fQoKV2VsbCwgeWVzLiAgQnV0IHRoZSBwb2ludCBpcyB0aGF0IHRoZSBjdXJyZW50IGNvZGUgdXNl cyBkeW5hbWljIGlvbW11Cm1hcHBpbmdzIGV2ZW4gaWYgdGhlIGRldmljZXMgaXMgaW4gdGhlIGlk ZW50aXR5IG1hcHBlZCBkb21haW4gd2hlbiB0aGUKZG1hIG1hc2sg0ZZzIHRvbyBzbWFsbCB0byBt YXAgYWxsIG1lbW9yeSBkaXJlY3RseS4gIFlvdXIgY2hhbmdlIG1lYW5zIGl0CndpbGwgbm93IHVz ZSBzd2lvdGxiIHdoaWNoIGlzIG1vc3QgbGlrZWx5IGdvaW5nIHRvIGJlIGEgbG90IG1vcmUKZXhw ZW5zaXZlLiAgSSBkb24ndCB0aGluayB0aGF0IHRoaXMgY2hhbmdlIGlzIGEgZ29vZCBpZGVhLCBh bmQgZXZlbiBpZgp3ZSBkZWNpZGUgdGhhdCB0aGlzIGlzIGEgZ29vZCBpZGVhIGFmdGVyIGFsbCB0 aGF0IHNob3VsZCBiZSBkb25lIGluIGEKc2VwYXJhdGUgcHJlcCBwYXRjaCB0aGF0IGV4cGxhaW5z IHRoZSByYXRpb25hbGUuCgo+IEJlc3QgcmVnYXJkcywKPiBCYW9sdQotLS1lbmQgcXVvdGVkIHRl eHQtLS0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaW9t bXUgbWFpbGluZyBsaXN0CmlvbW11QGxpc3RzLmxpbnV4LWZvdW5kYXRpb24ub3JnCmh0dHBzOi8v bGlzdHMubGludXhmb3VuZGF0aW9uLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lvbW11 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 94B29C7618B for ; Thu, 25 Jul 2019 11:43:54 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 650E8229F9 for ; Thu, 25 Jul 2019 11:43:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2404186AbfGYLnx (ORCPT ); Thu, 25 Jul 2019 07:43:53 -0400 Received: from verein.lst.de ([213.95.11.211]:60769 "EHLO verein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388154AbfGYLnw (ORCPT ); Thu, 25 Jul 2019 07:43:52 -0400 Received: by verein.lst.de (Postfix, from userid 2407) id 137C168BFE; Thu, 25 Jul 2019 13:43:49 +0200 (CEST) Date: Thu, 25 Jul 2019 13:43:48 +0200 From: Christoph Hellwig To: Lu Baolu Cc: Christoph Hellwig , David Woodhouse , Joerg Roedel , Bjorn Helgaas , ashok.raj@intel.com, jacob.jun.pan@intel.com, alan.cox@intel.com, kevin.tian@intel.com, mika.westerberg@linux.intel.com, Ingo Molnar , Greg Kroah-Hartman , pengfei.xu@intel.com, Konrad Rzeszutek Wilk , Marek Szyprowski , Robin Murphy , Jonathan Corbet , Boris Ostrovsky , Juergen Gross , Stefano Stabellini , Steven Rostedt , iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org, Jacob Pan Subject: Re: [PATCH v5 02/10] iommu/vt-d: Use per-device dma_ops Message-ID: <20190725114348.GA30957@lst.de> References: <20190725031717.32317-1-baolu.lu@linux.intel.com> <20190725031717.32317-3-baolu.lu@linux.intel.com> <20190725054413.GC24527@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.17 (2007-11-01) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jul 25, 2019 at 03:18:03PM +0800, Lu Baolu wrote: >> Don't we need to keep this bit so that we still allow the IOMMU >> to act if the device has a too small DMA mask to address all memory in >> the system, even if if it should otherwise be identity mapped? >> > > This checking happens only when device is using an identity mapped > domain. If the device has a small DMA mask, swiotlb will be used for > high memory access. > > This is supposed to be handled in dma_direct_map_page(): > > if (unlikely(!dma_direct_possible(dev, dma_addr, size)) && > !swiotlb_map(dev, &phys, &dma_addr, size, dir, attrs)) { > report_addr(dev, dma_addr, size); > return DMA_MAPPING_ERROR; > } Well, yes. But the point is that the current code uses dynamic iommu mappings even if the devices is in the identity mapped domain when the dma mask іs too small to map all memory directly. Your change means it will now use swiotlb which is most likely going to be a lot more expensive. I don't think that this change is a good idea, and even if we decide that this is a good idea after all that should be done in a separate prep patch that explains the rationale. > Best regards, > Baolu ---end quoted text---