Hello 2011/2/24 Tejun Heo <tj@xxxxxxxxxx>: > > (cc'ing Justin) > > Hello, > > On Thu, Feb 24, 2011 at 03:32:50PM +0100, Sylvain LEVEQUE wrote: >> I own a Venus T5C mini box based on a JMicron JM393 controller, used >> in pure port multiplier mode (no JBOD, no RAID). It is plugged in >> eSATA to a QNAP TS-119 NAS which runs a 2.6.37 kernel on a Marvell >> Kirkwood 88F6281. >> >> When I first started copying data on any disk of the external box, I >> realized the write speed was low (read speed is OK). Testing with dd >> and various block sizes shows that the larger the block size, the >> higher the throughput is. On my NAS, I determined the work buffer size >> of the cp command to be approximately 8KB. >> >> With a 8KB blocksize, when writing a 16MB file with dd on one of the >> disks, I average at 6,5 MB/s write speed. It is already a great >> improvement compared to the 393 KB/s write speed I obtained on a >> 2.6.36 kernel, but it is low compared to results I obtain with higher >> blocksizes (52,4 MB/s with 4MB blocksize) or using other hardware >> (laptop with Intel ICH9M-E/M controller reaches 286 MB/s with 8KB >> blocksize using a 2.6.31 kernel). >> >> When I take one of the disks out and connect it in eSATA with a basic >> external case, I reach 37,6 MB/s with 8KB blocksize. This result is >> pretty constant whatever the blocksize value I tested (from 1KB to >> 16MB, doubling each time). > > Sounds like a latency related issue. ÂIs NCQ being used? I actually already tried disabling it but I didn't see much change so moved on to other tests. This is what I get for the three drives: $ cat /sys/block/sd[c-e]/device/queue_depth 1 31 31 $ ls -l /dev/disk/by-label/ lrwxrwxrwx 1 root root 10 2011-02-21 20:36 NASBACKUP -> ../../sdc1 lrwxrwxrwx 1 root root 10 2011-02-21 20:36 HDD2_SAMSUNG640 -> ../../sdd1 lrwxrwxrwx 1 root root 10 2011-02-21 20:36 HDD4_SAMSUNG640 -> ../../sde1 $ dd if=testfile of=/media/NASBACKUP/testfile bs=8K 2048+0 records in 2048+0 records out 16777216 bytes (17 MB) copied, 7,34586 s, 2,3 MB/s $ dd if=testfile of=/media/HDD2_SAMSUNG640/testfile bs=8K 2048+0 records in 2048+0 records out 16777216 bytes (17 MB) copied, 2,77398 s, 6,0 MB/s $ dd if=testfile of=/media/HDD4_SAMSUNG640/testfile bs=8K 2048+0 records in 2048+0 records out 16777216 bytes (17 MB) copied, 2,62296 s, 6,4 MB/s Read throughput is ca 30MB/s for all disks. Now, without NCQ: # echo 1 > /sys/block/sdd/device/queue_depth # echo 1 > /sys/block/sde/device/queue_depth $ cat /sys/block/sd[c-e]/device/queue_depth 1 1 1 $ dd if=testfile of=/media/HDD2_SAMSUNG640/testfile bs=8K 2048+0 records in 2048+0 records out 16777216 bytes (17 MB) copied, 2,31012 s, 7,3 MB/s I confirm the observed improvement on the second disk as well. Thanks -- Sylvain -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html