Запись в eventfd из модуля ядра

Я создал экземпляр eventfd в пользовательской программе, используя eventfd (). Есть ли способ, которым я могу передать некоторую ссылку (указатель на его структуру или пару pid + fd) на этот созданный экземпляр eventfd в модуль ядра, чтобы он мог обновить значение счетчика?

Вот что я хочу сделать: я разрабатываю пользовательскую программу, которая должна обмениваться данными и сигналами с модулем пространства ядра, который я написал. Для передачи данных я уже использую ioctl. Но я хочу, чтобы модуль ядра мог сигнализировать программе пользовательского пространства всякий раз, когда новые данные готовы для его использования через ioctl.

Для этого моя пользовательская программа создаст несколько событийных файлов в разных потоках. Эти потоки будут ожидать этих событий с помощью select (), и всякий раз, когда модуль ядра обновляет счетчики этих событий, они продолжают потреблять данные, запрашивая их через ioctl.

Проблема в том, как мне решитьstruct file * " указатели на эти события из ядра пространства? Какую информацию о eventfds я могу отправить модулям ядра, чтобы он мог получить указатели на eventfds? Какие функции я бы использовал в модуле ядра, чтобы получить эти указатели?

Есть ли лучший способ сигнализировать события в пространство пользователя из пространства ядра? Я не могу отказаться от использования select ().

Ответы на вопрос(3)

Ваш ответ на вопрос