ChinaUnix.net
相关文章推荐:

DMA在内存间数据拷贝中的应用及其性能分析

我使用的uClinux系统 我的系统有1MB的SDRAM没有进行Cache映射。 为了避免Cache 一致性问题,我需要在这1MB的SDRAM里为dma分配内存。 GFP_dma方式调用kmalloc只是分配的低16MB,但是在嵌入式系统里没有这个限制。所以用GFP_dma也没意义。 使用dma_alloc_consistent 或 dma_map_single吗? 请问linux内核通用的解决方法是怎样的? [ 本帖最后由 月吻长河 于 2006-5-10 08:56 编辑 ]

by 月吻长河 - 内核/嵌入技术 - 2006-05-09 23:37:20 阅读(1219) 回复(2)

相关讨论

uClinux版本是2005 R4,内核版本2.6 unsigned char *p; p = kmalloc(512,GFP_KERNEL | GFP_dma); 分配内存失败, 但是,只用GFP_KERNEL就可以分配成功 请问这是什么问题?

by 月吻长河 - 内核/嵌入技术 - 2006-05-01 11:55:41 阅读(669) 回复(0)
by waterboy79 - Linux论坛 - 2004-07-28 21:15:11 阅读(904) 回复(0)

我的系统是fedora core1,系统启动时想要打开从盘的dma,但重试几次都不能成功,导致启动速度变慢。在启动后我在终端可以用haparm可以开启从盘dma,请大家帮忙解决解决这个问题!!!谢了先!!!!

by Newyeskaron - Linux论坛 - 2004-04-21 19:28:49 阅读(675) 回复(1)

/dev/hda的dma模式无法打开,umda4无法打开。 在发行版自带的核心下,dma可以打开,udma4可以打开。 请问内核编译时那些选项是和硬盘相关的。

by drewasdrew - Linux论坛 - 2004-07-07 21:58:42 阅读(610) 回复(0)

scatter/gather方式是与block dma方式相对应的一种dma方式。 在dma传输数据的过程中,要求源物理地址和目标物理地址必须是连续的。但在有的计算机体系中,如IA,连续的存储器地址在物理上不一定是连续的,则dma传输要分成多次完成。 如果传输完一块物理连续的数据后发起一次中断,同时主机进行下一块物理连续的传输,则这种方式即为block dma方式。 scatter/gather方式则不同,他是用一个链表描述物理不连续的存储器,然后把链...

by yongwenli2008 - 存储文档中心 - 2008-10-21 23:25:55 阅读(1633) 回复(0)

什么是dma? 当我们向计算机中加入了一块新的声卡或其它适配卡时,安装程序可能会提醒我们应该选择一个dma通道。那dma是什么呢? dma(Direct Memory Access),即直接存储器存取,是一种快速传送数据的机制。数据传递可以从适配卡到内存,从内存到适配卡或从一段内存到另一段内存。dma技术的重要 性在于,利用它进行数据传送时不需要CPU的参与。每台电脑主机板上都有dma控制器,通常计算机对其编程,并用一个适配器上的ROM(如软盘...

by zhangyanwei37 - 存储文档中心 - 2008-07-30 15:00:57 阅读(974) 回复(0)

昨晚开始机房bsd62连不通,中午进去一看,满屏的关于/dev/ad3 read_dma的信息. 重启fsck -y后正常启动,下面是关于smartctl的信息,是不是硬盘有问题呢? **** bsd62# smartctl -H /dev/ad3 smartctl version 5.36 [i386-portbld-freebsd6.2] Copyright (C) 2002-6 Bruce Allen Home page is http://smartmontools.sourceforge.net/ === START OF READ SMART DATA SECTION === SMART overall-health self-assessment test result: P...

by 打靶归来 - BSD - 2007-06-04 15:48:31 阅读(2089) 回复(2)

第9章  dma 9.1 dma:什么是dma,它如何工作 Copyright © 1995,1997 Frank Durda IV , All Rights Reserved. 10 December 1996. Last Update 8 October 1997. 翻译 gvim 原文连接 http://www.freebsd.org/doc/en_US.ISO8859-1/books/developers-handbook/dma.html 直接内存访问(dma)是一种传输数据的方式,它允许两个地址上的数据直接进行传输而无需CPU的介入。 dma功能在不同计算机体系下的实现方式有所不同,因此...

by gvim - BSD文档中心 - 2007-03-12 08:42:43 阅读(1838) 回复(0)

下面的这段话摘自互联网上,我搞不懂"实际的传输也不借助慢速的ISA dmaC来进行,而是由内嵌在PCI卡中的dma电路(比传统的ISA dmaC要快)来完成"这句话的意思,难道是说每个PCI卡上都有一个dmaC? dma是外设与主存之间的一种数据传输机制。一般来说,外设与主存之间存在两种数据传输方法:(1)Pragrammed I/O(PIO)方法,也即由CPU通过内存读写指令或I/O指令来�中囟列赐馍璧�内存单元(8位、16位或32位),直到整个数据传输过程完成...

by qtdszws - 内核/嵌入技术 - 2006-04-11 08:52:30 阅读(2418) 回复(5)

在驱动里做一次硬盘dma操作,没有中断产生, 总是超时. 哪位给点建议, 看看我遗漏了什么步骤? 我的过程大概如下. 读命令: 准备s/g table, 把s/g table 地址写入s/g指针寄存器 写LBA & command register 清除中断/错误寄存器 确定读写方向, 并启动dma 以上几个步骤, 我反复确认过, 看不出有错误. 代码有点长(>1000lines), 恕不贴出来了. 在超时处理函数里, 读状态寄存器, 发现dma操作并没有完成. 各位给点建议,先谢过了

by yidou - 内核/嵌入技术 - 2006-04-07 09:32:31 阅读(874) 回复(2)