printk внутри обработчика прерываний, действительно ли это так плохо?

все знают, что обработчик прерываний должен быть как можно короче. и добавление функций типа printk для отладки внутри обработчика прерываний - это то, чего не следует делать. На самом деле, я пробовал это раньше, когда отлаживал ядро linux для написанного мной устройства char, управляемого прерыванием, и это разрушило тайминг драйвера.

Вопрос, который у меня возник, почему это происходит? функция printk является буферизованной! Это означает, насколько я понимаю, что данные вставляются в очередь, и обрабатываются позже, скорее всего, после завершения обработчика прерывания.

Так почему же это не работает?

13
задан user457015 21 April 2014 в 22:12
поделиться