From: Joerg Roedel <jroedel@xxxxxxx> Date: Thu, 5 Nov 2015 14:42:06 +0100 > Contended IOMMU locks are not only a problem on SPARC, but on x86 and > various other IOMMU drivers too. But I have some ideas on how to improve > the situation there. And for the record Sowmini fixed a lot of the lock contention: commit ff7d37a502022149655c18035b99a53391be0383 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Thu Apr 9 15:33:30 2015 -0400 Break up monolithic iommu table/lock into finer graularity pools and lock Investigation of multithreaded iperf experiments on an ethernet interface show the iommu->lock as the hottest lock identified by lockstat, with something of the order of 21M contentions out of 27M acquisitions, and an average wait time of 26 us for the lock. This is not efficient. A more scalable design is to follow the ppc model, where the iommu_map_table has multiple pools, each stretching over a segment of the map, and with a separate lock for each pool. This model allows for better parallelization of the iommu map search. This patch adds the iommu range alloc/free function infrastructure. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html