CIFS slowness & crashes

From: Lasse KÃrkkÃinen / Tronic
Date: Thu Jul 21 2005 - 16:25:04 EST


I mailed sfrench@xxxxxxxxx (the guy who wrote the driver) about this a
month ago, but didn't get any reply. Is anyone working on that driver
anymore?

The problems that I wrote him about were:

1. CIFS VFS hangs entirely if the server crashes or otherwise goes
offline. Every process touching the mount halts too and cannot be killed
(but they are not zombies). System loads start climbing and eventually
the entire system will die (after system loads reach about 500). It is
not possible to umount with either smbumount (hangs) nor umount -f
(prints errors but doesn't umount anything). It won't recover without
reboot, even if the server becomes back online.

This problem has been around as long as I have used SMBFS or CIFS. There
has only been slight variation from one version to another. Sometimes it
is possible to umount them (after some pretty long timeout), sometimes
it is not. It seems as if the problem was being fixed, but none of the
fixes really worked.

2. Occassionally the transmission speeds go extremely low for no
apparent reason. While writing this, I am getting 0.39 Mo/s over a
gigabit network. Using FTP to read the same file gives 40 Mo/s, which is
the speed that the file can be read locally on the server too.
Remounting the CIFS does not help, nor does restarting Samba. However,
using SMBFS I can get 20 Mo/s which is a bit better but still far from
what it should be. It is important to mention that sometimes CIFS does
work faster (about as quickly as SMBFS) and that this misbehavior occurs
randomly.

During CIFS transfer, both computers seem to be idling. The CPU usage
(including I/O wait) is almost none. During SMBFS transfer the server
smbd process uses about 15 % CPU and the client is almost idle. The
client is P4 3.4 GHz and the server is Athlon64 3000+.

I also tested with a Windows XP client machine and found out that this
slowness issue does not happen with it, using the very same Samba server
that the Linux CIFS mount is using.

- Tronic -

Attachment: signature.asc
Description: OpenPGP digital signature