Public bug reported: [Impact] There's a significant performance gain to be had by removing the need to flush the IOMMU TLB on every unmap. I'm seeing a 25% performance gain w/ fio reads on a single NVMe device. This mode of operation is available for x86 via the "intel_iommu=strict" parameter. This support is now available upstream for ARM platforms via the "iommu.strict=[0|1]" parameter, while keeping the default in strict mode.
[Test Case] $ cat fio.rc [global] rw=read direct=1 ioengine=libaio iodepth=2048 numjobs=10 bs=4k group_reporting=1 group_reporting=1 cpumask=0xff runtime=100 loops = 10000 [job1] filename=/dev/nvme0n1 [Fix] 44f6876a00e83 iommu/arm-smmu: Support non-strict mode b2dfeba654cb0 iommu/io-pgtable-arm-v7s: Add support for non-strict mode 9662b99a19abc iommu/arm-smmu-v3: Add support for non-strict mode b6b65ca20bc93 iommu/io-pgtable-arm: Add support for non-strict mode 68a6efe86f6a1 iommu: Add "iommu.strict" command line option 2da274cdf998a iommu/dma: Add support for non-strict mode 07fdef34d2be6 iommu/arm-smmu-v3: Implement flush_iotlb_all hook 85c7a0f1ef624 iommu/io-pgtable-arm: Fix race handling in split_blk_unmap() [Regression Risk] ** Affects: linux (Ubuntu) Importance: Undecided Assignee: dann frazier (dannf) Status: In Progress -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1806488 Title: Support non-strict iommu mode on arm64 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1806488/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs