[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202f32cd-8036-563e-028b-781b999766be@arm.com>
Date: Tue, 7 Sep 2021 10:43:05 +0100
From: Robin Murphy <robin.murphy@....com>
To: Kunkun Jiang <jiangkunkun@...wei.com>,
Will Deacon <will@...nel.org>,
Linux IOMMU <iommu@...ts.linux-foundation.org>,
open list <linux-kernel@...r.kernel.org>
Cc: wanghaibin.wang@...wei.com, Zenghui Yu <yuzenghui@...wei.com>,
Keqian Zhu <zhukeqian1@...wei.com>
Subject: Re: [question] Assign multiple devices from different SMMUs to a
arm_smmu_domain
On 2021-09-07 08:41, Kunkun Jiang wrote:
> Hi all,
>
> I am working on VFIO DMA dirty pages tracking based on ARM SMMU HTTU,
> and have done a lot of testing.In the test, I found a problem that
> greatly affects
> performance of VFIO DMA dirty pages tracking.
>
> According to the current arm-smmu-v3 driver, multiple VFIO pass-through
> device comes from different SMMUs will be assigned to different
> arm_smmu_domain. It will create page table for each arm_smmu_domain,
> even though these page tables are exactly the same. Bacause dirty pages
> tracking needs to traverse the page table, multiple page tables will make
> performance worse.
>
> I learned the ARM SMMUv3 spec and had some exchanges with my colleagues
> who work on SMMU hardware. I did not find the restriction that multiple
> SMMUs cannot share the same page table. We migth be able to do this like
> x86 IOMMU. If I have missed something, please point it out.
Sure, it's not impossible, there are just a lot of fiddly
considerations, mostly around how to handle SMMU instances with
different capabilities. We haven't had a strong need to support this
case so far, so we've simply been avoiding all that complexity.
Robin.
> Looking forward to your suggestions.😁
>
> Thanks,
> Kunkun Jiang
>
Powered by blists - more mailing lists