diff --git a/net/sunrpc/sched.c b/net/sunrpc/sched.c index f0f55fbd13752903030e70685aa7c81386e1fbd4..c939ecb25732a4aa0d401413f54cba0562c85a90 100644 --- a/net/sunrpc/sched.c +++ b/net/sunrpc/sched.c @@ -896,8 +896,10 @@ static void __rpc_execute(struct rpc_task *task) /* * Lockless check for whether task is sleeping or not. */ - if (!RPC_IS_QUEUED(task)) + if (!RPC_IS_QUEUED(task)) { + cond_resched(); continue; + } /* * Signalled tasks should exit rather than sleep.