[Samba] Samba write performance in kernel

Lin Mac mkl23 at hotmail.com
Thu Sep 18 14:36:57 GMT 2008


Just do some debugging, and found something. I hope this do help. Correct me if anything wrong.

I'm using samba-3.2.2.
For some reason, Linux can not splice a socket and a filefd directly, which samba does so.

In linux, sys_splice calls do_splice, which would require either in or out fd to be a PIPE(FIFO).
Both parameter (fromfd, tofd) that  samba sent with splice failed the test S_ISFIFO() in linux.

Maybe it would work to add an addition FIFO? splice(fromfd, FIFO) and splice(FIFO, tofd)?

Best Regards,
Mac Lin

> Date: Thu, 18 Sep 2008 16:01:29 +0200
> From: Volker.Lendecke at SerNet.DE
> To: mkl23 at hotmail.com
> CC: jra at samba.org; samba at lists.samba.org
> Subject: Re: [Samba] Samba write performance in kernel
> On Thu, Sep 18, 2008 at 09:45:43PM +0800, Lin Mac wrote:
> > > On Mon, Sep 15, 2008 at 02:44:32PM +0800, Lin Mac wrote:
> > > This is a kernel implementation detail. Remember Samba
> > > runs on many other kernels, not just Linux. Linux has
> > > splice, *BSD has receivefile, Solaris probably has
> > > something different.
> > Samba using splice on Linux doesn't work, that is for sure. 
> And there's no way that this can be fixed?
> Volker

¥Î³¡¸¨®æ¤À¨É·Ó¤ù¡B¼v­µ¡B½ì¨ý¤p¤u¨ã©M³Ì·R²M³æ¡AºÉ±¡¨q¥X§A¦Û¤v ¡X Windows Live Spaces

More information about the samba mailing list