On Sat, 21 Aug 1999, Matthew Dillon wrote:

> :>     Well, the issue with converting many of the macros to inline functions
> :>     is with the embedded goto's and references to variables defined outside 
> :>     the macros.  Converting them to functions would basically require 
> :>     rewriting a huge chunk of NFS code.  
> :> 
> :My working kernel runs with a few strategic NFS macros being converted
> :to functions, and the size improvement is about 50K or so (maybe more!!!)
> :
> :John
> 
>     If you want to port some of it in that part of the source tree will be
>     available in a month or two, depending on how quickly the other stuff in
>     my queue gets committed.  I've got two patch sets currently under test
>     related to other NFS issues and a third one in the wings.
> 
>     Hey, speaking of NFS ... I'm working on optimizing the commit rpc and
>     I noticed something interesting.  The commit rpc includes an offset and
>     a length field.
> 
>     Does anyone know why our NFS clients are sending a separate RPC for each
>     8K buffer?  If the dirty space is contiguous across a number of buffers
>     we should be able to send a *SINGLE* commit rpc to the server.  That would
>     greatly reduce system overhead on both the client and server when writing
>     a large file over NFS.  This would seem to be an almost free optimization
>     that would mesh extremely well with the nfsrv_commit optimizations I'm
>     making right now.
> 
>     At the moment I can saturate a 100BaseTX with NFS writes and get 
>     10 MBytes/sec to the platter on the server, but the cpu required on both
>     the client and server to do that is well over 60% of a Pentium III-450.

I worked on reducing the number of commit rpcs a while ago. The best I
could come up with was to use the B_CLUSTEROK flag to get vfs_bio.c to
aggregate several buffers together to make a single large commit. Does
that code still work? It made a big difference to the number of commit
rpcs at the time.

--
Doug Rabson                             Mail:  [EMAIL PROTECTED]
Nonlinear Systems Ltd.                  Phone: +44 181 442 9037




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to