0

I heard from somewhere, without IOMMU, the S/W should pin the DMA buffer until the DMA is complete because the physical page can be assigned to another processor in the mean time. And I heard that if we have IOMMU for the device, we don't need to pin the page (the DMA buffer). But I think even with IOMMU, the pages can still be allocated to another process before DMA is complete so problem can arise. Why don't we have to pin the pages when we have IOMMU? Does the iommu subsystem pin the page?

Chan Kim
  • 5,177
  • 12
  • 57
  • 112
  • 1
    If you don't believe "I heard" why would you believe us? Provide your source. – stark Oct 09 '21 at 21:51
  • @stark, hi, it was from a private traing provide by arm so I can't show it outside(and it takes for me to find the exact spot). I searched the web and found this : chrome-extension://efaidnbmnnnibpcajpcglclefindmkaj/viewer.html?pdfurl=https%3A%2F%2Fwww.usenix.org%2Fsystem%2Ffiles%2Fatc20-paper236-slides-tian.pdf&clen=704919&chunk=true I guess when the iommu supports page fault, it (with driver) dynamically assigns physical page, the physical pages being used for many dma operations maybe? just my guess. – Chan Kim Nov 01 '21 at 13:55

0 Answers0