On Tue, 2011-11-15 at 11:05 +1100, David Gibson wrote: > Being strict, or at least enforcing strictness, requires that the > infrastructure track all the maps, so that the unmaps can be > matching. This is not a natural thing with the data structures you > want for all IOMMUs. For example on POWER, the IOMMU (aka TCE table) > is a simple 1-level pagetable. One pointer with a couple of > permission bits per IOMMU page. Handling oddly overlapping operations > on that data structure is natural, enforcing strict matching of maps > and unmaps is not and would require extra information to be stored by > vfio. On POWER, the IOMMU operations often *are* a hot path, so > manipulating those structures would have a real cost, too. In fact they are a very hot path even. There's no way we can afford the cost of tracking per page mapping/unmapping (other than bumping the page count on a page that's currently mapped or via some debug-only feature). Cheers, Ben. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html