2021-02-02 08:56:37

by Keqian Zhu

[permalink] [raw]
Subject: [PATCH] iommu: Update the document of IOMMU_DOMAIN_UNMANAGED

Signed-off-by: Keqian Zhu <[email protected]>
---
include/linux/iommu.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/iommu.h b/include/linux/iommu.h
index 77e561ed57fd..e8f2efae212b 100644
--- a/include/linux/iommu.h
+++ b/include/linux/iommu.h
@@ -68,7 +68,7 @@ struct iommu_domain_geometry {
* devices
* IOMMU_DOMAIN_IDENTITY - DMA addresses are system physical addresses
* IOMMU_DOMAIN_UNMANAGED - DMA mappings managed by IOMMU-API user, used
- * for VMs
+ * for VMs or userspace driver frameworks
* IOMMU_DOMAIN_DMA - Internally used for DMA-API implementations.
* This flag allows IOMMU drivers to implement
* certain optimizations for these domains
--
2.19.1


2021-02-02 21:33:37

by Robin Murphy

[permalink] [raw]
Subject: Re: [PATCH] iommu: Update the document of IOMMU_DOMAIN_UNMANAGED

On 2021-02-02 08:53, Keqian Zhu wrote:
> Signed-off-by: Keqian Zhu <[email protected]>
> ---
> include/linux/iommu.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/iommu.h b/include/linux/iommu.h
> index 77e561ed57fd..e8f2efae212b 100644
> --- a/include/linux/iommu.h
> +++ b/include/linux/iommu.h
> @@ -68,7 +68,7 @@ struct iommu_domain_geometry {
> * devices
> * IOMMU_DOMAIN_IDENTITY - DMA addresses are system physical addresses
> * IOMMU_DOMAIN_UNMANAGED - DMA mappings managed by IOMMU-API user, used
> - * for VMs
> + * for VMs or userspace driver frameworks

Given that "VMs" effectively has to mean VFIO, doesn't it effectively
already imply other uses of VFIO anyway? Unmanaged domains are also used
in other subsystems/drivers inside the kernel and we're not naming
those, so I don't see that it's particularly helpful to specifically
call out one more VFIO use-case.

Perhaps the current wording could be generalised a little more, but we
certainly don't want to start trying to maintain an exhaustive list of
users here...

Robin.

> * IOMMU_DOMAIN_DMA - Internally used for DMA-API implementations.
> * This flag allows IOMMU drivers to implement
> * certain optimizations for these domains
>

2021-02-02 21:42:57

by Keqian Zhu

[permalink] [raw]
Subject: Re: [PATCH] iommu: Update the document of IOMMU_DOMAIN_UNMANAGED



On 2021/2/2 20:58, Robin Murphy wrote:
> On 2021-02-02 08:53, Keqian Zhu wrote:
>> Signed-off-by: Keqian Zhu <[email protected]>
>> ---
>> include/linux/iommu.h | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/include/linux/iommu.h b/include/linux/iommu.h
>> index 77e561ed57fd..e8f2efae212b 100644
>> --- a/include/linux/iommu.h
>> +++ b/include/linux/iommu.h
>> @@ -68,7 +68,7 @@ struct iommu_domain_geometry {
>> * devices
>> * IOMMU_DOMAIN_IDENTITY - DMA addresses are system physical addresses
>> * IOMMU_DOMAIN_UNMANAGED - DMA mappings managed by IOMMU-API user, used
>> - * for VMs
>> + * for VMs or userspace driver frameworks
>
> Given that "VMs" effectively has to mean VFIO, doesn't it effectively already imply other uses of VFIO anyway? Unmanaged domains are also used in other subsystems/drivers inside the kernel and we're not naming those, so I don't see that it's particularly helpful to specifically call out one more VFIO use-case.
>
> Perhaps the current wording could be generalised a little more, but we certainly don't want to start trying to maintain an exhaustive list of users here...
Yep, a more generalised description is better. After I have a look at all the use cases...

Thanks,
Keqian

>
> Robin.
>
>> * IOMMU_DOMAIN_DMA - Internally used for DMA-API implementations.
>> * This flag allows IOMMU drivers to implement
>> * certain optimizations for these domains
>>
> .
>