Ето някои опции, в зависимост от спецификата на вашата ситуация. Ако можете да предоставите повече подробности за платформата и естеството на драйвера за режим на ядрото, ще бъде полезно.
Ако приемем, че имате причина да сте уверени в хардуера, вашите вероятни източници на блокиране са проблеми със заключването в ядрото, неинициализирани променливи и безкрайни цикли с деактивирано изпреварване.
Можете ли да конфигурирате прекъсване на таймера да работи периодично и да мига светодиод? Може да ви е полезно да видите дали прекъсванията продължават да се обработват, докато сте в блокиране.
Активирайте откриването на меко блокиране в менюто за хакване на ядрото на Linux и всички други подходящи функции за хакване на ядрото. Може да отнеме на Linux минута или две да открие и докладва меко блокиране. Чакахте ли достатъчно дълго, за да проверите за това?
Активирайте проверката на зависимостта на заключването при хакване на ядрото и поправете всички отчетени грешки при заключване във вашия драйвер.
Опитайте да промените режима на изпреварване на ядрото. Това променя поведението на някои системни заключвания, като в някои случаи превръща блокиранията в по-малко опасни заключвания. Ако е подходящо/възможно, деактивирайте SMP.
person
jbarlow
schedule
17.06.2010