]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.3-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 9 Dec 2019 09:47:16 +0000 (10:47 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 9 Dec 2019 09:47:16 +0000 (10:47 +0100)
added patches:
sunrpc-avoid-rpc-delays-when-exiting-suspend.patch

queue-5.3/series
queue-5.3/sunrpc-avoid-rpc-delays-when-exiting-suspend.patch [new file with mode: 0644]

index e60d76134643461a6a218807bab53a55757ed394..1e610df08d5257970b8fda7ffe3d5d60a33ed162 100644 (file)
@@ -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 (file)
index 0000000..233fb03
--- /dev/null
@@ -0,0 +1,37 @@
+From 66eb3add452aa1be65ad536da99fac4b8f620b74 Mon Sep 17 00:00:00 2001
+From: Trond Myklebust <trond.myklebust@hammerspace.com>
+Date: Tue, 5 Nov 2019 09:10:54 -0500
+Subject: SUNRPC: Avoid RPC delays when exiting suspend
+
+From: Trond Myklebust <trond.myklebust@hammerspace.com>
+
+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 <jonathanh@nvidia.com>
+Tested-by: Jon Hunter <jonathanh@nvidia.com>
+Fixes: 7e0a0e38fcfea ("SUNRPC: Replace the queue timer with a delayed work function")
+Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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);
+ }