HomeFreeBSD

Avoid the overhead of acquiring a lock in nfsrv_checkgetattr() when

Description

Avoid the overhead of acquiring a lock in nfsrv_checkgetattr() when
there are no write delegations issued.

manu@ reported on the freebsd-current@ mailing list that there was
a significant performance hit in nfsrv_checkgetattr() caused by
the acquisition/release of a state lock, even when there were no
write delegations issued.
This patch add a count of outstanding issued write delegations to the
NFSv4 server. This count allows nfsrv_checkgetattr() to return without
acquiring any lock when the count is 0, avoiding the performance hit
for the case where no write delegations are issued.

Reported by: manu
Reviewed by: kib
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D13327

Details

Provenance
rmacklemAuthored on
Reviewer
kib
Differential Revision
D13327: Count write delegations so nfsrv_checkgetattr() can just return if the count is 0
Parents
rS326543: MFC r325295:
Branches
Unknown
Tags
Unknown