On Thu, 2008-06-05 at 11:34 -0700, Grant Grundler wrote:
map_page, actually, but effectively the same thing. However, all
they're really doing is their own implementation of sg list mapping.
Not necessarily ... there's a safety vs performance issue here. As long
as the iotlb mapping persists, the device can use it to write to the
memory. If you fail to flush, you lose the ability to detect device dma
after free (because the iotlb may still be valid). On standard systems,
this happens so infrequently as to be worth the tradeoff. However, in
virtualised systems, which is what the intel iommu is aimed at, stale
iotlb entries can be used by malicious VMs to gain access to memory
outside of their VM, so the intel people at least need to say whether
they're willing to accept this speed for safety tradeoff.
James
--