Messages in this thread | | | Subject | RE: [PATCH 01/34] AMD IOMMU: add Kconfig entry | Date | Fri, 27 Jun 2008 17:47:56 -0500 | From | "Duran, Leo" <> |
| |
On Friday, June 27, 2008 5:30 PM, Muli Ben-Yehuda wrote:
> > 2) IOMMU will not translate if the exclusion range has been enabled, > and > > the DMA address falls inside that range. > > The exclusion range can be enabled for specific devices, or for all > > devices... Enabling the exclusion range can be considered a > 'performance > > optimization' (no table-walks), with the caveat of not being able to > > provide protection for devices sharing the exclusion range (BTW, > there's > > a single exclusion address range per IOMMU). > > So, if I understand this correctly, could we implement Joerg's > "almost-direct-map" by having 0-64MB translated for host-owned > devices, and then 64MB-end excluded (again, for host-owned devices > only)? If yes, it should provide a small boost in performance (may or > may not be measurable) over having 64MB-end be an identity > translation. > > Cheers, > Muli
Hi Muli,
Yes, you could set an exclusion range for addresses about the virtual address space (or 'translation aperture'). I played with that in the context of "dma.ops" (not surprisingly, the exclusion range was pretty busy!).
Again, keep in mind: no protection in the exclusion range (sort of defeating the purpose of having an IOMMU in the first place), and only ONE exclusion range per IOMMU.
Leo.
| |