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