From: Greg Kroah-Hartman Date: Mon, 9 Dec 2019 09:47:16 +0000 (+0100) Subject: 5.3-stable patches X-Git-Tag: v5.4.3~59 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3a2d447ccbb199869dbd0c503b0c7db72e1dc84a;p=thirdparty%2Fkernel%2Fstable-queue.git 5.3-stable patches added patches: sunrpc-avoid-rpc-delays-when-exiting-suspend.patch --- diff --git a/queue-5.3/series b/queue-5.3/series index e60d7613464..1e610df08d5 100644 --- a/queue-5.3/series +++ b/queue-5.3/series @@ -45,3 +45,4 @@ io_uring-transform-send-recvmsg-erestartsys-to-eintr.patch fuse-verify-nlink.patch fuse-verify-attributes.patch io_uring-ensure-req-submit-is-copied-when-req-is-deferred.patch +sunrpc-avoid-rpc-delays-when-exiting-suspend.patch diff --git a/queue-5.3/sunrpc-avoid-rpc-delays-when-exiting-suspend.patch b/queue-5.3/sunrpc-avoid-rpc-delays-when-exiting-suspend.patch new file mode 100644 index 00000000000..233fb03e28f --- /dev/null +++ b/queue-5.3/sunrpc-avoid-rpc-delays-when-exiting-suspend.patch @@ -0,0 +1,37 @@ +From 66eb3add452aa1be65ad536da99fac4b8f620b74 Mon Sep 17 00:00:00 2001 +From: Trond Myklebust +Date: Tue, 5 Nov 2019 09:10:54 -0500 +Subject: SUNRPC: Avoid RPC delays when exiting suspend + +From: Trond Myklebust + +commit 66eb3add452aa1be65ad536da99fac4b8f620b74 upstream. + +Jon Hunter: "I have been tracking down another suspend/NFS related +issue where again I am seeing random delays exiting suspend. The delays +can be up to a couple minutes in the worst case and this is causing a +suspend test we have to fail." + +Change the use of a deferrable work to a standard delayed one. + +Reported-by: Jon Hunter +Tested-by: Jon Hunter +Fixes: 7e0a0e38fcfea ("SUNRPC: Replace the queue timer with a delayed work function") +Signed-off-by: Trond Myklebust +Signed-off-by: Greg Kroah-Hartman + +--- + net/sunrpc/sched.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/net/sunrpc/sched.c ++++ b/net/sunrpc/sched.c +@@ -260,7 +260,7 @@ static void __rpc_init_priority_wait_que + rpc_reset_waitqueue_priority(queue); + queue->qlen = 0; + queue->timer_list.expires = 0; +- INIT_DEFERRABLE_WORK(&queue->timer_list.dwork, __rpc_queue_timer_fn); ++ INIT_DELAYED_WORK(&queue->timer_list.dwork, __rpc_queue_timer_fn); + INIT_LIST_HEAD(&queue->timer_list.list); + rpc_assign_waitqueue_name(queue, qname); + }