2010-05-03 41 views

回答

2

的接收將完成(與「沖洗錯誤」狀態)異步地(可能)rdma_disconnect後()返回。正如你可以從源頭上看到rdma_disconnect(),都認爲它是過渡QP到錯誤狀態,併發送一個斷開請求給對方。

過渡的QP到錯誤狀態並保證發佈到QP所有待處理的工作請求將與錯誤狀態完成,但修改QP操作立即返回,而無需等待隊列排出。同樣rdma_disconnect()不會等待所有待處理的工作請求來完成 - 事實上,它是很難看到它如何能,因爲RDMA CM不真的有什麼辦法知道工作請求有多少排隊,讓獨自窺視相關的CQ,看看它們何時全部完成。

的IB規範第1卷第10章介紹了有關工作要求處理非常詳細,如果你想知道有關請求的極端案例是在錯誤狀態過渡的時間飛行等