![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DMA
kjtt_kjtt
这个作者很懒,什么都没留下…
展开
-
scatterlist分析 (DMA)
使用scatterlist的原因就是系统在运行的时候内存会产生很多碎片,比如4k,100k的,1M的,有时候对应磁盘碎片,总之就是碎片。而在网络和磁盘操作中很多时候需要传送大块的数据,尤其是使用DMA的时候,因为DMA操作的物理地址必须是连续的。假设要1M内存,此时可以分配一个整的1M内存, 也可以把10个10K的和9个100K的组成一块1M的内存,当然这19个块可能是不连续的,也可能其中某些或全转载 2014-08-28 15:31:49 · 1884 阅读 · 0 评论 -
DMA相关
unsigned long virt_to_bus(volatile void *address);void *bus_to_virt(unsigned long address);在使用IOMMU或反弹缓冲区的情况下,上述函数一般不会正常工作。而且,这两个函数并不建议使用。需要说明的是设备不一定能在所有的内存地址上执行DMA操作,在这种情况下应该通过下列函数执行DMA地址掩转载 2014-08-28 16:17:18 · 359 阅读 · 0 评论