使用 rsm_memseg_export_create 建立新内存段可以在创建时将物理内存与该段进行关联。此操作将返回新内存段的导出端内存段句柄。段在创建进程的生命周期内一直存在,或者在使用 rsm_memseg_export_destroy 销毁该段之前一直存在。
如果在导入端断开连接之前执行销毁操作,则会强制断开连接。
此函数可用于创建段句柄。创建段句柄之后,段句柄会绑定到指定的虚拟地址范围 [vaddr..vaddr+size]。此范围必须有效并基于控制器的 alignment 属性对齐。flags 参数是位掩码,可用于执行以下操作:
解除绑定段
重新绑定段
将 RSM_ALLOW_REBIND 传递给 flags
支持锁定操作
将 RSM_LOCK_OPS 传递给 flags
RSMAPI 的初始发行版中不包括 RSM_LOCK_OPS 标志。
返回值:如果成功,则返回 0。否则返回错误值。
控制器句柄无效
控制器不存在
段句柄无效
长度为零或长度超出控制器限制
地址无效
权限被拒绝
内存不足
资源不足
地址未在页边界上对齐
操作被信号中断
此函数可用于解除分配段及其可用资源。将强制断开与所有导入进程的连接。
返回值:如果成功,则返回 0。否则返回错误值。
段句柄无效
pollfd 正在使用