]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
SUNRPC: Partial revert of commit 6f9f17287e78
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Mon, 12 Jul 2021 13:52:59 +0000 (09:52 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Nov 2021 10:04:51 +0000 (11:04 +0100)
commitf80264b897b2366bfed0fb1af886827f36298986
treedf91a134c879c18d008f25d0db7f1bc5edb1786e
parent7a914508ca2feda632c8dca0258cd602083f9389
SUNRPC: Partial revert of commit 6f9f17287e78

commit ea7a1019d8baf8503ecd6e3ec8436dec283569e6 upstream.

The premise of commit 6f9f17287e78 ("SUNRPC: Mitigate cond_resched() in
xprt_transmit()") was that cond_resched() is expensive and unnecessary
when there has been just a single send.
The point of cond_resched() is to ensure that tasks that should pre-empt
this one get a chance to do so when it is safe to do so. The code prior
to commit 6f9f17287e78 failed to take into account that it was keeping a
rpc_task pinned for longer than it needed to, and so rather than doing a
full revert, let's just move the cond_resched.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/sunrpc/xprt.c