Re: [RFC PATCH 0/4] iommu: Per-group default domain type

Lu Baolu
2020-01-22T05:00:19Z

Hi,

On 1/21/20 6:14 PM, John Garry wrote:
> On 21/01/2020 00:43, Lu Baolu wrote:
>>>> An IOMMU group represents the smallest set of devices that are
>>>> considered
>>>> to be isolated. All devices belonging to an IOMMU group share a default
>>>> domain for DMA APIs. There are two types of default domain:
>>>> IOMMU_DOMAIN_DMA
>>>> and IOMMU_DOMAIN_IDENTITY. The former means IOMMU translation, while
>>>> the
>>>> latter means IOMMU by-pass.
>>>>
>>>> Currently, the default domain type for the IOMMU groups is determined
>>>> globally. All IOMMU groups use a single default domain type. The global
>>>> default domain type can be adjusted by kernel build configuration or
>>>> kernel parameters.
>>>>
>>>> More and more users are looking forward to a fine grained default
>>>> domain
>>>> type. For example, with the global default domain type set to
>>>> translation,
>>>> the OEM verndors or end users might want some trusted and fast-speed
>>>> devices
>>>> to bypass IOMMU for performance gains. On the other hand, with global
>>>> default domain type set to by-pass, some devices with limited system
>>>> memory addressing capability might want IOMMU translation to remove the
>>>> bounce buffer overhead.
>>>
>>> Hi Lu Baolu,
>>>
>>> Do you think that it would be a more common usecase to want
>>> kernel-managed devices to be passthrough for performance reasons and
>>> some select devices to be in DMA domain, like those with limited
>>> address cap or whose drivers request huge amounts of memory?
>>>
>>> I just think it would be more manageable to set kernel commandline
>>> parameters for this, i.e. those select few which want DMA domain.
>>>
>
> Hi Baolu,
>
>>
>> It's just two sides of a coin. Currently, iommu subsystem make DMA
>> domain by default, that's the reason why I selected to let user set
>> which devices are willing to use identity domains.
>>
>
> OK, understood.
>
> There was an alternate solution here which would allow per-group type to
> be updated via sysfs:
>
> https://lore.kernel.org/linux-iommu/cover.1566353521.git.sai.praneeth.prakhya@intel.com/
>

Yes. My patch set just tries to do this statically during boot time.

>
> Any idea what happened to that?

No idea. Sai might have more information. :-)

Best regards,
baolu