Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp4550031yba; Tue, 9 Apr 2019 23:08:26 -0700 (PDT) X-Google-Smtp-Source: APXvYqxpg06FgA/daqiokV2ip7/MzneziHhh7wamtr8RdRtMa14lh7W17JpFEffRvae0zlUv7G5q X-Received: by 2002:a17:902:8bca:: with SMTP id r10mr41712310plo.67.1554876506818; Tue, 09 Apr 2019 23:08:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1554876506; cv=none; d=google.com; s=arc-20160816; b=jDf4KF0zoPc3ePp6o5TFdXHXy6ntd0VX4ttKirv9AwdYyZkfGoL7+dnXNMFJfk/Tre VgKiNoz16NG7aYoVzvgx5NDoPMQ2mDw8c6QPRKIQsoPt2CEsPEIatxATqbJMpWsPyB4v 3Xun8SeaFk8sNfqcusYpmGARvbgpKGALvaLf17247J3mKS/xLgmtRfbtI1OPyKnVcOBb KwcHgEOK8lHeD0+AfUZPboj0Bbk6CtLwbeTJd/AZyc9voudyofyrwmiErSZlpyHuWf0S 60JPLESqAnaMs5zRXQUTUHje2OjvmpqnBtnJIobVxd/9x0vGfEyXDjSfc//5f+Ty+071 AxAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:to:subject:cc; bh=R15b/TBzXzwsxnsZ3/crK4pQpXEeyZOaUhk4zFru/+I=; b=CcLH0TRhd96/AxVGjn11Hws1iHBhhBSJ0bg7OmF0AqbdrIXKcJq725d5UvkrBszL/O CU3Z9RD8ZOgjRFUkIIBg9zk3kJUK4+Ov4BSKzOmcDBZZiwz9wc+3MkDcH68mkc8ky3PP 77qRRfTcS6YN4WppZD8bd5uHGuAe771fCIlMyLuSNQTFhaHayz2PeLWUguaT5nGifEZX CyNIDovpQH3FxQvcyv66/K9TA1linCTjmmjvQYnft4eESJHD1qLKZcK0U+VQMRU0ZLoL +qAW28XQk48z8byED93SOTS/467fWU6Y6W3g/n29tSYIGQPhxYUPjo4vNP+YA0DUnMux XVPQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 17si29356259pfw.148.2019.04.09.23.08.11; Tue, 09 Apr 2019 23:08:26 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727169AbfDJF21 (ORCPT + 99 others); Wed, 10 Apr 2019 01:28:27 -0400 Received: from mga05.intel.com ([192.55.52.43]:20412 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726693AbfDJF21 (ORCPT ); Wed, 10 Apr 2019 01:28:27 -0400 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 Cc: baolu.lu@linux.intel.com, iommu@lists.linux-foundation.org, Tom Murphy , Dmitry Safonov , Jacob Pan , linux-kernel@vger.kernel.org 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-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.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