【verbs】ibv_reg_mr()

描述


ibv_reg_mr() 注册一个与保护域(pd)关联的内存区域 (MR)。通过这样做,允许 RDMA 设备向该内存读取和写入数据。执行此注册需要一些时间,因此当需要快速响应时,不建议在数据路径中执行内存注册。
每次成功注册都会产生一个具有唯一(在特定 RDMA 设备内)lkey 和 rkey 值的 MR。
MR 的起始地址是 addr,它的大小是 length。可以注册的块的最大大小限制为 device_attr.max_mr_size。调用它的进程空间中每个的虚拟内存地址都可以注册,包括但不限于:
本地内存(变量或数组)
全局内存(变量或数组)
动态分配的内存(使用 malloc() 或 mmap())
共享内存

来自text segment的地址

注册的内存缓冲区不必是页面对齐的。没有任何方法可以知道可以为特定设备注册的内存总大小是多少。
参数 access 描述了 RDMA 设备所需的内存访问属性。它是 0 或以下一个或多个标志的按位或:

V_ACCESS_LOCAL_WRITE Enable Local Write Access: Memory Region can be used in Receive Requests or in IBV_WR_ATOMIC_CMP_AND_SWP orIBV_WR_ATOMIC_FETCH_AND_ADD to write locally the remote content value
IBV_ACCESS_REMOTE_WRITE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值