Я использую 2.6.39.1 версию ядра Linux.В моем драйвере блочного устройства я ставлю в очередь struct work_struct
из нижней половины обработчика прерываний, то есть в функции ->bi_end_io
ранее представленной BIO.Затем функция обработчика рабочей очереди передает следующую BIO для обработки.Система перестает отвечать на запросы, когда мы делаем это.Мы считаем, что вызов submit_bio()
из нашей функции обработчика рабочей очереди в этой настройке вызывает проблему.Может кто-нибудь объяснить, в чем проблема в этом сценарии?