免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1849 | 回复: 0

[硬件及驱动] DMA缓冲略说 [复制链接]

论坛徽章:
0
发表于 2012-07-03 17:17 |显示全部楼层
一个技术总结,太长,可以看文章的结论,欢迎大家指正!
从总体来看,DMA引擎的设计经历了从简单到复杂,性能逐步优化的过程。DMA从支持单个缓冲到ring buffer,RTL 8139 的descriptor与数据连续存放,driver要负责区分各个包,导致不必要的计算和一次不必要的copy。e100的descriptor用链式组织,各个包有了明显的区分,descriptor和skb动态分配,避免了不必要的copy。另外一个有趣的问题是发送缓冲和接收缓冲是否对称的问题,从实质来讲,接收确实复杂一些,因为外部的情况是不确定的,而发送却是自己控制的,RTL 8139和e100的发送缓冲结构都简单一些,而e1000的发送结构和接收结构类似。

http://blog.chinaunix.net/uid-1858380-id-3261817.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP