• J
    nodedev: Document the udevEventHandleThread · 29183778
    John Ferlan 提交于
    Commit cdbe1332 neglected to document the API. So let's add some
    details about the algorithm and why it was used to help future
    readers understand the issues encountered.
    
    NB: Management of the processing udev device notification is a
    delicate balance between the udev process, the scheduler, and when
    exactly the data from/for the socket is received. The balance is
    particularly important for environments when multiple devices are
    added into the system more or less simultaneously such as is done
    for mdev or SRIOV. In these cases old libudev blocking on the udev
    recv() occurs more frequently. It's expected that future devices
    will follow similar algorithms. Even though the algorithm does
    present some challenges for older OS's (such as Centos 6), trying
    to rewrite the algorithm to fit both models would be more complex
    and involve pulling the monitor object out of the private data
    lockable object and would need to be guarded by a separate lock.
    Devising such an algorithm to work around issues with older OS's
    at the expense of more modern OS algorithms in newer event processing
    code may result in unexpected issues, so the choice is to encourage
    use of newer OS's with newer udev event processing code.
    Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
    Reviewed-by: NErik Skultety <eskultet@redhat.com>
    29183778
node_device_udev.c 55.7 KB