Skip to content

[RHEL 9.3] Add map_pages and unmap_pages ops for AMD IOMMU

Jerry Snitselaar requested to merge jsnitsel/centos-stream-9:bz2149974 into main

Merge Request Required Information

Upstream Status: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

Testing: Tested by Broadcom with multiple runs of HPE Hazard test for 8+ hours, plus local testing here with fio workloads.

Summary of Changes

This set of commits implements the map_pages/unmap_pages dma ops for the AMD IOMMU driver replacing the less efficient map_page/unmap_page. Broadcom, and a customer were both seeing pressure on the deferred invalidation flush queue on large (384 cpu) Genoa systems causing soft lockups due to fq_flush_timeout constantly running. These commits were getting picked up anyways as part of the IOMMU updates, but the performance improvement from using map_pages/unmap_pages was enough to alleviate the problem in Broadcom's testing. So pulling these into their own MR get them merged, and ready for z-stream.

Approved Bugzilla Ticket

All submissions to CentOS Stream must reference an approved ticket in Red Hat Bugzilla. Please follow the CentOS Stream contribution documentation for how to file this ticket and have it approved.

Bugzilla: https://bugzilla.redhat.com/2149974

Bugzilla: https://bugzilla.redhat.com/2179856

Signed-off-by: Jerry Snitselaar jsnitsel@redhat.com

Edited by Jerry Snitselaar

Merge request reports