nfsd: optimize destroy_lockowner cl_lock thrashing
authorJeff Layton <jlayton@primarydata.com>
Wed, 30 Jul 2014 01:34:39 +0000 (21:34 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Thu, 31 Jul 2014 18:20:28 +0000 (14:20 -0400)
commit3c1c995cc2e49f6f7504586ad07c5d80c6aa3301
tree213d7c9e1f18da99562a746711035d290436f91d
parenta819ecc1bbb0c795184c80afeec0e7a6ef508ef5
nfsd: optimize destroy_lockowner cl_lock thrashing

Reduce the cl_lock trashing in destroy_lockowner. Unhash all of the
lockstateids on the lockowner's list. Put the reference under the lock
and see if it was the last one. If so, then add it to a private list
to be destroyed after we drop the lock.

Signed-off-by: Jeff Layton <jlayton@primarydata.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfs4state.c