1. 24 6月, 2009 1 次提交
    • F
      IOMMU Identity Mapping Support (drivers/pci/intel_iommu.c) · 2c2e2c38
      Fenghua Yu 提交于
      Identity mapping for IOMMU defines a single domain to 1:1 map all PCI
      devices to all usable memory.
      
      This reduces map/unmap overhead in DMA API's and improve IOMMU
      performance. On 10Gb network cards, Netperf shows no performance
      degradation compared to non-IOMMU performance.
      
      This method may lose some of DMA remapping benefits like isolation.
      
      The patch sets up identity mapping for all PCI devices to all usable
      memory. In the DMA API, there is no overhead to maintain page tables,
      invalidate iotlb, flush cache etc.
      
      32 bit DMA devices don't use identity mapping domain, in order to access
      memory beyond 4GiB.
      
      When kernel option iommu=pt, pass through is first tried. If pass
      through succeeds, IOMMU goes to pass through. If pass through is not
      supported in hw or fail for whatever reason, IOMMU goes to identity
      mapping.
      Signed-off-by: NFenghua Yu <fenghua.yu@intel.com>
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      2c2e2c38
  2. 23 6月, 2009 39 次提交