Zapis do eventfd z modułu jądra

Stworzyłem instancję eventfd w programie przestrzeni użytkownika za pomocą eventfd (). Czy istnieje sposób, w jaki mogę przekazać jakieś odwołanie (wskaźnik do jego struktury lub pary pid + fd) do tej utworzonej instancji eventfd do modułu jądra, aby mógł zaktualizować wartość licznika?

Oto, co chcę zrobić: Opracowuję program przestrzeni użytkownika, który musi wymieniać dane i sygnały z modułem przestrzeni jądra, który napisałem. Do przesyłania danych używam już ioctl. Ale chcę, aby moduł jądra był w stanie zasygnalizować programowi przestrzeni użytkownika, gdy nowe dane są gotowe do wykorzystania przez ioctl.

Aby to zrobić, mój program użytkownika stworzy kilka zdarzeń w różnych wątkach. Wątki te będą czekać na te zdarzenia zdarzeń przy użyciu select () i za każdym razem, gdy moduł jądra aktualizuje liczniki na tych zdarzeniach zdarzeń, będą one kontynuować pobieranie danych, żądając ich przez ioctl.

Problem polega na tym, jak rozwiązać wskaźniki „pliku struktury *” do tych zdarzeń z kernelspace? Jakiego rodzaju informacje o wydarzeniach można wysłać do modułów jądra, aby mógł uzyskać wskaźniki do zdarzeń? jakich funkcji użyłbym w module jądra, aby uzyskać te wskaźniki?

Czy jest lepszy sposób sygnalizowania zdarzeń do przestrzeni użytkownika z kernelspace? Nie mogę odpuścić używania select ().

questionAnswers(3)

yourAnswerToTheQuestion