Skip to content
Snippets Groups Projects
  • Yunsheng Lin's avatar
    27ba4059
    net: link_watch: prevent starvation when processing linkwatch wq · 27ba4059
    Yunsheng Lin authored
    
    When user has configured a large number of virtual netdev, such
    as 4K vlans, the carrier on/off operation of the real netdev
    will also cause it's virtual netdev's link state to be processed
    in linkwatch. Currently, the processing is done in a work queue,
    which may cause rtnl locking starvation problem and worker
    starvation problem for other work queue, such as irqfd_inject wq.
    
    This patch releases the cpu when link watch worker has processed
    a fixed number of netdev' link watch event, and schedule the
    work queue again when there is still link watch event remaining.
    
    Signed-off-by: default avatarYunsheng Lin <linyunsheng@huawei.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    27ba4059
    History
    net: link_watch: prevent starvation when processing linkwatch wq
    Yunsheng Lin authored
    
    When user has configured a large number of virtual netdev, such
    as 4K vlans, the carrier on/off operation of the real netdev
    will also cause it's virtual netdev's link state to be processed
    in linkwatch. Currently, the processing is done in a work queue,
    which may cause rtnl locking starvation problem and worker
    starvation problem for other work queue, such as irqfd_inject wq.
    
    This patch releases the cpu when link watch worker has processed
    a fixed number of netdev' link watch event, and schedule the
    work queue again when there is still link watch event remaining.
    
    Signed-off-by: default avatarYunsheng Lin <linyunsheng@huawei.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>