This bug is missing log files that will aid in diagnosing the problem.
While running an Ubuntu kernel (not a mainline or third-party kernel)
please enter the following command in a terminal window:

apport-collect 1705123

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable
to run this command, please add a comment stating that fact and change
the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the
Ubuntu Kernel Team.

** Changed in: linux (Ubuntu)
       Status: New => Incomplete

** Tags added: zesty

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1705123

Title:
  [Zesty] Fixes to iommu on arm64 to improve IO performance

Status in linux package in Ubuntu:
  Incomplete

Bug description:
  [Impact]
  With SMMU page translation mode enabled. Several inefficiencies on ARM SMMUv3 
driver has been identified. As a result IO BW is severely impacted. 

  [Test]
  Running iperf on mellanox Connect-x4 cards capable of doing 40Gbps BW 
connected back to back we get only about 15Gbps.

  iperf -c 192.168.5.5 --bind 192.168.5.10 -P 5 -w 3.1M
  ------------------------------------------------------------
  Client connecting to 192.168.5.5, TCP port 5001
  Binding to local address 192.168.5.10
  TCP window size: 6.20 MByte (WARNING: requested 3.10 MByte)
  ------------------------------------------------------------
  [ 7] local 192.168.5.10 port 42588 connected with 192.168.5.5 port 5001
  [ 3] local 192.168.5.10 port 42582 connected with 192.168.5.5 port 5001
  [ 5] local 192.168.5.10 port 42584 connected with 192.168.5.5 port 5001
  [ 4] local 192.168.5.10 port 42586 connected with 192.168.5.5 port 5001
  [ 6] local 192.168.5.10 port 42590 connected with 192.168.5.5 port 5001
  [ ID] Interval Transfer Bandwidth
  [ 3] 0.0-10.0 sec 6.50 GBytes 5.58 Gbits/sec
  [ 4] 0.0-10.0 sec 1.81 GBytes 1.56 Gbits/sec
  [ 6] 0.0-10.0 sec 6.08 GBytes 5.22 Gbits/sec
  [ 7] 0.0-10.0 sec 1.99 GBytes 1.71 Gbits/sec
  [ 5] 0.0-10.0 sec 2.00 GBytes 1.72 Gbits/sec
  [SUM] 0.0-10.0 sec 18.4 GBytes 15.8 Gbits/sec

  [Fix]
  After applying the patches listed below from linux-next, we were able to get 
throughputs of 35+ Gbps. These patches are currently in linux-next and in line 
for 4.13-rc.

  iommu/io-pgtable-arm: Use dma_wmb() instead of wmb() when publishing table
  iommu/arm-smmu-v3: Remove io-pgtable spinlock
  iommu/arm-smmu: Remove io-pgtable spinlock
  iommu/io-pgtable-arm-v7s: Support lockless operation
  iommu/io-pgtable-arm: Support lockless operation
  iommu/io-pgtable: Introduce explicit coherency
  iommu/io-pgtable-arm-v7s: Refactor split_blk_unmap
  iommu/io-pgtable-arm: Improve split_blk_unmap
  iommu/io-pgtable-arm-v7s: Check table PTEs more precisely
  iommu/io-pgtable-arm-v7s: constify dummy_tlb_ops.
  iommu/io-pgtable-arm-v7s: Check for leaf entry before dereferencing it
  iommu/io-pgtable-arm-v7s: Add support for the IOMMU_PRIV flag
  iommu/io-pgtable-arm: Avoid shift overflow in block size
  iommu/io-pgtable-arm: Check for leaf entry before dereferencing it
  iommu/io-pgtable-arm: add support for the IOMMU_PRIV flag
  iommu: add IOMMU_PRIV attribute

  [Regression Potential]
  These patches cherry-pick cleanly ontop of Zesty (4.10), and the patches are 
limited to ARM SMMU and pagetable fixes. The patches were tested on QDF2400 
system with mlx connect-X4 40G cards.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1705123/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to