• mark gross's avatar
    PCI: pci-iommu-iotlb-flushing-speedup · 80b20dd8
    mark gross authored
    The following patch is an update to use an array instead of a list of
    IOVA's in the implementation of defered iotlb flushes.  It takes
    inspiration from sba_iommu.c
    
    I like this implementation better as it encapsulates the batch process
    within intel-iommu.c, and no longer touches iova.h (which is shared)
    
    Performance data:  Netperf 32byte UDP streaming
    2.6.25-rc3-mm1:
    IOMMU-strict : 58Mps @ 62% cpu
    NO-IOMMU : 71Mbs @ 41% cpu
    List-based IOMMU-default-batched-IOTLB flush: 66Mbps @ 57% cpu
    
    with this patch:
    IOMMU-strict : 73Mps @ 75% cpu
    NO-IOMMU : 74Mbs @ 42% cpu
    Array-based IOMMU-default-batched-IOTLB flush: 72Mbps @ 62% cpu
    
    Signed-off-by: <mgross@linux.intel.com>
    Cc: Grant Grundler <grundler@parisc-linux.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    80b20dd8
iova.h 1.61 KB