Re: [PATCH net-next] hv_netvsc: Move subchannel waiting to rndis_filter_device_remove()

From: David Miller
Date: Mon Mar 07 2016 - 15:38:17 EST


From: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
Date: Fri, 4 Mar 2016 15:07:43 -0800

> During hot add, vmbus_device_register() is called from vmbus_onoffer(), on
> the same workqueue as the subchannel offer message work-queue, so
> subchannel offer won't be processed until the vmbus_device_register()/...
> /netvsc_probe() is done.
> Also, vmbus_device_register() is called with channel_mutex locked, which
> prevents subchannel processing too. So the "waiting for sub-channel
> processing" will not success in hot add case. But, in usual module loading,
> the netvsc_probe() is called from different code path, and doesn't fail.
>
> This patch resolves the deadlock during NIC hot-add, and speeds up NIC
> loading time.
>
> Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>

Applied, thanks.