Infiniband动词涉及哪些PCIe操作?

时间:2014-01-24 05:31:09

标签: pci pci-e infiniband rdma

以下是一些细节。

当进程调用ibv_post_send()时,在HCA的PCI接口上会发生什么? WQE是否封装在PCIe门铃内并通过Programmed IO写入?或者WQE是否由HCA单独读取?

当流程调用ibv_poll_cq()时会发生什么? HCA如何将CQE推送到系统内存?或者,如果基于拉动,CPU如何检测HCA中的新CQE?

1 个答案:

答案 0 :(得分:4)

  

WQE是否封装在PCIe门铃内并通过Programmed IO写入?   或者WQE是否由HCA单独读取?

也可以。 通常的方法是写WQE并敲响门铃,在这种情况下,HCA将通过DMA获取WQE。 不太常见的方式是所谓的“蓝色火焰” - PCIe BAR的一部分用于WQE,WQE以写入门铃的方式写入HCA。

  

HCA如何将CQE推送到系统内存?

HCA使用DMA将CQE写入系统内存。 您的应用程序有两种方式来了解新的完成:基于轮询或基于事件。 ibv_poll_cq()用于基于投票的方法。