2015-03-07 2 views
0

На днях я читал статью, в которой автор говорил о DMA, и как она помогает копировать пакеты по шине PCI в память без участия процессора.DMA в Linux и взаимодействии с CPU-драйвером

Тогда он говорит:

только накладные расходы, что примерно раз в миллисекунду, процессор должен проснуться и сказать водителю, который пакетные буферы свободны.

Эта часть, которую я не совсем понимаю - зачем CPU расскажет драйверу о доступных буферах и как именно это работает? Любая ссылка/ссылка будет принята с благодарностью.

Спасибо.

ответ

0

После того, как вызывается драйвер transmit() и т. Д., Аппаратное обеспечение «владеет» памятью. Без описанного поведения эта память будет утечка. Таким образом, подсистема DMA информирует драйвер/соответствующую подсистему о том, что аппаратное обеспечение «завершено» для доступа к памяти. В этот момент он может быть исправлен для использования кем-то другим.