Slow CIFS navigation
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Expired
|
Undecided
|
Unassigned |
Bug Description
On Karmic, with 2.6.31-20, I have noticed an important decrease of performances while navigating CIFS shares (with mount.cifs) on a Windows 2003 server. (Compared to a older installation with 2.6.27-8). Navigating means here either using midnight commander, ls -l (with ls unaliased first...), rsync, etc..
The kind of performance degradation I am talking about is in the order of times ten or so. An rsync which takes less that 2 minutes on old hardware, now takes over 15 minutes on newer hardware!
Doing a bit of investigation with tcpdump, we can see a lot QUERY_PATH_INFO requests happening which are not necessary as all the information is already returned by FIND_FIRST2 requests. A trivial example will illustrate it. Lets have a directory with 3 files inside.
ls -l with my old machine, it gives:
Protocol Info
SMB Trans2 Request, QUERY_PATH_INFO, Query File All Info, Path: \Temp
SMB Trans2 Response, QUERY_PATH_INFO
SMB Trans2 Request, FIND_FIRST2, Pattern: \Temp\*
SMB Trans2 Response, FIND_FIRST2, Files: . .. file1 file2 file3
With the new one, it gives:
Protocol Info
SMB Trans2 Request, QUERY_PATH_INFO, Query File All Info, Path: \Temp
SMB Trans2 Response, QUERY_PATH_INFO
SMB Trans2 Request, FIND_FIRST2, Pattern: \Temp\*
SMB Trans2 Response, FIND_FIRST2, Files: . .. file1 file2 file3
SMB Trans2 Request, QUERY_PATH_INFO, Query File All Info, Path:\Temp\file1
SMB Trans2 Response, QUERY_PATH_INFO
SMB Trans2 Request, QUERY_PATH_INFO, Query File All Info, Path:\Temp\file2
SMB Trans2 Response, QUERY_PATH_INFO
SMB Trans2 Request, QUERY_PATH_INFO, Query File All Info, Path:\Temp\file3
SMB Trans2 Response, QUERY_PATH_INFO
So for every file in the directory, as returned by the FIRST_FIND2 response, it does a QUERY_PATH_INFO, which does not bring any new information, all the attributes were already returned by FIRST_FIND2.
Looking around in linux-cifs-client mailing list and contacting a few developers, it is believed this problem is now fixed in 2.6.31.13, commit f12f98dba6ea151
Will 2.6.31.13 make it to Karmic?
Thanks,
Seb.
---
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.21.
AplayDevices:
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC268 Analog [ALC268 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
Architecture: i386
ArecordDevices:
**** List of CAPTURE Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC268 Analog [ALC268 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/
Card0.Amixer.info:
Card hw:0 'Intel'/'HDA Intel at 0xd6700000 irq 22'
Mixer name : 'Realtek ALC268'
Components : 'HDA:10ec0268,
Controls : 13
Simple ctrls : 8
DistroRelease: Ubuntu 10.04
EcryptfsInUse: Yes
HibernationDevice: RESUME=
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release i386 (20100429)
MachineType: TOSHIBA Satellite L300
Package: linux (not installed)
ProcCmdLine: BOOT_IMAGE=
ProcEnviron:
PATH=(custom, user)
LANG=en_US.utf8
SHELL=/bin/bash
ProcVersionSign
Regression: Yes
RelatedPackageV
Reproducible: Yes
RfKill:
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
Tags: lucid kconfig regression-release needs-upstream-
Uname: Linux 2.6.32-22-generic i686
UserGroups: adm admin cdrom dialout lpadmin plugdev sambashare
dmi.bios.date: 06/04/2009
dmi.bios.vendor: INSYDE
dmi.bios.version: 1.90
dmi.board.
dmi.board.name: Portable PC
dmi.board.vendor: TOSHIBA
dmi.board.version: Base Board Version
dmi.chassis.
dmi.chassis.type: 10
dmi.chassis.vendor: Chassis Manufacturer
dmi.chassis.
dmi.modalias: dmi:bvnINSYDE:
dmi.product.name: Satellite L300
dmi.product.
dmi.sys.vendor: TOSHIBA
Hi Se6,
Please be sure to confirm this issue exists with the latest development release of Ubuntu. ISO CD images are available from http:// cdimage. ubuntu. com/releases/ . If the issue remains, please run the following command from a Terminal (Applications- >Accessories- >Terminal) . It will automatically gather and attach updated debug information to this report.
apport-collect -p linux 571235
Also, if you could test the latest upstream kernel available that would be great. It will allow additional upstream developers to examine the issue. Refer to https:/ /wiki.ubuntu. com/KernelMainl ineBuilds . Once you've tested the upstream kernel, please remove the 'needs- upstream- testing' tag. This can be done by clicking on the yellow pencil icon next to the tag located at the bottom of the bug description and deleting the 'needs- upstream- testing' text. Please let us know your results.
Thanks in advance.
[This is an automated message. Apologies if it has reached you inappropriately; please just reply to this message indicating so.]