Skip to content
  • Shaohua Li's avatar
    x86, iommu/vt-d: Add an option to disable Intel IOMMU force on · bfd20f1c
    Shaohua Li authored
    
    
    IOMMU harms performance signficantly when we run very fast networking
    workloads. It's 40GB networking doing XDP test. Software overhead is
    almost unaware, but it's the IOTLB miss (based on our analysis) which
    kills the performance. We observed the same performance issue even with
    software passthrough (identity mapping), only the hardware passthrough
    survives. The pps with iommu (with software passthrough) is only about
    ~30% of that without it. This is a limitation in hardware based on our
    observation, so we'd like to disable the IOMMU force on, but we do want
    to use TBOOT and we can sacrifice the DMA security bought by IOMMU. I
    must admit I know nothing about TBOOT, but TBOOT guys (cc-ed) think not
    eabling IOMMU is totally ok.
    
    So introduce a new boot option to disable the force on. It's kind of
    silly we need to run into intel_iommu_init even without force on, but we
    need to disable TBOOT PMR registers. For system without the boot option,
    nothing is changed.
    
    Signed-off-by: default avatarShaohua Li <shli@fb.com>
    Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
    bfd20f1c