Многократные последующие записи в sysfs вызывают некорректное поведение модуля. Как обойти? - PullRequest
0 голосов
/ 04 сентября 2018

моя команда пишет программное обеспечение, взаимодействующее с модулем ядра Linux. Мы пишем в sysfs для управления модулем. Недавно мы столкнулись с проблемой, из-за которой модуль иногда не работает должным образом.

Один из моих коллег заметил, что если мы поместим sleep между Последующие записи в sysfs, проблема не возникает. Это , вероятно, означает, что после первой записи модулю требуется некоторое время, чтобы выполнить некоторую дополнительную обработку, и наш код должен подождать, пока это будет сделано, прежде чем выполнять вторую запись.

Я действительно не хочу вставлять случайный код sleep. Однако у нас практически нет опыта работы с пространством ядра. Есть ли способ обнаружить, что модуль ядра занят выполнением дополнительной обработки? Отслеживать активность модуля? Особенно программным способом, который мы могли бы использовать вместо sleep -на некотором предопределенном интервале?

К сожалению, мой NDA не позволяет мне вдаваться в подробности о том, с каким модулем и какими файлами sysfs мы взаимодействуем.

...