USB block device performance on MPC8349
From SecretLab
Results of speed testing
Contents |
Summary
| Kernel Version | Device | Allocator | IO Scheduler | Block Write | Block Read |
|---|---|---|---|---|---|
| 2.6.22-g1f2a63bd-dirty | SanDisk 256MB flash | SLAB | ? | 5034 | 17103 |
| 2.6.22-g1f2a63bd-dirty | Maxtor 300GB | SLAB | ? | 28767 | 26813 |
| 2.6.22-g90b6924e-dirty | Maxtor 300GB | SLAB | CFQ | 28974 | 27092 |
| 2.6.22-g90b6924e-dirty | NFS/100baseT | SLAB | CFQ | 1675 | 11376 |
| 2.6.22-g90b6924e-dirty | Maxtor 300GB | SLUB | CFQ | 28670 | 27240 |
| 2.6.22-g90b6924e-dirty | Maxtor 300GB | SLUB | AS | 30967 | 28099 |
| 2.6.22-g90b6924e-dirty | Maxtor 300GB | SLUB | AS | 29064 | 28169 |
| 2.6.22-g90b6924e-dirty | Maxtor 300GB | SLOB | CFQ | 3281 | 21857 |
Tests performed by Grant
Here are the full logs of system performance testing. Relevant numbers are in bold typeface.
Linux PowerQUICC 2.6.22-g1f2a63bd-dirty #825 Tue Jul 17 13:47:04 MDT 2007 ppc GNU/Linux
All tests performed with SLAB allocator
Sandisk Cruiser 256MB thumb drive
/dev/sda1 /mnt/sda1 vfat rw,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1 0 0
root@PowerQUICC:/mnt/sda1# bonnie++ -d /mnt/sda1/ -s 256 -u root:root
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
PowerQUICC 256M 3429 69 5034 5 2806 5 4739 93 17103 12 1119 12
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 15 99 31 99 198 99 23 99 31 99 53 99
Maxtor OneTouch II 300GB USB hard drive
Note: dropped file create/stat tests because they are irrelevant to our problem.
/dev/sdb1 /mnt/sdb1 vfat rw,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1 0 0
root@PowerQUICC:/mnt/sdb1# bonnie++ -d /mnt/sdb1/ -s 256 -n 0 -u root:root
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
PowerQUICC 256M 4724 96 28767 27 13567 24 4960 91 26813 21 277.0 2
root@PowerQUICC:/mnt/sdb1# bonnie++ -d /mnt/sdb1/ -s 512 -n 0 -u root:root
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
PowerQUICC 512M 4700 96 28386 28 12650 22 4960 91 27010 22 172.1 2
Linux powerpc 2.6.22-g90b6924e-dirty #827 ppc GNU/Linux
Here are some tests of the different memory allocators. SLAB is the original Linux allocator; SLOB is space conservative, but it doesn't scale well. SLUB is the new allocation which is intended to replace SLAB for most systems. All these tests are performed on an external USB hard drive.
SLAB Allocator
root@powerpc:/dev# bonnie++ -d /mnt/sdb1/ -s 256 -n 0 -u root:root -f
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
powerpc 256M 28974 28 12700 22 27092 22 258.4 3
Another test: Something is wrong here; numbers are way low. Going to run it again... Oops, forgot to mount the filesystem, these are results for NFS.
root@powerpc:/dev# bonnie++ -d /mnt/sdb1/ -s 256 -n 0 -u root:root -f
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
powerpc 256M 1675 0 1596 4 11376 18 935.6 24
SLUB Allocator
Using the CFQ IO scheduler:
root@powerpc:/dev# bonnie++ -d /mnt/sdb1/ -s 256 -n 0 -u root:root -f
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
powerpc 256M 28670 28 13554 24 27240 22 261.5 3
Using the AS scheduler:
root@powerpc:/mnt/sdb1# bonnie++ -d /mnt/sdb1/ -s 256 -n 0 -u root:root -f
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
powerpc 256M 30967 32 12797 23 28099 22 288.2 3
Another w/ the AS scheduler:
root@powerpc:/mnt/sdb1# bonnie++ -d /mnt/sdb1/ -s 256 -n 0 -u root:root -f
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
powerpc 256M 29064 28 14174 24 28169 22 286.7 3
SLOB Allocator
root@powerpc:/dev# bonnie++ -d /mnt/sdb1/ -s 256 -n 0 -u root:root -f
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
powerpc 256M 3281 91 851 90 21857 20 211.4 18
