LINUX.ORG.RU

Ожидание в прерывании ядра

 , , ,


0

2

Здравствуйте. Такой вопрос возник. Можно ли в функции обработки прерывания вызывать другую функцию, где есть вызовы задержки типа mdelay и что будет если придет еще одно прерывание? Эта проблема решится отложенным прерыванием или таймером так же быстро и точно?


Можно ли в функции обработки прерывания вызывать другую функцию, где есть вызовы задержки типа mdelay

Только если единственным назначением твоего девайса является обслуживание этого самого прерывания

Эта проблема решится отложенным прерыванием или таймером так же быстро и точно?

Не уверен, в случае сетевого драйвера на PC задержки между прерыванием и запуском workqueue достигали 5 миллисекунд (хотя в среднем около 30 микросекунд)

alx777 ★★
()
Ответ на: комментарий от alx777

Не уверен, в случае сетевого драйвера на PC задержки между прерыванием и запуском workqueue достигали 5 миллисекунд (хотя в среднем около 30 микросекунд)

а ты ничего не путаешь? 5 миллисекунд - это вообще целая вечность в масштабе обработки сигналов или ОС. это так дохрена, что просто неприлично даже. что-то подсказывает мне, что не в железе и не в прерываниях там проблема, в данном случае. как-то очень криво они обрабатываются, видимо.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

Так это же запуск отложенной части прерывания, ISR срабатывает значительно быстрее, пиковая задержка была в том случае < 100 микросекунд

А вообще если это процессор общего назначения да ещё и к нему прерывания идут через PCI bus, то там из-за железа пиковых пару сотен микросекунд можно получить запросто

alx777 ★★
()
Ответ на: комментарий от alx777

Спасибо, кажется разобрался. В общем даже если будет 5мс мне это не критично по тестам так как мне нужно отложено вне верхней половины обрабатывать только задержку до конца предоставленного времени чтобы прерывания не блокировались, время окончания которой я сохраняю заранее и куда больше 5мс(10-12), следовательно завершится она в тоже время, только начаться может чуть позже. А если учесть что прерываний почти не будет в этой задержке, то по идее обработка должна начинаться сразу.

gashik
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.