Speaker

Yanjun zhu

Yanjun zhu

Engingeer/RDMA supporter

Actions

Optimization of IOMMU DMA allocation and mapping

Currently the DMA mapping operation performs two steps in a function at one time: allocates IOVA space and actually maps DMA pages to that IOVA space. This one-shot operation works perfectly for non-complex scenarios, where callers use that DMA API in control path when they setup hardware.
The existing IOMMU DMA mapping operation is performed in two steps at the same time (one-shot):
1. Allocates IOVA space.
2. Actually maps DMA pages to that space.
For example, map scatter-gather list:
dma_map_sg_attrs()
__dma_map_sg_attrs
ops->map_sg()
iommu_dma_map_sg()
Calculate length of IOVA space that is needed
/* ####### step one allocate IOVA space ####### */
iommu_dma_alloc_iova()
/* ####### step two actually map DMA Pages ####### */
iommu_map_sg()
for each entry in sg list()
__iommu_map()
iommu_domain_ops->map_pages()
This one-shot operation works perfectly for non-complex scenarios where callers use the existing DMA API in the control path when they setup hardware.

Folio Implementation in RDMA (RTRS, SoftRoCE, iRDMA && IDPF)

Folio is implemented in some modules in RDMA stack, for example, RTRS, SoftROCE, iRDMA and IDPF. In this subject, I will discuss how to implement folio in these modules, the performance of these modules, I will show the Demo of RTRS.

Yanjun zhu

Engingeer/RDMA supporter

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top