Linux API 与网络管理工具全解析
1. Linux API 相关方法与结构体
在 Linux 系统中,有一系列重要的 API 方法和结构体用于内存管理和操作。
1.1 ib_reg_phys_mr() 方法
此方法用于处理一组物理页面,将它们注册并准备一个可由 RDMA 设备访问的虚拟地址。若操作成功,会返回一个指向新分配的 MR(Memory Region)的指针;若失败,则返回 ERR_PTR() 并指明失败原因。
struct ib_mr *ib_reg_phys_mr(struct ib_pd *pd, struct ib_phys_buf *phys_buf_array, int num_phys_buf,
int mr_access_flags, u64 *iova_start);
参数说明如下:
| 参数 | 说明 |
| ---- | ---- |
| pd | 此 MR 关联的 PD(Protection Domain) |
| phys_buf_array | 用于 Memory Region 的物理缓冲区数组 |
| num_phys_buf | phys_buf_array 中物理缓冲区的数量 |
| mr_access_flags | 此 MR 允许的操作 |
| iova_start | 指向请求与该区域关联的 I/O 虚拟地址的指针,RDMA 设备会用该区域的实际 I/O 虚拟地址设置此值,可能与请求的值不同 |
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



