欢迎光临
我们一直在努力

第三章 GEM 用户态接口:3.6 设备间视图与同步

本节讨论三类访问视图中的第三类,以及横跨三类视图的同步。CPU 视图与 GPU 视图的访问方都属于本驱动,设备间视图的访问方则属于另一个驱动:GEM 无法替对方建立映射,只能把对象交给对方,由对方自己完成映射。

本节先说明把对象交给另一个驱动需要解决哪些问题,再介绍对象如何经 dma-buf 导出与导入,最后说明多个访问方如何同步。

1. 共享对象需要解决的问题

把对象交给另一个驱动访问,导出与导入两侧共需解决三个问题:

问题
说明
承载字段
共享凭证 导出方要给对象一个能跨进程、跨设备传递的凭证,同一对象多次导出应得到同一个凭证 dma_buf
使用外来内存 导入方要像使用本设备的对象一样使用这块内存,因此为它建立一个自己的 GEM 对象。这个对象不分配内存,需要记住内存来自哪个 dma-buf,以便释放时归还 import_attach
访问同步 多个设备访问同一块内存,要能看到彼此尚未完成的访问 resv

2. 字段一览

赞(0)
未经允许不得转载:171主机测评 » 第三章 GEM 用户态接口:3.6 设备间视图与同步
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址