RE: [PATCH] Drivers: hv: fix infinite wait when channel open timeouts

From: KY Srinivasan
Date: Fri Jun 03 2016 - 16:05:32 EST




> -----Original Message-----
> From: Vitaly Kuznetsov [mailto:vkuznets@xxxxxxxxxx]
> Sent: Friday, June 3, 2016 3:15 AM
> To: devel@xxxxxxxxxxxxxxxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx; KY Srinivasan <kys@xxxxxxxxxxxxx>; Haiyang
> Zhang <haiyangz@xxxxxxxxxxxxx>
> Subject: [PATCH] Drivers: hv: fix infinite wait when channel open timeouts
>
> vmbus_teardown_gpadl() can result in infinite wait when it is called
> on 5 second timeout in vmbus_open(). The issue is caused by the fact
> that gpadl teardown operation won't ever succeed for an opened channel
> and the timeout isn't always enough. Increase the timeout to 15 seconds
> and add sending CHANNELMSG_CLOSECHANNEL message on timeout to make
> sure
> the channel is closed.
>
> The other possible solution for the issue would be to remove the timeout
> in vmbus_open() making our wait infinite.

I think removing the timeout in vmbus_open() maybe the safest solution since
anything else is still racy. A timeout in vmbus_open() tells us nothing about the
state of the channel. As a guest, we can trust the host to respond to our request.

Regards,

K. Y