我从某个地方听说,如果没有 IOMMU,S/W 应该固定 DMA 缓冲区,直到 DMA 完成,因为同时可以将物理页面分配给另一个处理器。而且我听说如果我们有设备的 IOMMU,我们不需要固定页面(DMA 缓冲区)。但我认为即使使用 IOMMU,页面仍然可以在 DMA 完成之前分配给另一个进程,因此可能会出现问题。当我们有 IOMMU 时,为什么我们不必固定页面?iommu 子系统是否固定页面?
我从某个地方听说,如果没有 IOMMU,S/W 应该固定 DMA 缓冲区,直到 DMA 完成,因为同时可以将物理页面分配给另一个处理器。而且我听说如果我们有设备的 IOMMU,我们不需要固定页面(DMA 缓冲区)。但我认为即使使用 IOMMU,页面仍然可以在 DMA 完成之前分配给另一个进程,因此可能会出现问题。当我们有 IOMMU 时,为什么我们不必固定页面?iommu 子系统是否固定页面?