Re: [PATCH net-next] net: link_watch: prevent starvation when processing linkwatch wq

From: Stephen Hemminger
Date: Mon May 27 2019 - 11:01:58 EST


On Mon, 27 May 2019 09:47:54 +0800
Yunsheng Lin <linyunsheng@xxxxxxxxxx> wrote:

> 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 <linyunsheng@xxxxxxxxxx>

Why not put link watch in its own workqueue so it is scheduled
separately from the system workqueue?