簡體   English   中英

Linux中的DMA與CPU驅動程序的交互

[英]DMA in Linux and CPU-driver interaction

前幾天,我在閱讀一篇文章時,作者在談論DMA,以及它如何在不涉及CPU的情況下將數據包通過PCI總線復制到內存中。

然后它說:

唯一的開銷是大約每毫秒一次,CPU需要喚醒並告訴驅動程序哪些數據包緩沖區可用。

這部分我不太了解-為什么CPU會告訴驅動程序可用的緩沖區以及它如何工作? 任何鏈接/參考將不勝感激。

謝謝。

調用驅動程序的transmit()等函數后,硬件將“擁有”內存。 沒有您描述的行為,該內存將被泄漏。 因此,DMA子系統會通知驅動程序/相關子系統,硬件已“完成”訪問內存。 在那時,可以將其回收以供其他人使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM