从hugepage内存中获取的内存物理地址是否可以用于DMA?
Can physical address of memory acquired from hugepage memory be used for DMA?
看dpdk的代码一头雾水
这是我对 DMA 的结论:
调用pci_set_dma_mask()和pci_set_consistent_dma_mask()保证PCI_NIC可以寻址指定位长后,可以直接使用hugepage内存的phy_address对于 DMA。
是吗?我在某个地方犯了一些错误吗? DMA 只能用于 LDD3 中描述的低级内存。我怎么能保证我所有的大页内存都是低级内存?
能给我一些建议吗?谢谢。
phy_address of hugepage memory can be straightforward used for DMA. Is that right?
这是每个 mbuf 中物理地址的主要目的。
DMA can only be used on low level memory, that is described in LDD3.
实际上取决于系统和设备。
How could i gurantee that all my hugepage memory is low level memory?
Could you please give me some advice?
DPDK是一个开源项目,它支持的架构很少,而且有一堆驱动程序。我建议您将这些驱动程序之一用于特定 platform/architecture 作为示例,然后从那里开始。
看dpdk的代码一头雾水
这是我对 DMA 的结论:
调用pci_set_dma_mask()和pci_set_consistent_dma_mask()保证PCI_NIC可以寻址指定位长后,可以直接使用hugepage内存的phy_address对于 DMA。
是吗?我在某个地方犯了一些错误吗? DMA 只能用于 LDD3 中描述的低级内存。我怎么能保证我所有的大页内存都是低级内存?
能给我一些建议吗?谢谢。
phy_address of hugepage memory can be straightforward used for DMA. Is that right?
这是每个 mbuf 中物理地址的主要目的。
DMA can only be used on low level memory, that is described in LDD3.
实际上取决于系统和设备。
How could i gurantee that all my hugepage memory is low level memory? Could you please give me some advice?
DPDK是一个开源项目,它支持的架构很少,而且有一堆驱动程序。我建议您将这些驱动程序之一用于特定 platform/architecture 作为示例,然后从那里开始。