需要動用 DMA 作記憶體複製嗎 ? - Linux

Freda avatar
By Freda
at 2011-05-13T23:13

Table of Contents

DMA 是硬體機制,需要有配有DMA engine的硬體配合
如果你的程式是純軟體操作,應該是無法進行DMA
可以從改善程式的運作模試著手,在data source跟sink之間share memory
使用semaphore對share memory做同步保護
如此一來就不用memcpy

※ 引述《jeremy007 (Linux藍海帝國)》之銘言:
: 大家好, 小弟想改善手邊程式的執行時間
: 分析後, 發現兩塊 buffer 的複製: src -> dst 花了太多時間...
: 原始程式的寫法採用 memcpy,
: 但 survey 了其他做法 (ex: 網路上找到的 fast memcpy), 其效能的增進不顯著.
: 想請教前輩們, 若改用 DMA 幫忙作資料搬移,
: 有辦法縮短 資料在記憶體之間 搬移的時間嗎 ?
: (已知 buffer size 為 page 的整數倍, 且起始位置也為 page align)
: 小弟想知道怎麼作, 才能讓 src 的資料 "盡量快速" 複製到 dst buffer..
: 謝謝!!

--
Tags: Linux

All Comments

Ina avatar
By Ina
at 2011-05-17T15:32
DMA一般用於I/O與RAM的搬移,DMA controller一般由OS控制

Linux的資料夾?

Rachel avatar
By Rachel
at 2011-05-13T19:48
像Windows XP是C - Documents and Settings - Program Files - WINDOWS D - E - 請問Linux例如Ubuntu,它 ...

signal?

Connor avatar
By Connor
at 2011-05-13T13:28
請問一下 不同Process的signal會互相影響嗎? 小弟在寫程式有用到signal 怕會影響到 - ...

詢問 samba的smbpasswd與passwd同步

Elma avatar
By Elma
at 2011-05-13T00:08
小弟是linux新手 使用ubuntu的distribution架設server 在samba設定中,有個疑問想詢問 samba的密碼是透過smbpasswd來這編輯 在smb.conf有定義 其user使用smbpasswd修改samba的密碼 其系統密碼 /etc/shadow也會跟著變動 經過測試這 ...

網路分享問題, 真的沒輒了...

Queena avatar
By Queena
at 2011-05-12T23:14
請幫我隔空抓藥, 真的沒輒了... 我家裡的網路本來是用一台IP分享器分享HINET的, 內部設定NAT。不過因為 一到夏天它會熱當, 而且覺得很耗電, 最近把它拔掉了, 改由家裡的一台1 公升電腦當作分享器, 但在分享時卻會讓私網裡的電腦不定時斷線, 是對外連線全面斷線 。 這會持續個幾分鐘, 但這時pi ...

作業系統時間停滯

Robert avatar
By Robert
at 2011-05-12T22:23
※ 引述《swl20331 (月湖)》之銘言: : 我有架設一個BBS站,OS是Debian, : 是用虛擬機器劃分出來的空間,和另外兩個服務獨立共存在學校某台主機。 : 卻於2011/05/10 Tue 05:53:12 時,突然停滯時間的運作。 類似經驗分享一下。 我的現役 NB(9歲)的主機板電源接 ...