Dear kernel hackers, I am forwarding this message to you because the problem discussed touches on several areas of the kernel: filesystems, SCSI and USB. I am including my original bug report sent to linux-usb-users here: --------------------- As you may or may not have been aware, there have been complaints for a while that data transfer rates when writing to an EXT2 partition has been less than stellar. People have invariably comparing Windoze with VFAT formatted ORB media with Linux and EXT2 formatted media. Last night I went through a series of tests where I tried EXT2 formatted with varying block sizes. I found that the larger the block size, the better the transfer rate. The largest allowable blocksize for EXT2 is 4096. Now, the transfer rate for copying /usr/src/xc to /mnt/orb1/test was as follows: One Linux Partition + EXT2 2140 KB / 159 secs. = 13.5 KB / sec. using a 1KB block size One Linux Partition + EXT2 7296 KB / 149 secs. = 48 KB / sec. using a 4KB block size One Linux Partition + FAT32 88512 KB / 78 secs. = 1,134 KB / sec. One Linux Partition + FAT32 192192 KB / 233 secs. = 824 KB / sec. Linux partition + FAT32 162912 KB / 133 secs. = 1,224 KB / sec. Linux partition + FAT32 96296 KB / 198 secs. = 486 KB / sec. Win95 FAT32 partition + FAT32 116640 KB / 120 secs. = 972 KB / sec. Win95 FAT32 partition + FAT32 160912 KB / 313 secs. = 514 KB / sec. I would really appreciate it if someone better able to analyze the usb-storage logs and lowlevel filesystem activity would determine why I am seeing such huge variability in throughput. Note that with all the tests, I was copying a portion of /usr/src/xc to /mnt/orb1/test. Also, I observed that when writing to the FAT32 partitions, the throughput would occasionally drop off sharply for a few seconds before resuming a more rapid rate. I have performed all this testing without USB Storage Debugging enabled. I wanted to make sure that the overhead of writing the logfile didn't muddy the results. All this testing is with 2.4.0-test11-pre7 and the OHCI HCD. -------------------------- Here's a message that contains the gist of the discussion thus far: -------- Original Message -------- Date: Sat, 18 Nov 2000 13:52:00 -0800 From: Matthew Dharm <[EMAIL PROTECTED]> To: Miles Lane <[EMAIL PROTECTED]> CC: [EMAIL PROTECTED], Alexy Khrabrov <[EMAIL PROTECTED]>, [EMAIL PROTECTED], David Brownell <[EMAIL PROTECTED]>, Johannes Erdfelt <[EMAIL PROTECTED]>, "Dunlap, Randy" <[EMAIL PROTECTED]>, Linux USB users <[EMAIL PROTECTED]> On Sat, Nov 18, 2000 at 01:28:21PM -0800, Miles Lane wrote: > Matthew Dharm wrote: > > > I'm guessing what you're seeing is a function of the overhead in the > > protocol for USB communication being diluted down. Realize that a 1KB > > block has 4 times the overhead of a 4KB block (on a per-byte-of-data > > basis). The usb-storage driver attempts to get the SCSI layer to give it > > the largest requests possible, but that layer is limited by what the > > filesystem layer is willing to give. > > That sounds true for the EXT2 tests. Someone would need to look more > closely to determine if this is really what's happening, though. > Perhaps this would require reading a SCSI log. You should be able to see this if you look at the usb-storage log. What is the data transfer that happens with a WRITE command? > > To fix this, I'd imagine that we'd need to resdesign part of VFS and SCSI > > to be able to express and respond to preferred sizes of data transfers. > > That would be cool. And difficult. Clearly a 2.5.x feature. > > You may also be seeing some caching artifacts. Did you make sure to flush > > the cache before each test, or at least guarantee that the source was > > always in cache for the tests? > > Well, that might account for some of the variability in the > throughput. It wouldn't account for the occasional dropoffs, > though. > > So far, noone has explained why there is an order of magnitude > difference in throughput for FAT32 partitions verses EXT2 partitions. > That's what interests me the most. Good question. I wish I had an answer for that. I wonder if it has to do with the new VM in some way.... Matt ------------------------------ I would appreciate any help you might be able to offer in fixing the throughput problem when EXT2 is used on an ORB drive partition. Best wishes, Miles
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.4 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQE6FvoAz64nssGU+ykRApAfAKDyNUyoLIevC7HsZZPiMoM/ADpsMgCeO4Pi lUPGQw/LzBIzlqDo/KZUs7s= =rj2q -----END PGP SIGNATURE-----