Re: [PATCH v3 1/3] iommu/vt-d: Allow 32bit devices to uses DMA domain

From: Christoph Hellwig
Date: Fri Apr 17 2020 - 02:51:00 EST


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
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.