From: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Mon, 22 Dec 2014 17:43:21 -0500 > > 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_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> You're putting tons of sparc specific junk into the "generic" abstraction. There's nothing generic about a flush_all callback, or an opaque write_complete_reg address. I could go on and on. Please rewrite this so that only the truly generic stuff, which is %100 agnostic to IOMMU design or architecutre, goes into the new "generic" code. -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html