This series optimizes DRC scalability by freeing cache objects only once the hash bucket lock is no longer held. There are a couple of related clean-ups to go along with this optimization. --- Chuck Lever (6): NFSD: Refactor nfsd_reply_cache_free_locked() NFSD: Rename nfsd_reply_cache_alloc() NFSD: Replace nfsd_prune_bucket() NFSD: Refactor the duplicate reply cache shrinker NFSD: Remove svc_rqst::rq_cacherep NFSD: Rename struct svc_cacherep fs/nfsd/cache.h | 8 +- fs/nfsd/nfscache.c | 203 ++++++++++++++++++++++++------------- fs/nfsd/nfssvc.c | 10 +- fs/nfsd/trace.h | 26 ++++- include/linux/sunrpc/svc.h | 1 - 5 files changed, 165 insertions(+), 83 deletions(-) -- Chuck Lever