05 Nov, 2015

1 commit

  • The value returned from iommu_tbl_range_alloc() (and the one passed
    in as a fourth argument to iommu_tbl_range_free) is not a DMA address,
    it is rather an index into the IOMMU page table.

    Therefore using DMA_ERROR_CODE is not appropriate.

    Use a more type matching error code define, IOMMU_ERROR_CODE, and
    update all users of this interface.

    Reported-by: Andre Przywara
    Signed-off-by: David S. Miller

    David S. Miller
     

19 Apr, 2015

2 commits

  • Investigation of multithreaded iperf experiments on an ethernet
    interface show the iommu->lock as the hottest lock identified by
    lockstat, with something of the order of 21M contentions out of
    27M acquisitions, and an average wait time of 26 us for the lock.
    This is not efficient. A more scalable design is to follow the ppc
    model, where the iommu_map_table has multiple pools, each stretching
    over a segment of the map, and with a separate lock for each pool.
    This model allows for better parallelization of the iommu map search.

    This patch adds the iommu range alloc/free function infrastructure.

    Signed-off-by: Sowmini Varadhan
    Acked-by: Benjamin Herrenschmidt
    Signed-off-by: David S. Miller

    Sowmini Varadhan
     
  • I applied the wrong version of this patch series, V4 instead
    of V10, due to a patchwork bundling snafu.

    Signed-off-by: David S. Miller

    David S. Miller
     

17 Apr, 2015

1 commit

  • Investigation of multithreaded iperf experiments on an ethernet
    interface show the iommu->lock as the hottest lock identified by
    lockstat, with something of the order of 21M contentions out of
    27M acquisitions, and an average wait time of 26 us for the lock.
    This is not efficient. A more scalable design is to follow the ppc
    model, where the iommu_table has multiple pools, each stretching
    over a segment of the map, and with a separate lock for each pool.
    This model allows for better parallelization of the iommu map search.

    This patch adds the iommu range alloc/free function infrastructure.

    Signed-off-by: Sowmini Varadhan
    Signed-off-by: David S. Miller

    Sowmini Varadhan