【问题标题】:udev monitor is slow without pollingudev 监视器在没有轮询的情况下很慢
【发布时间】:2011-09-03 07:54:36
【问题描述】:

我按照建议尝试了 udev (udevadm monitor)。 VGA-Plug 大约在两秒钟。如果我轮询它,几乎会立即报告更改。这里发生了什么?

【问题讨论】:

    标签: linux udev


    【解决方案1】:

    如果轮询是恒定的,则会大量浪费 CPU 时间,并且日志输出中的事件时间会出现偏差。当您手动轮询时,它会立即发生,不会超时。

    【讨论】:

    • 那么 udev 会轮询自己,而不是订阅?
    • udev 必须轮询 - 模块不会在文件系统上创建自己的设备节点,因此 udev 必须查看已加载模块的列表 - 检测何时加载了支持的模块,执行与它,然后创建设备。
    • @synthesizerpatel - 那么当模块已经加载时,udev 如何检测新设备呢? (即:多个 USB HID 设备)。 udev 从内核订阅事件,这里没有轮询。不断轮询将是一个糟糕的设计,并且在连接新设备时会导致更长的延迟。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-10
    • 1970-01-01
    • 1970-01-01
    • 2012-10-05
    • 1970-01-01
    • 2021-07-24
    • 1970-01-01
    相关资源
    最近更新 更多