From: Yunsheng Lin <linyunsh...@huawei.com> Date: Mon, 27 May 2019 09:47:54 +0800
> 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 worker starvation problem for other work queue. > > 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: Yunsheng Lin <linyunsh...@huawei.com> Why not rtnl_unlock(); yield(); rtnl_lock(); every "100" events processed? That seems better than adding all of this overhead to reschedule the workqueue every 100 items.