【问题标题】:linux device driver select/epoll supportlinux 设备驱动选择/epoll 支持
【发布时间】:2012-08-09 19:46:03
【问题描述】:

我正在阅读 Linux 设备驱动程序 3rd。在第 6 章:投票和选择中,作者说:

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

那么如果我的epoll调用中有数百个fd,每次到达epoll(),驱动中的这个poll就会被调用数百次?

谢谢。

【问题讨论】:

    标签: linux-device-driver epoll


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-26
      • 1970-01-01
      • 1970-01-01
      • 2013-04-13
      相关资源
      最近更新 更多