Public bug reported:

BugLink: https://bugs.launchpad.net/bugs/2169668

[ Impact ]

PerfOpt is a feature in amd's IOMMU. This allows bypassing of IOMMU
translation when a device sits on identity domain and is trying to
access system memory. This allows 10-20% uplift in performance for iGPU
designs like Strix Halo and Gorgon Halo.

[ Fix ]

Cherry-pick the following commits to the oem-7.3 kernel:

- [PATCH 0/2] IOMMU Performance Optimization support[1]

Which has landed in linux-next commit 6e87850d1a8f and e74db71a3530
respectively.

One dependent patch is needed to cleanly apply then all:

- iommu/amd: Refactor device probe and capability initialization

This also has been included in linux-next commit 15d5b3027d9f.

[ Test Plan ]

Boot into the kernel with default boot options and check the following:

1. Look into the dmesg, and it should show "PerfOpt armed on IOMMU<N>", were
2. Run lspci -vvv and check amdgpu's capability registers. ATS, PRI, and PASID 
should be turned off.
3. Run basic graphic tests (glxgears, glxinfo) before and after suspend. It 
should function normally.

[ Where problems could occur ]

This feature is enabled only if the driver explicitly request it, so
currently this impacts amdgpu on APU systems.

amd_iommu_enable_perfopt() clears ATS, PRI, PASID and SVA for the
device, and this now becomes default for amdgpu on If somehow there are
features relying on these, they will get impacted.

[ Additional information ]

[1] https://lore.kernel.org/linux-
iommu/[email protected]/

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New

** Description changed:

- BugLink:
+ BugLink: https://bugs.launchpad.net/bugs/2169668
  
  [ Impact ]
  
  PerfOpt is a feature in amd's IOMMU. This allows bypassing of IOMMU
  translation when a device sits on identity domain and is trying to
  access system memory. This allows 10-20% uplift in performance for iGPU
  designs like Strix Halo and Gorgon Halo.
  
  [ Fix ]
  
- Cherry-pick the following commits:
+ Cherry-pick the following commits to the oem-7.3 kernel:
  
  - [PATCH 0/2] IOMMU Performance Optimization support[1]
  
  Which has landed in linux-next commit 6e87850d1a8f and e74db71a3530
  respectively.
  
  One dependent patch is needed to cleanly apply then all:
  
  - iommu/amd: Refactor device probe and capability initialization
  
  This also has been included in linux-next commit 15d5b3027d9f.
  
  [ Test Plan ]
  
  Boot into the kernel with default boot options and check the following:
  
- 1. Look into the dmesg, and it should show "PerfOpt armed on IOMMU<N>", were 
+ 1. Look into the dmesg, and it should show "PerfOpt armed on IOMMU<N>", were
  2. Run lspci -vvv and check amdgpu's capability registers. ATS, PRI, and 
PASID should be turned off.
  3. Run basic graphic tests (glxgears, glxinfo) before and after suspend. It 
should function normally.
- 
  
  [ Where problems could occur ]
  
  This feature is enabled only if the driver explicitly request it, so
  currently this impacts amdgpu on APU systems.
  
  amd_iommu_enable_perfopt() clears ATS, PRI, PASID and SVA for the
  device, and this now becomes default for amdgpu on If somehow there are
  features relying on these, they will get impacted.
  
- 
  [ Additional information ]
  
  [1] https://lore.kernel.org/linux-
  iommu/[email protected]/

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2169668

Title:
  [SRU] Enable IOMMU Performance Optimization support

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


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to