Skip to content

Commit

Permalink
Drivers: hv: util: Increase the timeout for util services
Browse files Browse the repository at this point in the history
Util services such as KVP and FCOPY need assistance from daemon's running
in user space. Increase the timeout so we don't prematurely terminate
the transaction in the kernel. Host sets up a 60 second timeout for
all util driver transactions. The host will retry the transaction if it
times out. Set the guest timeout at 30 seconds.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
K. Y. Srinivasan authored and Greg Kroah-Hartman committed Dec 15, 2015
1 parent 9220e39 commit c0b200c
Showing 3 changed files with 9 additions and 2 deletions.
3 changes: 2 additions & 1 deletion drivers/hv/hv_fcopy.c
Original file line number Diff line number Diff line change
@@ -275,7 +275,8 @@ void hv_fcopy_onchannelcallback(void *context)
* Send the information to the user-level daemon.
*/
schedule_work(&fcopy_send_work);
schedule_delayed_work(&fcopy_timeout_work, 5*HZ);
schedule_delayed_work(&fcopy_timeout_work,
HV_UTIL_TIMEOUT * HZ);
return;
}
icmsghdr->icflags = ICMSGHDRFLAG_TRANSACTION | ICMSGHDRFLAG_RESPONSE;
3 changes: 2 additions & 1 deletion drivers/hv/hv_kvp.c
Original file line number Diff line number Diff line change
@@ -668,7 +668,8 @@ void hv_kvp_onchannelcallback(void *context)
* user-mode not responding.
*/
schedule_work(&kvp_sendkey_work);
schedule_delayed_work(&kvp_timeout_work, 5*HZ);
schedule_delayed_work(&kvp_timeout_work,
HV_UTIL_TIMEOUT * HZ);

return;

5 changes: 5 additions & 0 deletions drivers/hv/hyperv_vmbus.h
Original file line number Diff line number Diff line change
@@ -30,6 +30,11 @@
#include <linux/atomic.h>
#include <linux/hyperv.h>

/*
* Timeout for services such as KVP and fcopy.
*/
#define HV_UTIL_TIMEOUT 30

/*
* The below CPUID leaves are present if VersionAndFeatures.HypervisorPresent
* is set by CPUID(HVCPUID_VERSION_FEATURES).

0 comments on commit c0b200c

Please sign in to comment.