• Trond Myklebust's avatar
    SUNRPC: Run rpc timeout functions as callbacks instead of in softirqs · 5d00837b
    Trond Myklebust authored
    An audit of the current RPC timeout functions shows that they don't really
    ever need to run in the softirq context. As long as the softirq is
    able to signal that the wakeup is due to a timeout (which it can do by
    setting task->tk_status to -ETIMEDOUT) then the callback functions can just
    run as standard task->tk_callback functions (in the rpciod/process
    context).
    
    The only possible border-line case would be xprt_timer() for the case of
    UDP, when the callback is used to reduce the size of the transport
    congestion window. In testing, however, the effect of moving that update
    to a callback would appear to be minor.
    Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
    5d00837b
sched.c 25.3 KB