Спасибо, krux, за полезную информацию. Потери данных (дропы, если правильно понял) у меня не допустимы. Все поступающие данные надо передавать пользовательской программе. Но пока что планирую работать в режиме старт-стоп. Закачать данные из платы в память, остановить DMA, затем обрабатывать в userspace. От промежуточного копирования хотел отказаться, поэтому и спаршивал - как много памяти можно выделить в драйвере.
Кстати, а чем череват перенос обработки в драйвер? Например в ISR или DPC. Я понимаю, что надолго занимать эти процессы не имею права, но вот на сколько можно притормозить, например Isr? Все-таки выполнение ISR обладает высочайшим приоритетом, по сравнению с потоками в userspace.
|