forked from Minki/linux
Drivers: hv: util: Increase the timeout for util services
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>
This commit is contained in:
parent
9220e39b5c
commit
c0b200cfb0
@ -275,7 +275,8 @@ void hv_fcopy_onchannelcallback(void *context)
|
|||||||
* Send the information to the user-level daemon.
|
* Send the information to the user-level daemon.
|
||||||
*/
|
*/
|
||||||
schedule_work(&fcopy_send_work);
|
schedule_work(&fcopy_send_work);
|
||||||
schedule_delayed_work(&fcopy_timeout_work, 5*HZ);
|
schedule_delayed_work(&fcopy_timeout_work,
|
||||||
|
HV_UTIL_TIMEOUT * HZ);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
icmsghdr->icflags = ICMSGHDRFLAG_TRANSACTION | ICMSGHDRFLAG_RESPONSE;
|
icmsghdr->icflags = ICMSGHDRFLAG_TRANSACTION | ICMSGHDRFLAG_RESPONSE;
|
||||||
|
@ -668,7 +668,8 @@ void hv_kvp_onchannelcallback(void *context)
|
|||||||
* user-mode not responding.
|
* user-mode not responding.
|
||||||
*/
|
*/
|
||||||
schedule_work(&kvp_sendkey_work);
|
schedule_work(&kvp_sendkey_work);
|
||||||
schedule_delayed_work(&kvp_timeout_work, 5*HZ);
|
schedule_delayed_work(&kvp_timeout_work,
|
||||||
|
HV_UTIL_TIMEOUT * HZ);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -30,6 +30,11 @@
|
|||||||
#include <linux/atomic.h>
|
#include <linux/atomic.h>
|
||||||
#include <linux/hyperv.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
|
* The below CPUID leaves are present if VersionAndFeatures.HypervisorPresent
|
||||||
* is set by CPUID(HVCPUID_VERSION_FEATURES).
|
* is set by CPUID(HVCPUID_VERSION_FEATURES).
|
||||||
|
Loading…
Reference in New Issue
Block a user