TCP out-of-order receive dstat test logs
The setup is same as TCP Window Size and RX Csum Offload Benchmark except with following netem parameters bind to the server interface.
tc qdisc add dev eth0 root netem loss 0.3% 25% duplicate 1% delay 10ms reorder 25% 50%
Following test shows the result of this patch: http://git.etherboot.org/?p=people/cooldavid/gpxe.git;a=commitdiff;h=78c30a86d60de1641595282a6333b3665c2cb091
''datat'' output on server before patch, with rxcso, 64k win
----total-cpu-usage---- -dsk/total- --net/eth0- ---paging-- ---system-- usr sys idl wai hiq siq| read writ| recv send| in out | int csw 2 0 98 0 0 0| 0 0 |6864B 154k| 0 0 |1187 1288 2 0 98 0 0 0| 0 0 |5148B 115k| 0 0 |1072 1322 1 0 99 0 0 0| 0 120k| 14k 328k| 0 0 |1274 1375 1 0 99 0 0 0| 0 0 | 11k 245k| 0 0 |1157 1322 1 1 98 0 0 0| 0 0 | 12k 273k| 0 0 |1265 1349 1 0 99 0 0 0| 0 0 |6996B 157k| 0 0 |1074 1314 1 1 98 0 0 0| 0 0 |7788B 174k| 0 0 |1166 1337 1 0 98 0 0 0| 0 0 |5082B 114k| 0 0 |1082 1264 1 0 98 0 0 0| 0 0 |8316B 186k| 0 0 |1192 1302 1 0 99 0 0 0| 0 0 |8976B 201k| 0 0 |1171 1300 1 1 98 0 0 0| 0 0 | 13k 288k| 0 0 |1247 1337 1 0 98 0 0 0| 0 0 | 10k 235k| 0 0 |1201 1343 1 1 98 0 0 0| 0 0 |6138B 138k| 0 0 |1170 1321 2 0 98 0 0 0| 0 0 |5346B 120k| 0 0 |1142 1287 2 1 98 0 0 0| 0 0 |7260B 163k| 0 0 |1227 1354 2 0 98 0 0 0| 0 0 |8580B 192k| 0 0 |1238 1322 2 0 98 0 0 0| 0 0 |9174B 206k| 0 0 |1214 1328 2 0 98 0 0 0| 0 104k|6996B 157k| 0 0 |1181 1293 2 0 97 0 0 0| 0 0 |7326B 164k| 0 0 |1203 1325 1 0 98 0 0 0| 0 0 |3234B 72k| 0 0 |1068 1282 2 0 98 0 0 0| 0 0 | 11k 248k| 0 0 |1322 1350 1 0 98 0 0 0| 0 0 |7062B 158k| 0 0 |1118 1301 2 0 98 0 0 0| 0 0 |7458B 166k| 0 0 |1185 1327 2 0 98 0 0 0| 0 0 |9570B 213k| 0 0 |1210 1297 2 0 98 0 0 0| 0 0 |7722B 173k| 0 0 |1221 1323 1 0 98 0 0 0| 0 0 |7986B 179k| 0 0 |1163 1316 2 1 98 0 0 0| 0 0 |9240B 207k| 0 0 |1230 1324 2 0 98 0 0 0| 0 56k|3828B 86k| 0 0 |1074 1259 2 0 98 0 0 0| 0 0 |8184B 183k| 0 0 |1181 1368 2 0 97 0 0 0| 0 0 | 15k 347k| 0 0 |1337 1328 1 0 98 0 0 0| 0 0 |9834B 220k| 0 0 |1274 1367 2 0 98 0 0 0| 0 0 |8382B 188k| 0 0 |1160 1310 2 0 98 0 0 0| 0 112k| 16k 371k| 0 0 |1436 1375 2 0 98 0 0 0| 0 0 | 12k 275k| 0 0 |1228 1285 1 0 98 0 0 0| 0 0 | 15k 339k| 0 0 |1314 1336 2 0 98 0 0 0| 0 0 | 16k 361k| 0 0 |1330 1321 2 0 98 0 0 0| 0 0 | 10k 234k| 0 0 |1243 1347 1 1 98 0 0 0| 0 0 |2970B 67k| 0 0 | 984 1236 1 0 98 0 0 0| 0 0 |6600B 148k| 0 0 |1156 1304 2 0 98 0 0 0| 0 0 |3432B 77k| 0 0 |1053 1289 2 0 98 0 0 0| 0 0 | 11k 260k| 0 0 |1309 1338 2 0 98 0 0 0| 0 0 |8910B 200k| 0 0 |1212 1350 2 0 98 0 0 0| 0 0 | 12k 268k| 0 0 |1275 1330 2 0 97 0 0 0| 0 0 |8712B 195k| 0 0 |1160 1263 1 0 98 0 0 0| 0 40k| 21k 479k| 0 0 |1486 1552 1 0 98 0 0 0| 0 0 | 13k 288k| 0 0 |1225 1285 2 0 98 0 0 0| 0 0 | 14k 330k| 0 0 |1333 1283 2 0 98 0 0 0| 0 0 |7722B 173k| 0 0 |1124 1314 1 1 98 0 0 0| 0 0 | 10k 237k| 0 0 |1191 1325 2 0 98 0 0 0| 0 0 | 14k 321k| 0 0 |1226 1285 2 0 98 0 0 0| 0 24k|6138B 138k| 0 0 |1198 1312 1 0 98 0 0 0| 0 0 | 10k 232k| 0 0 |1167 1315 1 0 98 0 0 0| 0 0 |6930B 155k| 0 0 |1134 1319 2 1 97 0 0 0|8192B 0 |8646B 194k| 0 0 |1231 1339 1 0 98 0 0 0| 0 0 | 13k 306k| 0 0 |1321 1320 1 1 98 0 0 0| 0 0 |5082B 114k| 0 0 |1084 1307 4 0 95 0 0 0| 0 88k|9834B 220k| 0 0 |1417 1366 1 0 98 0 0 0| 0 0 |6600B 148k| 0 0 |1124 1311 2 0 98 0 0 0| 0 0 |8910B 200k| 0 0 |1239 1348 2 0 98 0 0 0| 0 0 | 10k 234k| 0 0 |1286 1409 1 0 98 0 0 0| 0 0 | 11k 241k| 0 0 |1283 1348 2 0 98 0 0 0| 0 0 |9834B 220k| 0 0 |1235 1340 1 0 98 0 0 0| 0 88k| 14k 328k| 0 0 |1290 1321 1 0 99 0 0 0| 0 0 | 16k 359k| 0 0 |1266 1325 1 0 98 0 0 0| 0 0 | 13k 293k| 0 0 |1236 1279 1 0 99 0 0 0| 0 0 | 11k 247k| 0 0 |1170 1283 1 0 98 0 0 0| 0 0 |5676B 127k| 0 0 |1106 1317 1 0 99 0 0 0| 0 0 |9570B 214k| 0 0 |1160 1298 1 0 99 0 0 0| 0 0 |7656B 172k| 0 0 |1133 1339 1 0 98 0 0 0| 0 0 |7194B 161k| 0 0 |1154 1303 1 0 99 0 0 0| 0 0 |6864B 154k| 0 0 |1159 1341 1 0 98 0 0 0| 0 0 | 16k 359k| 0 0 |1366 1405 2 0 98 0 0 0| 0 0 | 11k 263k| 0 0 |1324 1369 2 0 98 0 0 0| 0 0 |8250B 185k| 0 0 |1256 1390 2 0 97 0 0 0| 0 0 | 11k 245k| 0 0 |1382 1369 1 0 98 0 0 0| 0 0 |9570B 214k| 0 0 |1217 1362 2 0 98 0 0 0| 0 0 |7722B 173k| 0 0 |1212 1330 2 0 98 0 0 0| 0 184k|6270B 140k| 0 0 |1238 1322 2 0 98 0 0 0| 0 0 | 12k 276k| 0 0 |1310 1331 1 0 98 0 0 0| 0 0 |6996B 157k| 0 0 |1125 1309 1 0 98 0 0 0| 0 0 |4554B 102k| 0 0 |1128 1299 2 1 97 0 0 0| 0 0 | 14k 310k| 0 0 |1303 1336 2 1 98 0 0 0| 0 0 |5940B 133k| 0 0 |1145 1316 1 0 98 0 0 0| 0 0 | 13k 296k| 0 0 |1263 1346 2 1 97 0 0 0| 0 0 |8778B 197k| 0 0 |1298 1361 2 0 97 0 0 0| 0 0 |4092B 92k| 0 0 |1214 1336 2 0 97 0 0 0| 0 0 |7458B 167k| 0 0 |1259 1349 2 0 98 0 0 0| 0 56k|9438B 211k| 0 0 |1289 1328 2 0 98 0 0 0| 0 0 |7326B 164k| 0 0 |1222 1353 2 1 97 0 0 0| 0 0 | 10k 232k| 0 0 |1597 2734 2 1 97 0 0 0| 0 0 |9372B 210k| 0 0 |1568 2169 2 0 98 0 0 0| 0 0 | 10k 232k| 0 0 |1294 1385 1 0 98 0 0 0| 0 160k| 12k 276k| 0 0 |1234 1323 2 0 98 0 0 0| 0 0 | 15k 350k| 0 0 |1334 1333 2 0 98 0 0 0| 0 0 |6930B 155k| 0 0 |1172 1356 2 0 98 0 0 0| 0 0 | 10k 240k| 0 0 |1231 1288 2 1 97 0 0 0| 0 0 |5082B 114k| 0 0 |1156 1323 2 0 98 0 0 0| 0 0 |8316B 186k| 0 0 |1159 1307 2 0 98 0 0 0| 0 48k|9042B 203k| 0 0 |1213 1339 2 0 98 0 0 0| 0 0 | 10k 234k| 0 0 |1202 1304 2 1 97 0 0 0| 0 0 |5874B 132k| 0 0 |1184 1339 2 0 98 0 0 0| 0 0 |5676B 127k| 0 0 |1136 1324 2 0 98 0 0 0| 0 0 |7788B 174k| 0 0 |1197 1316 ....... cutted
''datat'' output on server after patched, with rxcso, 64k win
----total-cpu-usage---- -dsk/total- --net/eth0- ---paging-- ---system-- usr sys idl wai hiq siq| read writ| recv send| in out | int csw 2 1 97 0 0 0| 0 0 | 158k 3621k| 0 0 |3951 5610 2 1 97 0 0 0| 0 0 | 288k 6596k| 0 0 |7099 14k 3 1 95 0 0 1| 0 0 | 288k 6612k| 0 0 |7653 13k 2 1 97 0 0 0| 0 0 | 290k 6658k| 0 0 |7464 13k 3 1 94 1 0 1| 0 6400k| 287k 6590k| 0 0 |7527 11k 3 1 95 0 0 0| 0 0 | 287k 6590k| 0 0 |7414 13k 3 1 96 0 0 0| 0 0 | 291k 6673k| 0 0 |7250 13k 2 1 97 0 0 1| 0 0 | 287k 6594k| 0 0 |7462 13k 2 1 96 0 0 1| 0 0 | 288k 6599k| 0 0 |7379 14k 2 1 96 0 0 1| 0 0 | 291k 6674k| 0 0 |7692 13k 2 1 95 1 0 0| 0 9944k| 287k 6588k| 0 0 |7759 13k 3 1 96 0 0 0| 0 0 | 288k 6599k| 0 0 |7546 14k 2 1 96 0 0 1| 0 0 | 290k 6646k| 0 0 |7918 14k 2 2 96 0 0 0| 0 0 | 287k 6591k| 0 0 |7799 13k 2 1 96 0 0 1| 0 0 | 289k 6630k| 0 0 |8008 13k 2 1 96 0 0 0| 0 0 | 290k 6641k| 0 0 |7917 12k 2 1 95 1 0 0| 0 9.9M| 288k 6610k| 0 0 |7833 13k 2 1 96 0 0 0| 0 0 | 287k 6591k| 0 0 |7401 13k 2 1 96 0 0 0| 0 0 | 290k 6646k| 0 0 |7643 17k 2 1 97 0 0 0| 0 0 | 287k 6593k| 0 0 |7346 14k 2 1 96 0 0 0| 0 0 | 287k 6594k| 0 0 |7568 13k 2 1 96 0 0 0| 0 0 | 290k 6643k| 0 0 |7557 14k 2 1 94 1 0 0| 0 9944k| 288k 6602k| 0 0 |7620 13k 2 1 96 0 0 1| 0 0 | 288k 6618k| 0 0 |7684 11k 9 2 89 0 0 1| 0 160k| 290k 6646k| 0 0 |8222 15k 11 1 86 0 0 1| 0 0 | 288k 6615k| 0 0 |8015 17k 3 1 96 0 0 1| 0 0 | 288k 6600k| 0 0 |7735 14k 2 1 96 0 0 0| 0 0 | 290k 6643k| 0 0 |7764 13k 2 1 95 1 0 0| 0 9944k| 289k 6624k| 0 0 |7797 14k 2 1 96 0 0 0| 0 0 | 288k 6602k| 0 0 |7818 13k 2 1 96 0 0 1| 0 0 | 289k 6639k| 0 0 |7538 12k 3 1 96 0 0 0| 0 0 | 289k 6622k| 0 0 |7679 12k 2 1 96 0 0 1| 0 0 | 287k 6594k| 0 0 |7717 13k 2 1 96 0 0 0| 0 0 | 290k 6646k| 0 0 |7829 13k 2 2 95 1 0 1| 0 9.9M| 289k 6631k| 0 0 |7817 12k 3 1 96 0 0 0| 0 0 | 286k 6568k| 0 0 |7462 15k 2 1 96 0 0 0| 0 0 | 290k 6647k| 0 0 |7642 13k 2 1 97 0 0 0| 0 0 | 289k 6636k| 0 0 |7438 12k 2 1 96 0 0 0| 0 0 | 288k 6605k| 0 0 |7512 12k 2 1 97 0 0 0| 0 0 | 289k 6628k| 0 0 |7858 12k 2 1 95 2 0 0| 0 9824k| 290k 6641k| 0 0 |8045 13k 2 1 96 0 0 0| 0 0 | 288k 6612k| 0 0 |8012 13k 3 1 96 0 0 1| 0 0 | 288k 6602k| 0 0 |8187 14k 2 1 96 0 0 1| 0 0 | 289k 6633k| 0 0 |8090 14k 3 1 96 0 0 1| 0 112k| 288k 6609k| 0 0 |7856 12k 2 1 96 0 0 0| 0 0 | 288k 6616k| 0 0 |7756 12k 2 1 96 0 0 0| 0 9.9M| 290k 6646k| 0 0 |7723 14k 2 1 96 0 0 0| 0 0 | 288k 6602k| 0 0 |7675 16k 2 1 96 0 0 0| 0 0 | 289k 6637k| 0 0 |8029 16k 2 1 96 0 0 1| 0 48k| 288k 6605k| 0 0 |7982 13k 2 1 96 0 0 0| 0 0 | 288k 6606k| 0 0 |7786 13k 2 1 96 0 0 1| 0 0 | 288k 6610k| 0 0 |7997 13k 3 1 94 1 0 0| 0 9936k| 289k 6627k| 0 0 |8172 14k 2 1 96 0 0 0| 0 0 | 288k 6615k| 0 0 |7745 13k 3 1 96 0 0 1| 0 0 | 288k 6618k| 0 0 |7822 13k 2 1 96 0 0 1| 0 0 | 290k 6647k| 0 0 |7730 11k 2 1 96 0 0 1| 0 0 | 288k 6596k| 0 0 |7984 14k 2 1 96 0 0 0| 0 0 | 290k 6643k| 0 0 |7811 12k 2 1 95 1 0 1| 0 9952k| 287k 6588k| 0 0 |7804 16k 2 1 96 0 0 0| 0 160k| 289k 6619k| 0 0 |7815 14k 2 1 96 0 0 0| 0 0 | 288k 6615k| 0 0 |7986 13k 2 1 96 0 0 1| 0 0 | 289k 6619k| 0 0 |7794 13k 9 2 88 0 0 1| 0 0 | 289k 6637k| 0 0 |8206 16k 2 1 96 0 0 0| 0 0 | 288k 6605k| 0 0 |7630 16k 2 1 95 1 0 1| 0 9.8M| 290k 6647k| 0 0 |7812 13k 3 1 96 0 0 0| 0 0 | 288k 6610k| 0 0 |7695 11k 2 1 96 0 0 0| 0 0 | 288k 6596k| 0 0 |7512 11k 2 1 97 0 0 0| 0 0 | 289k 6637k| 0 0 |7550 14k 3 1 96 0 0 0| 0 0 | 288k 6606k| 0 0 |7742 13k 2 1 96 0 0 0| 0 0 | 288k 6616k| 0 0 |7500 11k 2 1 95 1 0 0| 0 9816k| 289k 6634k| 0 0 |7959 15k 2 1 96 0 0 0| 0 0 | 288k 6610k| 0 0 |7950 15k 2 1 96 0 0 0| 0 0 | 288k 6607k| 0 0 |7957 13k 2 1 96 0 0 0| 0 0 | 288k 6612k| 0 0 |8087 14k 2 1 96 0 0 0| 0 0 | 288k 6596k| 0 0 |8093 14k 2 1 96 0 0 0| 0 0 | 288k 6599k| 0 0 |7924 13k 2 1 95 1 0 0| 0 9960k| 288k 6596k| 0 0 |8067 15k 2 1 96 0 0 1| 0 0 | 289k 6640k| 0 0 |7704 15k 2 1 97 0 0 0| 0 0 | 288k 6613k| 0 0 |7633 13k 2 1 96 0 0 0| 0 0 | 289k 6625k| 0 0 |7225 15k 2 1 96 0 0 0| 0 0 | 289k 6624k| 0 0 |7557 15k 2 1 96 0 0 1| 0 0 | 288k 6602k| 0 0 |7383 11k 2 1 96 1 0 0| 0 9768k| 51k 1163k| 0 0 |2254 2980