On Thu, 18 Aug 2011 14:52:57 -0400
Jeff Layton <jlayton@xxxxxxxxx> wrote:
On Thu, 18 Aug 2011 14:18:15 -0400 (EDT)
Justin Piszcz <jpiszcz@xxxxxxxxxxxxxxx> wrote:
Like I said, read performance with cifs.ko just plain sucks currently.
Don't look for cifs.ko to achieve anywhere near NFS' performance unless
you jump through some very odd hoops (like multithreading your workload
in userspace, etc). cifs.ko just doesn't do a good job of keeping the
pipe "stuffed" as most calls are handled synchronously. A single task
can only handle one call on the wire in most cases. The exception here
is writes, but that just recently changed...
Reads are done using relatively small buffers and then copied to
pagecache. Part of what I'm working on will be to allow for much larger
reads directly into the pagecache. That should also help performance
significantly.
I just posted a patchset that should improve the performance of
buffered reads. It's rather large but should apply to current upstream
kernels. If you've had problems with cifs.ko read performance in the
past, then this would be a good time to step up and help test them.
If it makes things easier, then the patchset is also available via the
cifs-3.2 branch of my public git tree:
http://git.kernel.org/?p=linux/kernel/git/jlayton/linux.git;a=shortlog;h=refs/heads/cifs-3.2
Thanks,
--
Jeff Layton <jlayton@xxxxxxxxx>
--