From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lu Baolu Subject: Re: [PATCH v2 3/7] iommu/vt-d: Expose ISA direct mapping region via iommu_get_resv_regions Date: Wed, 10 Apr 2019 13:22:30 +0800 Message-ID: References: <0F0C82BE-86E5-4BAC-938C-6F7629E18D27@arista.com> <83B82113-8AE5-4B0C-A079-F389520525BD@arista.com> <445F31EA-20F3-481C-B1DF-8B163791FF8C@arista.com> <6C211BF1-B5A0-4821-AB42-092B573DE667@arista.com> <8B1FC0C7-9BAC-498D-B1F0-0138EACF75C2@arista.com> <9AECB54A-2DA7-4ABD-A9B5-0549E108D1AF@arista.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <9AECB54A-2DA7-4ABD-A9B5-0549E108D1AF@arista.com> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: James Sewart Cc: baolu.lu@linux.intel.com, iommu@lists.linux-foundation.org, Tom Murphy , Dmitry Safonov , Jacob Pan , linux-kernel@vger.kernel.org List-Id: iommu@lists.linux-foundation.org Hi James, On 4/6/19 2:02 AM, James Sewart wrote: > Hey Lu, > > My bad, did some debugging on my end. The issue was swapping out > find_domain for iommu_get_domain_for_dev. It seems in some situations the > domain is not attached to the group but the device is expected to have the > domain still stored in its archdata. > > I’ve attached the final patch with find_domain unremoved which seems to > work in my testing. > Just looked into your v3 patch set and some thoughts from my end posted here just for your information. Let me post the problems we want to address. 1. When allocating a new group for a device, how should we determine the type of the default domain? 2. If we need to put a device into an existing group which uses a different type of domain from what the device desires to use, we might break the functionality of the device. My new thought is letting the iommu generic code to determine the default domain type (hence my proposed vendor specific default domain type patches could be dropped). If the default domain type is dynamical mapping, and later in iommu_no_mapping(), we determines that we must use an identity domain, we then call iommu_request_dm_for_dev(dev). If the default domain type is identity mapping, and later in iommu_no_mapping(), we determined that we must use a dynamical domain, we then call iommu_request_dma_domain_for_dev(dev). We already have iommu_request_dm_for_dev() in iommu.c. We only need to implement iommu_request_dma_domain_for_dev(). With this done, your patch titled "Create an IOMMU group for devices that require an identity map" could also be dropped. Any thoughts? > Cheers, > James. Best regards, Lu Baolu 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=-1.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS,URIBL_BLOCKED autolearn=ham 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 D8F31C10F11 for ; Wed, 10 Apr 2019 05:28:48 +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 9B53B20850 for ; Wed, 10 Apr 2019 05:28:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9B53B20850 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com 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 367DD14BB; Wed, 10 Apr 2019 05:28:48 +0000 (UTC) Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 2D42114B7 for ; Wed, 10 Apr 2019 05:28:28 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id C47C9735 for ; Wed, 10 Apr 2019 05:28:27 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Apr 2019 22:28:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,332,1549958400"; d="scan'208";a="130076506" Received: from allen-box.sh.intel.com (HELO [10.239.159.136]) ([10.239.159.136]) by orsmga007.jf.intel.com with ESMTP; 09 Apr 2019 22:28:25 -0700 Subject: Re: [PATCH v2 3/7] iommu/vt-d: Expose ISA direct mapping region via iommu_get_resv_regions To: James Sewart References: <0F0C82BE-86E5-4BAC-938C-6F7629E18D27@arista.com> <83B82113-8AE5-4B0C-A079-F389520525BD@arista.com> <445F31EA-20F3-481C-B1DF-8B163791FF8C@arista.com> <6C211BF1-B5A0-4821-AB42-092B573DE667@arista.com> <8B1FC0C7-9BAC-498D-B1F0-0138EACF75C2@arista.com> <9AECB54A-2DA7-4ABD-A9B5-0549E108D1AF@arista.com> From: Lu Baolu Message-ID: Date: Wed, 10 Apr 2019 13:22:30 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1 MIME-Version: 1.0 In-Reply-To: <9AECB54A-2DA7-4ABD-A9B5-0549E108D1AF@arista.com> Content-Language: en-US Cc: Dmitry Safonov , Tom Murphy , linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="UTF-8"; format="flowed" Sender: iommu-bounces@lists.linux-foundation.org Errors-To: iommu-bounces@lists.linux-foundation.org Message-ID: <20190410052230.uTLFmda6273BfEwUQS_ydxLxKR9oHscTRciNY5_aNHU@z> SGkgSmFtZXMsCgpPbiA0LzYvMTkgMjowMiBBTSwgSmFtZXMgU2V3YXJ0IHdyb3RlOgo+IEhleSBM dSwKPiAKPiBNeSBiYWQsIGRpZCBzb21lIGRlYnVnZ2luZyBvbiBteSBlbmQuIFRoZSBpc3N1ZSB3 YXMgc3dhcHBpbmcgb3V0Cj4gZmluZF9kb21haW4gZm9yIGlvbW11X2dldF9kb21haW5fZm9yX2Rl di4gSXQgc2VlbXMgaW4gc29tZSBzaXR1YXRpb25zIHRoZQo+IGRvbWFpbiBpcyBub3QgYXR0YWNo ZWQgdG8gdGhlIGdyb3VwIGJ1dCB0aGUgZGV2aWNlIGlzIGV4cGVjdGVkIHRvIGhhdmUgdGhlCj4g ZG9tYWluIHN0aWxsIHN0b3JlZCBpbiBpdHMgYXJjaGRhdGEuCj4gCj4gSeKAmXZlIGF0dGFjaGVk IHRoZSBmaW5hbCBwYXRjaCB3aXRoIGZpbmRfZG9tYWluIHVucmVtb3ZlZCB3aGljaCBzZWVtcyB0 bwo+IHdvcmsgaW4gbXkgdGVzdGluZy4KPiAKCkp1c3QgbG9va2VkIGludG8geW91ciB2MyBwYXRj aCBzZXQgYW5kIHNvbWUgdGhvdWdodHMgZnJvbSBteSBlbmQgcG9zdGVkCmhlcmUganVzdCBmb3Ig eW91ciBpbmZvcm1hdGlvbi4KCkxldCBtZSBwb3N0IHRoZSBwcm9ibGVtcyB3ZSB3YW50IHRvIGFk ZHJlc3MuCgoxLiBXaGVuIGFsbG9jYXRpbmcgYSBuZXcgZ3JvdXAgZm9yIGEgZGV2aWNlLCBob3cg c2hvdWxkIHdlIGRldGVybWluZSB0aGUKdHlwZSBvZiB0aGUgZGVmYXVsdCBkb21haW4/CgoyLiBJ ZiB3ZSBuZWVkIHRvIHB1dCBhIGRldmljZSBpbnRvIGFuIGV4aXN0aW5nIGdyb3VwIHdoaWNoIHVz ZXMgYQpkaWZmZXJlbnQgdHlwZSBvZiBkb21haW4gZnJvbSB3aGF0IHRoZSBkZXZpY2UgZGVzaXJl cyB0byB1c2UsIHdlIG1pZ2h0CmJyZWFrIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHRoZSBkZXZpY2Uu CgpNeSBuZXcgdGhvdWdodCBpcyBsZXR0aW5nIHRoZSBpb21tdSBnZW5lcmljIGNvZGUgdG8gZGV0 ZXJtaW5lIHRoZQpkZWZhdWx0IGRvbWFpbiB0eXBlIChoZW5jZSBteSBwcm9wb3NlZCB2ZW5kb3Ig c3BlY2lmaWMgZGVmYXVsdCBkb21haW4KdHlwZSBwYXRjaGVzIGNvdWxkIGJlIGRyb3BwZWQpLgoK SWYgdGhlIGRlZmF1bHQgZG9tYWluIHR5cGUgaXMgZHluYW1pY2FsIG1hcHBpbmcsIGFuZCBsYXRl ciBpbiAKaW9tbXVfbm9fbWFwcGluZygpLCB3ZSBkZXRlcm1pbmVzIHRoYXQgd2UgbXVzdCB1c2Ug YW4gaWRlbnRpdHkgZG9tYWluLAp3ZSB0aGVuIGNhbGwgaW9tbXVfcmVxdWVzdF9kbV9mb3JfZGV2 KGRldikuCgpJZiB0aGUgZGVmYXVsdCBkb21haW4gdHlwZSBpcyBpZGVudGl0eSBtYXBwaW5nLCBh bmQgbGF0ZXIgaW4KaW9tbXVfbm9fbWFwcGluZygpLCB3ZSBkZXRlcm1pbmVkIHRoYXQgd2UgbXVz dCB1c2UgYSBkeW5hbWljYWwgZG9tYWluLAp3ZSB0aGVuIGNhbGwgaW9tbXVfcmVxdWVzdF9kbWFf ZG9tYWluX2Zvcl9kZXYoZGV2KS4KCldlIGFscmVhZHkgaGF2ZSBpb21tdV9yZXF1ZXN0X2RtX2Zv cl9kZXYoKSBpbiBpb21tdS5jLiBXZSBvbmx5IG5lZWQgdG8KaW1wbGVtZW50IGlvbW11X3JlcXVl c3RfZG1hX2RvbWFpbl9mb3JfZGV2KCkuCgpXaXRoIHRoaXMgZG9uZSwgeW91ciBwYXRjaCB0aXRs ZWQgIkNyZWF0ZSBhbiBJT01NVSBncm91cCBmb3IgZGV2aWNlcwp0aGF0IHJlcXVpcmUgYW4gaWRl bnRpdHkgbWFwIiBjb3VsZCBhbHNvIGJlIGRyb3BwZWQuCgpBbnkgdGhvdWdodHM/Cgo+IENoZWVy cywKPiBKYW1lcy4KCkJlc3QgcmVnYXJkcywKTHUgQmFvbHUKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KaW9tbXUgbWFpbGluZyBsaXN0CmlvbW11QGxpc3Rz LmxpbnV4LWZvdW5kYXRpb24ub3JnCmh0dHBzOi8vbGlzdHMubGludXhmb3VuZGF0aW9uLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2lvbW11