← Back to team overview

kernel-packages team mailing list archive

[Bug 1236607] [NEW] cifs.ko should default to CIFSMaxBufSize=65535

 

Public bug reported:

Win 7 and other clients can handle a CIFS max buffer size of 64k, and
default to this value when talking to Windows or Linux SMB servers. The
practical effect of this is drag-drop file operations in Windows can run
at near gigabit speeds (80-90mb/s over a gigabit LAN) even when talking
to a Linux Samba server.

The 'cifs' filesystem on the other hand struggles to achieve this by
default because it's buffer size is constrained to just 16k. Boosting
the buffer size with a modprobe.d options file like so:

options cifs CIFSMaxBufSize=65536

or even:

options cifs CIFSMaxBufSize=130048

produces a speed up in file operations (as measured with rsync -W
between two mountpoints, or dd | pv | dd) which is on par with the speed
achieved by Windows - taking cifs from averaging 40-50 mb/s on my
machine, to the 80-90 mb/s the same machine running Windows (and talking
to a Linux samba server) can achieve.

There doesn't seem to be any real downside to this in the common desktop
use case in the modern age (memory is not a constraint), so shipping a
modprobe.d cifs.conf file seems like a sensible way to close the
perceived gap in user experience.

** Affects: linux-meta (Ubuntu)
     Importance: Undecided
         Status: New

** Attachment added: "cifs.conf"
   https://bugs.launchpad.net/bugs/1236607/+attachment/3865304/+files/cifs.conf

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux-meta in Ubuntu.
https://bugs.launchpad.net/bugs/1236607

Title:
  cifs.ko should default to CIFSMaxBufSize=65535

Status in “linux-meta” package in Ubuntu:
  New

Bug description:
  Win 7 and other clients can handle a CIFS max buffer size of 64k, and
  default to this value when talking to Windows or Linux SMB servers.
  The practical effect of this is drag-drop file operations in Windows
  can run at near gigabit speeds (80-90mb/s over a gigabit LAN) even
  when talking to a Linux Samba server.

  The 'cifs' filesystem on the other hand struggles to achieve this by
  default because it's buffer size is constrained to just 16k. Boosting
  the buffer size with a modprobe.d options file like so:

  options cifs CIFSMaxBufSize=65536

  or even:

  options cifs CIFSMaxBufSize=130048

  produces a speed up in file operations (as measured with rsync -W
  between two mountpoints, or dd | pv | dd) which is on par with the
  speed achieved by Windows - taking cifs from averaging 40-50 mb/s on
  my machine, to the 80-90 mb/s the same machine running Windows (and
  talking to a Linux samba server) can achieve.

  There doesn't seem to be any real downside to this in the common
  desktop use case in the modern age (memory is not a constraint), so
  shipping a modprobe.d cifs.conf file seems like a sensible way to
  close the perceived gap in user experience.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-meta/+bug/1236607/+subscriptions


Follow ups

References