From: Yunsheng Lin <linyunsheng@xxxxxxxxxx> Date: Fri, 28 Jun 2019 09:13:19 +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 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: Yunsheng Lin <linyunsheng@xxxxxxxxxx> > --- > V2: use cond_resched and rtnl_unlock after processing a fixed > number of events > V3: fall back to v1 and change commit log to reflect that. Applied, thanks.