lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <bbfcb875-0da1-c303-ed48-fdaa890c89b3@huawei.com>
Date:   Tue, 7 Sep 2021 15:41:52 +0800
From:   Kunkun Jiang <jiangkunkun@...wei.com>
To:     Robin Murphy <robin.murphy@....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: [question] Assign multiple devices from different SMMUs to a
 arm_smmu_domain

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.

Looking forward to your suggestions.😁

Thanks,
Kunkun Jiang

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ