Port Multiplier Tests 19 Dec 2016 This is a test of the Marvell 88SE9172 AHCI controller probing a port multiplier at SATA-II (3GBit) speeds, with five hard drives. This test demonstrates the FBS (FIS-Based-Switching) feature of this chip (one of the few chipsetes that actually has the feature). This feature allows concurrent command operation to be queued to multiple targets at once. Please note that Marvell AHCI controllers have serious hardware bugs. The 9172, for example, does not implement FR or CR (both required elements of the spec), nor does it implement CLO (which you really want to have with a port multiplier attached). This demonstration is only of the FBS feature, I am not recommending this controller. seq read 5 targets 32KB - 223 MBytes/sec seq read 5 targets 128KB - 249 MBytes/sec randread 5 targets 10%/512 - 419 TPS randread 5 targets 1%/512 - 509 TPS seq read 5 targets 32KB without FBS - 101 MBytes/sec seq read 5 targets 128KB without FBS - 115 MBytes/sec randread 5 targets 10%/512 without FBS - 100 TPS NOTE: randread test runs 2 processes per drive (10 total), 10% of platter (1% for best case FBS test), and 512-byte reads. WITH FBS tty da0 da4 da6 da1 da5 cpu tin tout KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s us ni sy in id 0 15 32.00 2495 77.96 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 1 1 98 0 15 32.00 2529 79.02 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 1 1 98 0 15 32.00 2493 77.90 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 1 1 98 0 15 32.00 1919 59.96 32.00 2440 76.24 0.00 0 0.00 32.00 1912 59.74 0.00 0 0.00 0 0 2 2 96 0 15 32.00 1925 60.15 32.00 2446 76.43 0.00 0 0.00 32.00 1916 59.87 0.00 0 0.00 0 0 3 1 96 0 15 32.00 1924 60.12 32.00 2444 76.36 0.00 0 0.00 32.00 1917 59.90 0.00 0 0.00 0 0 3 1 95 0 43 32.00 1239 38.71 32.00 1553 48.52 32.00 1470 45.93 32.00 1287 40.21 32.00 1589 49.65 0 0 3 2 95 0 15 32.00 1224 38.24 32.00 1626 50.81 32.00 1439 44.96 32.00 1261 39.40 32.00 1596 49.87 0 0 2 2 96 0 15 32.00 1234 38.56 32.00 1610 50.31 32.00 1457 45.52 32.00 1265 39.53 32.00 1585 49.52 0 0 3 2 95 tty da0 da4 da6 da1 da5 cpu tin tout KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s us ni sy in id 0 15 128.00 628 78.49 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 99 0 15 128.00 624 77.99 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 99 0 15 128.00 628 78.49 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 99 0 15 128.00 566 70.73 128.00 741 92.60 0.00 0 0.00 128.00 567 70.86 0.00 0 0.00 0 0 1 0 98 0 15 128.00 566 70.74 128.00 745 93.11 0.00 0 0.00 128.00 566 70.74 0.00 0 0.00 0 0 1 0 99 0 15 128.00 566 70.74 128.00 742 92.74 0.00 0 0.00 128.00 566 70.74 0.00 0 0.00 0 0 0 1 98 0 15 128.00 299 37.37 128.00 498 62.24 128.00 386 48.24 128.00 326 40.74 128.00 496 61.99 0 0 2 1 98 0 15 128.00 294 36.74 128.00 511 63.86 128.00 374 46.74 128.00 325 40.62 128.00 497 62.11 0 0 1 0 98 0 15 128.00 294 36.74 128.00 510 63.74 128.00 374 46.74 128.00 318 39.74 128.00 508 63.49 0 0 1 0 99 tty da0 da1 da2 da3 da4 cpu tin tout KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s us ni sy in id (randread, 10% of disk platter, 512 byte sectors, 2 processes per disk) 0 15 0.50 86 0.04 0.50 103 0.05 0.50 81 0.04 0.50 79 0.04 0.50 78 0.04 0 0 0 0 100 0 15 0.50 88 0.04 0.50 97 0.05 0.50 82 0.04 0.50 79 0.04 0.50 73 0.04 0 0 0 0 100 0 15 0.50 88 0.04 0.50 101 0.05 0.50 73 0.04 0.50 80 0.04 0.50 77 0.04 0 0 0 0 100 (randread, 1% of disk platter, 512 byte sectors, 2 processes per disk) 0 15 0.50 108 0.05 0.50 128 0.06 0.50 102 0.05 0.50 103 0.05 0.50 96 0.05 0 0 0 0 100 0 15 0.50 109 0.05 0.50 125 0.06 0.50 93 0.05 0.50 100 0.05 0.50 95 0.05 0 0 0 0 100 0 15 0.50 109 0.05 0.50 118 0.06 0.50 92 0.04 0.50 94 0.05 0.50 96 0.05 0 0 0 0 100 WITHOUT FBS In constrast, without the FBS feature: tty da0 da4 da6 da1 da5 cpu tin tout KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s us ni sy in id 0 15 32.00 651 20.33 32.00 651 20.33 32.00 651 20.33 32.00 651 20.33 32.00 651 20.33 0 0 1 1 98 0 15 32.00 650 20.30 32.00 650 20.30 32.00 650 20.30 32.00 650 20.30 32.00 650 20.30 0 0 1 1 98 0 15 32.00 651 20.33 32.00 650 20.30 32.00 651 20.33 32.00 651 20.33 32.00 651 20.33 0 0 1 1 98 0 15 128.00 182 22.74 128.00 182 22.74 128.00 182 22.74 128.00 183 22.86 128.00 183 22.86 0 0 1 0 99 0 15 128.00 183 22.86 128.00 182 22.74 128.00 183 22.86 128.00 182 22.74 128.00 182 22.74 0 0 1 0 99 0 15 128.00 182 22.74 128.00 183 22.86 128.00 182 22.74 128.00 183 22.86 128.00 183 22.86 0 0 0 0 99 (randread, 10% of disk platter, 512 byte sectors, 2 processes per disk) tty da0 da1 da2 da3 da4 cpu tin tout KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s us ni sy in id 0 43 0.50 20 0.01 0.50 19 0.01 0.50 19 0.01 0.50 20 0.01 0.50 20 0.01 0 0 0 0 100 0 15 0.50 21 0.01 0.50 22 0.01 0.50 21 0.01 0.50 21 0.01 0.50 21 0.01 0 0 0 0 100 0 15 0.50 20 0.01 0.50 20 0.01 0.50 21 0.01 0.50 21 0.01 0.50 21 0.01 0 0 0 0 100 0 15 0.50 21 0.01 0.50 21 0.01 0.50 21 0.01 0.50 20 0.01 0.50 20 0.01 0 0 0 0 100