NFSD: Streamline the rare "found" case
[ Upstream commit add1511c38166cf1036765f8c4aa939f0275a799 ] Move a rarely called function call site out of the hot path. This is an exceptionally small improvement because the compiler inlines most of the functions that nfsd_cache_lookup() calls. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
3304d16c24
commit
194071d46c
@ -448,11 +448,8 @@ int nfsd_cache_lookup(struct svc_rqst *rqstp)
|
||||
b = nfsd_cache_bucket_find(rqstp->rq_xid, nn);
|
||||
spin_lock(&b->cache_lock);
|
||||
found = nfsd_cache_insert(b, rp, nn);
|
||||
if (found != rp) {
|
||||
nfsd_reply_cache_free_locked(NULL, rp, nn);
|
||||
rp = found;
|
||||
if (found != rp)
|
||||
goto found_entry;
|
||||
}
|
||||
|
||||
nfsd_stats_rc_misses_inc();
|
||||
rqstp->rq_cacherep = rp;
|
||||
@ -470,8 +467,10 @@ out:
|
||||
|
||||
found_entry:
|
||||
/* We found a matching entry which is either in progress or done. */
|
||||
nfsd_reply_cache_free_locked(NULL, rp, nn);
|
||||
nfsd_stats_rc_hits_inc();
|
||||
rtn = RC_DROPIT;
|
||||
rp = found;
|
||||
|
||||
/* Request being processed */
|
||||
if (rp->c_state == RC_INPROG)
|
||||
|
Loading…
x
Reference in New Issue
Block a user