QUOTE (Renik @ Sep 25 2014, 14:48)

Здравствуйте.
Перевожу проект с 2.6 версии на 3.x верcию ядра линукса.
Камень - sama5d3.
В модуле ядра происходит постоянная задержка прерывания приема символа (через usart) примерно в 30 микросекунд (от 15 микросекунд до 40 микросекунд).
Описание теста:
Из программы производится ioctl вызов к модулю.
В модуле происходит настройка usarta на посылку и прием 1 байта. И там же обработчик прерывания.
Время замерялось при помощи осциллографа.
Версия linux:
# uname -a
Linux buildroot 3.12.24-rt38 #4 PREEMPT RT Wed Aug 20 16:37:31 FET 2014 armv7l GNU/Linux
Почему всегда присутствует задержка? Не было ни одного запуска программы, чтобы задержка была хотя бы менее 10 микросекунд.
Задержка времени между стоп -битом символа на rs-232 и стартом обработчика прерывания?
Linux -не система реального времени.
Прерывания не перебивают друг друга.
Приоритетов прерываний нет.
Пока обработчик прерывания IDE не отработает, следующий не стартует.
Время работы обработчика прерывания IDE не является постоянным, зависит от количества секторов и пр...