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. -- To unsubscribe from this list go to the following URL and read the instructions: https://lists.samba.org/mailman/listinfo/samba
