[Samba] Samba write performance in kernel

Lin Mac mkl23 at hotmail.com
Tue Aug 26 17:12:13 GMT 2008

hi Jeremy,
splice is support after linux 2.6.17. Does it means that splice+RECEIVEFILEI would work on samba 3.2.x on linux 2.6.17 or later version?
I would try it tomorrow, but it seems that it won't work right now, right?

Best Regards,
Mac Lin

> Date: Tue, 26 Aug 2008 08:38:49 -0700
> From: jra at samba.org
> To: mkl23 at hotmail.com
> CC: samba at lists.samba.org
> Subject: Re: [Samba] Samba write performance in kernel
> On Tue, Aug 26, 2008 at 05:41:51PM +0800, Lin Mac wrote:
>> hi,
>> I would like to know is it possible to make writing file to samba completely in kernel?
> Yes.
>> I'm using a slow CPU (FA526) , and the memory copy is even slower. The reading performance is over 7 MB/s, with mmap and sendfile enabled, while writing is only 4-5 MB/s. Without mmap and sendfile, reading from samba is also about 4-5 MB/s. I use Oprofile to profile writing file to samba and found that CPU takes over 30% CPU time on copy_from/to_user, so I think going to user space and back again is the bottleneck.
>> Since there is sendfile, why is'nt there counterpart on write path? Is there some difficalties or what? Is it implementable?
> There is a counterpart on the write path, called RECEIVEFILE
> in the Samba 3.2.x code. It's already coded up in userspace,
> just waiting the kernel counterpart :-). If there's no kernel
> receivefile() call then it emulates this in userspace.
> Try plumbing in the Linux splice() system call (this is
> already coded up in Samba, awaiting working kernel support).
> Jeremy.

Áo©ú·j´M©MÂsÄýºô¸ôªº§K¶O¤u¨ã¦C ¡X MSN ·j´M¤u¨ã¦C 

More information about the samba mailing list