[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <741e4882-969f-b102-f91a-f2ef86b6fb90@linux.intel.com>
Date: Fri, 17 Apr 2020 20:49:53 +0800
From: Lu Baolu <baolu.lu@...ux.intel.com>
To: Christoph Hellwig <hch@....de>
Cc: baolu.lu@...ux.intel.com, Joerg Roedel <joro@...tes.org>,
ashok.raj@...el.com, jacob.jun.pan@...ux.intel.com,
kevin.tian@...el.com,
Sai Praneeth Prakhya <sai.praneeth.prakhya@...el.com>,
iommu@...ts.linux-foundation.org, linux-kernel@...r.kernel.org,
Daniel Drake <drake@...lessm.com>,
Derrick Jonathan <jonathan.derrick@...el.com>,
Jerry Snitselaar <jsnitsel@...hat.com>,
Robin Murphy <robin.murphy@....com>
Subject: Re: [PATCH v3 1/3] iommu/vt-d: Allow 32bit devices to uses DMA domain
Hi Christoph,
On 2020/4/17 14:50, Christoph Hellwig wrote:
> On Thu, Apr 16, 2020 at 03:40:38PM +0800, Lu Baolu wrote:
>>> description. I'd need to look at the final code, but it seems like
>>> this will still cause bounce buffering instead of using dynamic
>>> mapping, which still seems like an awful idea.
>>
>> Yes. If the user chooses to use identity domain by default through
>> kernel command, identity domain will be applied for all devices. For
>> those devices with limited addressing capability, bounce buffering will
>> be used when they try to access the memory beyond their address
>> capability. This won't cause any kernel regression as far as I can see.
>>
>> Switching domain during runtime with drivers loaded will cause real
>> problems as I said in the commit message. That's the reason why I am
>> proposing to remove it. If we want to keep it, we have to make sure that
>> switching domain for one device should not impact other devices which
>> share the same domain with it. Furthermore, it's better to implement it
>> in the generic layer to keep device driver behavior consistent on all
>> architectures.
>
> I don't disagree with the technical points. What I pointed out is that
>
> a) the actual technical change is not in the commit log, which it
> should be
Sorry! I should make the commit message more comprehensive.
> b) that I still think taking away the ability to dynamically map
> devices in the identify domain after all the time we allowed for
> that is going to cause nasty regressions.
>
This change just asks Intel IOMMU driver to use the default domain
specified by the generic default domain framework, just like what other
vendor iommu drivers do. I understand that some users wants to use DMA
domain for some specific devices when the default domain type is
identity, and vice versa, use identity domain for some devices while
default one is DMA. I think Sai's patch series posted at
https://www.spinics.net/lists/iommu/msg41680.html
is a good start. It changes the default domain with all device drivers
unbound in the generic layer, hence every vendor iommu driver could
benefit from it.
Best regards,
baolu
Powered by blists - more mailing lists