Re: Where in the server code is fsinfo rtpref calculated?

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

 



> fs/nfsd/nfssvc.c:nfsd_get_default_maxblksize() is probably a good
> starting point.  Its caller, nfsd_create_serv(), calls
> svc_create_pooled() with the result that's calculated.

Hmm. If I've read this section of code correctly, it seems to me
that on most modern NFS servers (using TCP as the transport) the default
and preferred blocksize negotiated with clients will almost always be
1MB - the maximum RPC payload. The nfsd_get_default_maxblksize() function
seems obsolete for modern 64-bit servers with at least 4G of RAM as it'll
always prefer this upper bound instead of any value calculated according to
available RAM.

For what it's worth (not sure if I specified this) I'm running kernel 2.6.32.

Anyway, this file/function appears to set the default *max* blocksize. I haven't 
read all the related code yet, but does the preferred block size derive 
from this maximum too?

Thanks,

Jim

> For fsinfo see fs/nfsd/nfs3proc.c:nfsd3_proc_fsinfo, which uses
> svc_max_payload().
> 
> --b.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs"
> in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

-- 
Jim Vanns
Senior Software Developer
Framestore
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[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