0
我是在內核模塊中使用rdma(ib_verbs)實驗項目的新手。我從krping那裏得到了示例代碼並修改了它。該系統在64位Linux Centos上運行,具有需要禁用透明大頁面的自定義3.10 Linux內核。 我想要一個大型(4GB)的RDMA讀/寫空間,它不必連續,因爲我很可能從遠程方(隨機訪問)一次最多寫入/讀取最多1MB。在Linux內核模塊中爲RDMA註冊大緩衝區
問:
- 我應該只是做4MB的kmalloc的一千倍並註冊DMA區域?它有多糟糕,設計明智的分配使用kmalloc而不是vmalloc的大內存塊?我聽說不應該這樣做,並且只能通過vmalloc檢索大內存。但是來自vmalloc的地址對DMA來說並不好。
- 如果沒有,那麼有一個4GB緩衝區可以從遠程方隨機訪問的好替代方法是什麼?
- 用戶空間rdma如何管理這種緩衝區?我記得我只有malloc 4GB的內存並且調用了ibv_reg_mr並且它已經可以使用了。