Re: [問題] 需要動用 DMA 作記憶體複製嗎 ?
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..
: 謝謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.74.93.41
→
05/14 14:34, , 1F
05/14 14:34, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):