[linux-cifs-client] CIFS slow on gigabit, doesn't support sockopt=TCP_NODELAY ?

Jeff Layton jlayton at redhat.com
Mon Aug 24 07:50:20 MDT 2009


On Sun, 23 Aug 2009 20:21:10 -0400
Timothy Normand Miller <theosib at gmail.com> wrote:

> Hi, everyone.
> 
> I've noticed that the cifs client for Linux is slow over gigabit
> ethernet.  It seems to max out at about 10 megs/sec, while the drives
> can go a lot faster.  Also, if I mount the same network share from a
> Mac, it's a lot faster.  When _sharing_ via samba, one can set the
> TCP_NODELAY option (among others), which fixes the problem.  But with
> the cifs client, I find that there appears to be no way to set the
> option.  When mounting manually, you can use "-o sockopt=TCP_NODELAY",
> and you can also put that into /etc/fstab.  Either way, the option
> appears to be ignored.
> 

Yeah. The sockopt= option is completely ignored. I proposed a patch
to remove it not too long ago...

I'm unclear...so you're saying here that turning on TCP_NODELAY on the
server it helps throughput when using the Linux CIFS client?

It seems to be that there are probably bottlenecks you'll hit sooner
before Nagle's algorithm becomes an issue (lack of parallelism in
writes for one thing), but it may be worth experimenting with that flag
if you've seen a measurable throughput increase.

-- 
Jeff Layton <jlayton at redhat.com>


More information about the linux-cifs-client mailing list