RHEL9: Update to iova management code
Merge Request Required Information
JIRA: https://issues.redhat.com/browse/RHEL-11148
Upstream Status: git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git - next branch
Tested: Tested on Genoa system under I/O stress with fio, and tested by 2 customers that reported issues.
Summary of Changes
This updates the iova management code to scale the rcache depot based on workload. The current implementation has run into problems on large cpu systems like the Genoa with soft lockups occurring under load due to contention for the iova rbtree lock.
Robin extends the current implementation to incorporate the idea put forward in the original USENIX paper of the depot being an unbounded list of full magazines, rather than a fixed array.
Signed-off-by: Jerry Snitselaar jsnitsel@redhat.com
Approved Development Ticket
All submissions to CentOS Stream must reference an approved ticket in Red Hat Jira. Please follow the CentOS Stream contribution documentation for how to file this ticket and have it approved.