0
線程/進程將在傳遞給post_send()的數據中包含MR rkey,並使用MR lkey配置sge列表以進行傳輸。對本地和遠程僅使用相同的內存區域進行測試
我在玩infiniband HW,想檢查MR是否使用lkey和rkey通過本地發送和接收RDMA的同一線程是合法的。
線程/進程將在傳遞給post_send()的數據中包含MR rkey,並使用MR lkey配置sge列表以進行傳輸。對本地和遠程僅使用相同的內存區域進行測試
我在玩infiniband HW,想檢查MR是否使用lkey和rkey通過本地發送和接收RDMA的同一線程是合法的。
我不確定我是否理解這個問題,但是對於本地請求使用同一個MR的L_Key和R_Key是完全可以的。如果使用重疊內存作爲發送和接收工作請求的重複內存,例如從地址X獲取的100個字節的RDMA WRITE寫入地址X + 50,則可能會得到奇怪的結果。同樣,如果有多個工作請求正在覆蓋另一個使用相同的內存將導致混淆結果。
但是,從本地地址X到本地地址X + 200(其中這些地址在同一個內存區域中)執行RDMA WRITE(100字節)是完全正確的 - 您只是將RDMA適配器用作花式本地DMA引擎。