iommu/s390: Optimize IOMMU table walking
authorNiklas Schnelle <schnelle@linux.ibm.com>
Wed, 9 Nov 2022 14:29:02 +0000 (15:29 +0100)
committerJoerg Roedel <jroedel@suse.de>
Sat, 19 Nov 2022 09:28:17 +0000 (10:28 +0100)
commit08955af0600303455f57fe2f2a26f24f9b496b49
treea8b2510618352b50745ca0e367859fa7b4ad1d40
parent2ba8336dab5fb81452aea9c21dfc870050a017f3
iommu/s390: Optimize IOMMU table walking

When invalidating existing table entries for unmap there is no need to
know the physical address beforehand so don't do an extra walk of the
IOMMU table to get it. Also when invalidating entries not finding an
entry indicates an invalid unmap and not a lack of memory we also don't
need to undo updates in this case. Implement this by splitting
s390_iommu_update_trans() in a variant for validating and one for
invalidating translations.

Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
Link: https://lore.kernel.org/r/20221109142903.4080275-5-schnelle@linux.ibm.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/s390-iommu.c