linux设备驱动选择/ epoll支持

时间:2012-08-13 14:46:26

标签: linux-device-driver epoll

我正在阅读Linux设备驱动程序第3版。在第6章:民意调查和选择中,作者说:

“* unsigned int(* poll)(struct file * filp,poll_table wait); 每当用户空间程序执行轮询时,都会调用驱动程序方法,选择, 或涉及与驱动程序关联的文件描述符的epoll系统调用。

所以如果我的epoll通话中有数百个fd,每次到达epoll()时,驱动程序中的这个轮询都会被调用数百次?

感谢。

1 个答案:

答案 0 :(得分:1)

是的,内核将循环遍历所有文件描述符并调用poll()方法。它需要对所有文件描述符的当前状态进行采样,以便将它们报告给用户空间中的调用者。

注意,对于select和poll这是正确的,我不熟悉epoll,但是如果它使用相同的文件op,那么它也应该适用于此。