• Y
    net: link_watch: prevent starvation when processing linkwatch wq · 27ba4059
    Yunsheng Lin 提交于
    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: NYunsheng Lin <linyunsheng@huawei.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    27ba4059
link_watch.c 5.6 KB