加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux中的异步memcpy?

发布时间:2020-12-13 19:20:51 所属栏目:Linux 来源:网络整理
导读:linux中是否有任何异步memcpy函数?我希望它能与DMA一起使用,并在完成后通知我. 解决方法 据我所知,CPU不能/不能自己做DMA.所以你需要总线上的外部硬件才能为你做到这一点. 但是,大多数硬件无法处理所有物理内存,因此除非您在用例中对内存地址范围进行非常严
linux中是否有任何异步memcpy函数?我希望它能与DMA一起使用,并在完成后通知我.

解决方法

据我所知,CPU不能/不能自己做DMA.所以你需要总线上的外部硬件才能为你做到这一点.

但是,大多数硬件无法处理所有物理内存,因此除非您在用例中对内存地址范围进行非常严格的定义,否则无法进行精确的memcpy克隆.否则内核必须将块存储到你自己的内存块本身,这将首先杀死克隆memcpy的目的:)

但是如果你想在不使用memcpy的情况下创建内存块的“克隆”(顺便说一句,因为DMA内存访问通常比CPU慢),你可以将内存块发送到视频卡然后将其拉回来到另一个缓冲区.您甚至可以将块放入视频内存(putbitmap()?:))并执行硬件加速bitblt()以动态创建副本.

你介意分享你的实际目标,所以也许人们可以提出更聪明/更好的技巧吗?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读