Re: optimization for nfsd_set_fh_dentry

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



My apologies. Please ignore this. I misread a backtrace and code.

> nfsd_set_fh_dentry is used in setfh and a number of other places. It calls exportfs_decode_fh_raw with an argument > > >nfsd_acceptable.
>
>That is a test that always returns 1 if NFSEXP_NOSUBTREECHECK is set.
>
>However there is an optimization in exportfs_decode_fh_raw that skips a lot of file system stuff if NULL is passed as the test. A >test that always returns 1 still triggers all the file system stuff, even though it's not needed.
>
>nfsd_set_fh_dentry should pass NULL to exportfs_decode_fh_raw if NFSEXP_NOSUBTREECHECK is set.
>
> discovered this while looking into a performance problem caused by a pathological client that was sending 40,000 RPCs/sec, ?>almost all get
>GETATTR or ACCESS. It was causing the nfsd's to be stuck at 100% CPU by locks in file system code invoked by this unnecessary >code.

(We fixed the client by mounting with NFS3 rather than NFS4. This suggests an issue with the NFS 4 client side. Unfortunately I don't have enough information to make a useful report.)









[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux