lkml.org 
[lkml]   [2015]   [Dec]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH RESEND 01/27] Drivers: hv: util: Increase the timeout for util services
    Date
    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>
    ---
    drivers/hv/hv_fcopy.c | 3 ++-
    drivers/hv/hv_kvp.c | 3 ++-
    drivers/hv/hyperv_vmbus.h | 5 +++++
    3 files changed, 9 insertions(+), 2 deletions(-)

    diff --git a/drivers/hv/hv_fcopy.c b/drivers/hv/hv_fcopy.c
    index db4b887..bbdec50 100644
    --- a/drivers/hv/hv_fcopy.c
    +++ b/drivers/hv/hv_fcopy.c
    @@ -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;
    diff --git a/drivers/hv/hv_kvp.c b/drivers/hv/hv_kvp.c
    index 74c38a9..e6aa33a 100644
    --- a/drivers/hv/hv_kvp.c
    +++ b/drivers/hv/hv_kvp.c
    @@ -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;

    diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h
    index 3782636..225b96b 100644
    --- a/drivers/hv/hyperv_vmbus.h
    +++ b/drivers/hv/hyperv_vmbus.h
    @@ -31,6 +31,11 @@
    #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).
    */
    --
    1.7.4.1


    \
     
     \ /
      Last update: 2015-12-14 23:41    [W:4.776 / U:0.720 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site