On Sun, 2023-07-09 at 11:45 -0400, Chuck Lever wrote: > 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. > The conventional wisdom that I've always heard is that a kfree under spinlock is generally no big deal. It can't block and is usually quite fast. Are you able to measure any performance delta from this set? > --- > > 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 > -- Jeff Layton <jlayton@xxxxxxxxxx>