On Tue, Aug 12, 2008, Ross Burton wrote: > Weird, I see 33MB/sec with Martin's kernel.
Weird indeed; I double checked and discovered I could hugely improve throughput by bumping readahead manually with hdparm: cow:~# uname -a Linux cow 2.6.25-2-iop32x #2 Fri May 9 20:10:52 UTC 2008 armv5tel GNU/Linux cow:~# dpkg -s linux-image-2.6.25-2-iop32x ... Version: 2.6.25-2iop1 ... cow:~# dmesg | grep -i dma [ 0.000000] DMA zone: 1024 pages used for memmap [ 0.000000] DMA zone: 0 pages reserved [ 0.000000] DMA zone: 130048 pages, LIFO batch:31 [ 9.650000] iop-adma iop-adma.0: Intel(R) IOP: ( cpy intr ) [ 9.670000] iop-adma iop-adma.1: Intel(R) IOP: ( cpy intr ) [ 16.760000] sata_sil 0000:00:03.0: Applying R_ERR on DMA activate FIS errata fix [ 16.780000] ata1: SATA max UDMA/100 mmio [EMAIL PROTECTED] tf 0x800a0080 irq 29 [ 16.790000] ata2: SATA max UDMA/100 mmio [EMAIL PROTECTED] tf 0x800a00c0 irq 29 [ 17.340000] ata1.00: ATA-7: ST3250620AS, 3.AAE, max UDMA/133 [ 17.430000] ata1.00: configured for UDMA/100 [ 17.980000] ata2.00: ATA-7: ST3250620AS, 3.AAE, max UDMA/133 [ 18.070000] ata2.00: configured for UDMA/100 cow:~# hdparm -i /dev/sda /dev/sda: Model=ST3250620AS , FwRev=3.AAE , SerialNo= 9QE05RV5 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% } RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4 BuffType=unknown, BuffSize=16384kB, MaxMultSect=16, MultSect=?16? CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=268435455 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio1 pio2 pio3 pio4 DMA modes: mdma0 mdma1 mdma2 UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5 AdvancedPM=no WriteCache=enabled Drive conforms to: Unspecified: ATA/ATAPI-1 ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6 ATA/ATAPI-7 * signifies the current active mode cow:~# hdparm -tT /dev/sda /dev/sda: Timing cached reads: 334 MB in 2.00 seconds = 166.68 MB/sec Timing buffered disk reads: 62 MB in 3.05 seconds = 20.30 MB/sec cow:~# hdparm -a /dev/sda /dev/sda: readahead = 256 (on) cow:~# hdparm -a 8192 /dev/sda /dev/sda: setting fs readahead to 8192 readahead = 8192 (on) cow:~# hdparm -t /dev/sda /dev/sda: Timing buffered disk reads: 222 MB in 3.03 seconds = 73.27 MB/sec I confirmed this on sdb as well. Look like it's 2008 and I still have to go through hdparm's man page! But I suspect it mostly makes a difference in hdparm's test. I tried comparing bonnie++ results; with bumped readahead: Version 1.03 ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP cow 1G 2882 95 19284 72 13049 67 3255 99 45517 91 359.3 16 ------Sequential Create------ --------Random Create-------- -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 4130 98 +++++ +++ 9263 100 4222 98 +++++ +++ 8505 93 cow,1G,2882,95,19284,72,13049,67,3255,99,45517,91,359.3,16,16,4130,98,+++++,+++,9263,100,4222,98,+++++,+++,8505,93 without: Version 1.03 ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP cow 1G 2885 96 19073 72 13346 68 3261 99 48779 90 357.9 15 ------Sequential Create------ --------Random Create-------- -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 4104 98 +++++ +++ 9011 100 4224 98 +++++ +++ 8327 95 cow,1G,2885,96,19073,72,13346,68,3261,99,48779,90,357.9,15,16,4104,98,+++++,+++,9011,100,4224,98,+++++,+++,8327,95 but the results are quite bad I suspect due to the usage of software raid. Cheers, -- Loïc Minier -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]