Цитата(Andrew_Freeman @ Apr 13 2011, 08:07)

Требуется выводить битовый поток посредством GPIO со скоростью порядка 5 мегагерц в секунду
На текущий момент получается со скоростью 1.5 Мгц
На текущий момент задача решается в лоб:
Судя по коду Вы изобретаете SPI ;-)
Цитата
И интересует, как работают прерывания от периферии в Linux - скорость перехода в прерывание
Это сильно зависит от реализации - Linux не RTOS поэтому гарантировать какаую-то латентность нельзя, в общем случае нужно брать осциллограф, писать тестовый драйвер и измерять на конкретной системе.
Цитата
возможность обработки этого прерывания в течение длительного времени (порядка десятков, максимум сотни мс).
Для этого есть bottom half, в Linux их можно реализовать двумя методами:
1 Tasklets - имеют минимальную латентность, вызываются в контексте soft irq поэтому не могут переходить в состояние ожидания.
2 Workqueues - это по сути обычные процессы, поэтому в их контексте можно пользоваться любыми функциями ядра, но имеют большую латентность по сравнению с тасклетами