]> git.baikalelectronics.ru Git - kernel.git/commit
NFS: Slow down state manager after an unhandled error
authorChuck Lever <chuck.lever@oracle.com>
Fri, 14 Sep 2012 21:23:23 +0000 (17:23 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Mon, 1 Oct 2012 22:31:51 +0000 (15:31 -0700)
commit8aa37cac12aadf6387d0547fb25173fdbcf6a10a
treebe0a3c83446995a129f040c3bcb7c94b806b768c
parentc0ce7d2267792dd5f4992a1fe507b13401da9713
NFS: Slow down state manager after an unhandled error

If the state manager thread is not actually able to fully recover from
some situation, it wakes up waiters, who kick off a new state manager
thread.  Quite often the fresh invocation of the state manager is just
as successful.

This results in a livelock as the client dumps thousands of NFS
requests a second on the network in a vain attempt to recover.  Not
very friendly.

To mitigate this situation, add a delay in the state manager after
an unhandled error, so that the client sends just a few requests
every second in this case.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/nfs4state.c