The need for a special SMB receive system call

Richard Sharpe rsharpe at ns.aus.com
Wed Sep 25 22:41:01 GMT 2002


On Wed, 25 Sep 2002, Andrew Theurer wrote:

> > Every system call I can eliminate, or push into the kernel (as in the
> > fstat call in the sendfile code) means more CPU for yet another client and
> > gets us closer to handling 10,000 clients :-)
> 
> FYI, my top three functions running netbench on linux are:
> 
>   8867 total                                      0.0044
>    700 default_idle                              13.4615
>    689 __generic_copy_to_user                    11.4833
>    419 generic_file_write                         0.2272
> 
> This would seem to support your theory.  Sendfile/zerocopy got me an easy 20% 
> improvement on netbench, and I would expect similar but slightly lower 
> improvement for recvfile (I think netbench has a little more reads than 
> writes).  

That is real interesting. I get pretty much what you expect. sendfile is a 
big win and buys me back lots of CPU when the data is in the cache, while 
recvfile gets me more write bandwidth, but the CPU is still pegged. 

We gotta get that data to stable storage of some sort on writes, although 
buffer recovery will allow much better close latencies :-)

Regards
-----
Richard Sharpe, rsharpe at ns.aus.com, rsharpe at samba.org, 
sharpe at ethereal.com




More information about the samba-technical mailing list