3
在調用rdma_disconnect()時,是否在rdma_disconnect()返回之前獲得所有發佈的recv工作請求的完成隊列事件,或者我應該在rdma_disconnect )已經返回?在調用rdma_disconnect()之後發佈了recv buffers同步或異步調用rdma_disconnect()
在調用rdma_disconnect()時,是否在rdma_disconnect()返回之前獲得所有發佈的recv工作請求的完成隊列事件,或者我應該在rdma_disconnect )已經返回?在調用rdma_disconnect()之後發佈了recv buffers同步或異步調用rdma_disconnect()
的接收將完成(與「沖洗錯誤」狀態)異步地(可能)rdma_disconnect後()返回。正如你可以從源頭上看到rdma_disconnect(),都認爲它是過渡QP到錯誤狀態,併發送一個斷開請求給對方。
過渡的QP到錯誤狀態並保證發佈到QP所有待處理的工作請求將與錯誤狀態完成,但修改QP操作立即返回,而無需等待隊列排出。同樣rdma_disconnect()不會等待所有待處理的工作請求來完成 - 事實上,它是很難看到它如何能,因爲RDMA CM不真的有什麼辦法知道工作請求有多少排隊,讓獨自窺視相關的CQ,看看它們何時全部完成。
的IB規範第1卷第10章介紹了有關工作要求處理非常詳細,如果你想知道有關請求的極端案例是在錯誤狀態過渡的時間飛行等
你用什麼rdma? – osgx 2010-05-04 13:59:08
OFED 1.5.1是我使用 – 2010-05-04 18:06:47