iSingle thread testing ===================== 1. Kmalloc: Repeatedly allocate then free test 10000 times kmalloc(8) -> 88 cycles kfree -> 101 cycles 10000 times kmalloc(16) -> 93 cycles kfree -> 101 cycles 10000 times kmalloc(32) -> 110 cycles kfree -> 103 cycles 10000 times kmalloc(64) -> 131 cycles kfree -> 113 cycles 10000 times kmalloc(128) -> 231 cycles kfree -> 126 cycles 10000 times kmalloc(256) -> 330 cycles kfree -> 179 cycles 10000 times kmalloc(512) -> 301 cycles kfree -> 266 cycles 10000 times kmalloc(1024) -> 371 cycles kfree -> 338 cycles 10000 times kmalloc(2048) -> 432 cycles kfree -> 374 cycles 10000 times kmalloc(4096) -> 338 cycles kfree -> 342 cycles 10000 times kmalloc(8192) -> 401 cycles kfree -> 411 cycles 10000 times kmalloc(16384) -> 489 cycles kfree -> 558 cycles 2. Kmalloc: alloc/free test 10000 times kmalloc(8)/kfree -> 146 cycles 10000 times kmalloc(16)/kfree -> 146 cycles 10000 times kmalloc(32)/kfree -> 146 cycles 10000 times kmalloc(64)/kfree -> 146 cycles 10000 times kmalloc(128)/kfree -> 146 cycles 10000 times kmalloc(256)/kfree -> 142 cycles 10000 times kmalloc(512)/kfree -> 142 cycles 10000 times kmalloc(1024)/kfree -> 144 cycles 10000 times kmalloc(2048)/kfree -> 144 cycles 10000 times kmalloc(4096)/kfree -> 385 cycles 10000 times kmalloc(8192)/kfree -> 600 cycles 10000 times kmalloc(16384)/kfree -> 634 cycles Concurrent allocs ================= Kmalloc N*alloc N*free(8): 0=91/100 1=92/104 2=90/100 3=96/106 4=93/100 5=95/104 6=97/102 7=96/101 Average=94/102 Kmalloc N*alloc N*free(16): 0=121/108 1=106/109 2=103/108 3=118/109 4=118/108 5=103/112 6=108/114 7=118/107 Average=112/109 Kmalloc N*alloc N*free(32): 0=155/119 1=141/117 2=138/120 3=151/120 4=156/119 5=136/120 6=136/118 7=153/116 Average=146/119 Kmalloc N*alloc N*free(64): 0=248/496 1=239/535 2=244/505 3=213/524 4=246/506 5=211/532 6=214/509 7=234/526 Average=231/517 Kmalloc N*alloc N*free(128): 0=417/430 1=402/436 2=409/430 3=418/415 4=413/434 5=406/412 6=409/430 7=411/422 Average=410/426 Kmalloc N*alloc N*free(256): 0=1121/1050 1=1243/1142 2=1100/1043 3=1244/1138 4=1149/1065 5=1231/1125 6=1161/1084 7=1255/1128 Average=1188/1097 Kmalloc N*alloc N*free(512): 0=1450/1455 1=1453/1420 2=1438/1460 3=1459/1429 4=1456/1454 5=1456/1446 6=1456/1453 7=1446/1452 Average=1452/1446 Kmalloc N*alloc N*free(1024): 0=2372/2400 1=2379/2379 2=2381/2407 3=2375/2407 4=2377/2421 5=2380/2387 6=2383/2409 7=2379/2359 Average=2378/2396 Kmalloc N*alloc N*free(2048): 0=2466/2463 1=2488/2408 2=2468/2460 3=2492/2413 4=2465/2472 5=2486/2241 6=2478/2456 7=2492/2437 Average=2479/2419 Kmalloc N*alloc N*free(4096): 0=11669/9512 1=11337/9233 2=11654/9521 3=11420/9176 4=11627/9512 5=11329/9415 6=11634/9489 7=11255/9478 Average=11491/9417 Kmalloc N*(alloc free)(8): 0=145 1=145 2=145 3=145 4=145 5=145 6=145 7=145 Average=145 Kmalloc N*(alloc free)(16): 0=145 1=145 2=145 3=145 4=145 5=145 6=145 7=145 Average=145 Kmalloc N*(alloc free)(32): 0=145 1=145 2=145 3=145 4=145 5=145 6=145 7=145 Average=145 Kmalloc N*(alloc free)(64): 0=145 1=145 2=145 3=145 4=145 5=145 6=145 7=145 Average=145 Kmalloc N*(alloc free)(128): 0=145 1=145 2=145 3=145 4=145 5=145 6=145 7=145 Average=145 Kmalloc N*(alloc free)(256): 0=149 1=149 2=149 3=149 4=147 5=147 6=149 7=147 Average=148 Kmalloc N*(alloc free)(512): 0=149 1=149 2=147 3=149 4=149 5=147 6=149 7=149 Average=148 Kmalloc N*(alloc free)(1024): 0=149 1=149 2=149 3=149 4=149 5=149 6=149 7=149 Average=149 Kmalloc N*(alloc free)(2048): 0=149 1=149 2=147 3=147 4=147 5=147 6=149 7=149 Average=148 Kmalloc N*(alloc free)(4096): 0=388 1=388 2=388 3=387 4=388 5=391 6=391 7=387 Average=389 Remote free test ================ N*remote free(8): 0=16/759 1=105/0 2=99/0 3=97/0 4=94/0 5=96/0 6=97/0 7=98/0 Average=88/95 N*remote free(16): 0=4/796 1=135/0 2=120/0 3=131/0 4=114/0 5=130/0 6=130/0 7=136/0 Average=113/99 N*remote free(32): 0=6/885 1=204/0 2=158/0 3=182/0 4=162/0 5=183/0 6=179/0 7=183/0 Average=157/110 N*remote free(64): 0=11/1408 1=290/0 2=220/0 3=307/0 4=251/0 5=293/0 6=256/0 7=308/0 Average=242/176 N*remote free(128): 0=10/1613 1=481/0 2=452/0 3=476/0 4=452/0 5=483/0 6=434/0 7=480/0 Average=408/201 N*remote free(256): 0=10/1979 1=883/0 2=775/0 3=878/0 4=843/0 5=875/0 6=862/0 7=890/0 Average=752/247 N*remote free(512): 0=8/2173 1=1165/0 2=1148/0 3=1155/0 4=1150/0 5=1155/0 6=1145/0 7=1148/0 Average=1009/271 N*remote free(1024): 0=14/2612 1=1993/0 2=1991/0 3=1989/0 4=1989/0 5=1990/0 6=1981/0 7=1994/0 Average=1743/326 N*remote free(2048): 0=7/3042 1=2118/0 2=2113/0 3=2127/0 4=2133/0 5=2122/0 6=2129/0 7=2127/0 Average=1859/380 N*remote free(4096): 0=6/3898 1=6022/0 2=3548/0 3=6024/0 4=3888/0 5=6045/0 6=3820/0 7=6042/0 Average=4424/487 Single thread testing ===================== 1. Kmalloc: Repeatedly allocate then free test 10000 times kmalloc(8) -> 85 cycles kfree -> 99 cycles 10000 times kmalloc(16) -> 94 cycles kfree -> 101 cycles 10000 times kmalloc(32) -> 114 cycles kfree -> 103 cycles 10000 times kmalloc(64) -> 134 cycles kfree -> 111 cycles 10000 times kmalloc(128) -> 226 cycles kfree -> 126 cycles 10000 times kmalloc(256) -> 320 cycles kfree -> 163 cycles 10000 times kmalloc(512) -> 251 cycles kfree -> 240 cycles 10000 times kmalloc(1024) -> 348 cycles kfree -> 344 cycles 10000 times kmalloc(2048) -> 418 cycles kfree -> 374 cycles 10000 times kmalloc(4096) -> 309 cycles kfree -> 341 cycles 10000 times kmalloc(8192) -> 382 cycles kfree -> 405 cycles 10000 times kmalloc(16384) -> 490 cycles kfree -> 509 cycles 2. Kmalloc: alloc/free test 10000 times kmalloc(8)/kfree -> 146 cycles 10000 times kmalloc(16)/kfree -> 146 cycles 10000 times kmalloc(32)/kfree -> 146 cycles 10000 times kmalloc(64)/kfree -> 146 cycles 10000 times kmalloc(128)/kfree -> 146 cycles 10000 times kmalloc(256)/kfree -> 144 cycles 10000 times kmalloc(512)/kfree -> 144 cycles 10000 times kmalloc(1024)/kfree -> 144 cycles 10000 times kmalloc(2048)/kfree -> 144 cycles 10000 times kmalloc(4096)/kfree -> 385 cycles 10000 times kmalloc(8192)/kfree -> 587 cycles 10000 times kmalloc(16384)/kfree -> 630 cycles Concurrent allocs ================= Kmalloc N*alloc N*free(8): 0=94/100 1=89/102 2=94/102 3=92/101 4=93/101 5=95/101 6=99/101 7=95/100 Average=94/101 Kmalloc N*alloc N*free(16): 0=123/107 1=110/105 2=103/106 3=122/106 4=118/106 5=110/103 6=108/107 7=120/105 Average=114/106 Kmalloc N*alloc N*free(32): 0=145/123 1=142/121 2=141/123 3=156/122 4=141/124 5=141/121 6=153/123 7=136/122 Average=144/122 Kmalloc N*alloc N*free(64): 0=240/535 1=247/541 2=251/517 3=256/533 4=238/522 5=237/532 6=245/538 7=231/543 Average=243/533 Kmalloc N*alloc N*free(128): 0=434/450 1=421/428 2=418/444 3=440/421 4=427/451 5=410/432 6=419/464 7=434/422 Average=425/439 Kmalloc N*alloc N*free(256): 0=1198/1107 1=1212/1151 2=1176/1131 3=1228/1134 4=1199/1091 5=1246/1132 6=1197/1103 7=1228/1143 Average=1210/1124 Kmalloc N*alloc N*free(512): 0=391/1464 1=1337/1473 2=1302/1483 3=1337/1485 4=1350/1465 5=1340/1487 6=1345/1459 7=1331/1471 Average=1216/1473 Kmalloc N*alloc N*free(1024): 0=2377/2409 1=2374/2366 2=2372/2422 3=2368/2351 4=2378/2407 5=2375/2350 6=2368/2410 7=2372/2380 Average=2373/2387 Kmalloc N*alloc N*free(2048): 0=2445/2476 1=2475/2459 2=2471/2479 3=2483/2419 4=2482/2466 5=2457/2257 6=2480/2468 7=2476/2444 Average=2471/2433 Kmalloc N*alloc N*free(4096): 0=11829/8845 1=11570/9131 2=11837/8797 3=11786/9062 4=11822/8913 5=11488/9179 6=11816/9000 7=11519/9177 Average=11708/9013 Kmalloc N*(alloc free)(8): 0=147 1=145 2=145 3=145 4=145 5=145 6=145 7=145 Average=145 Kmalloc N*(alloc free)(16): 0=145 1=145 2=145 3=145 4=145 5=145 6=145 7=145 Average=145 Kmalloc N*(alloc free)(32): 0=147 1=145 2=145 3=145 4=145 5=145 6=145 7=145 Average=145 Kmalloc N*(alloc free)(64): 0=145 1=145 2=145 3=145 4=145 5=145 6=145 7=145 Average=145 Kmalloc N*(alloc free)(128): 0=147 1=145 2=145 3=145 4=145 5=145 6=145 7=145 Average=145 Kmalloc N*(alloc free)(256): 0=147 1=149 2=147 3=149 4=147 5=147 6=149 7=149 Average=148 Kmalloc N*(alloc free)(512): 0=149 1=147 2=149 3=149 4=149 5=149 6=149 7=149 Average=148 Kmalloc N*(alloc free)(1024): 0=147 1=149 2=149 3=149 4=149 5=147 6=149 7=149 Average=148 Kmalloc N*(alloc free)(2048): 0=149 1=149 2=149 3=149 4=149 5=149 6=149 7=147 Average=148 Kmalloc N*(alloc free)(4096): 0=388 1=388 2=393 3=395 4=391 5=385 6=380 7=383 Average=388 Remote free test ================ N*remote free(8): 0=23/758 1=94/0 2=109/0 3=106/0 4=99/0 5=96/0 6=95/0 7=95/0 Average=90/94 N*remote free(16): 0=5/801 1=109/0 2=109/0 3=112/0 4=129/0 5=132/0 6=129/0 7=133/0 Average=107/100 N*remote free(32): 0=6/895 1=194/0 2=150/0 3=162/0 4=175/0 5=183/0 6=186/0 7=191/0 Average=156/111 N*remote free(64): 0=7/1418 1=311/0 2=230/0 3=311/0 4=284/0 5=293/0 6=268/0 7=314/0 Average=252/177 N*remote free(128): 0=9/1636 1=478/0 2=452/0 3=470/0 4=444/0 5=472/0 6=468/0 7=484/0 Average=410/204 N*remote free(256): 0=10/1973 1=867/0 2=780/0 3=866/0 4=844/0 5=853/0 6=842/0 7=883/0 Average=743/246 N*remote free(512): 0=10/2168 1=1160/0 2=1161/0 3=1151/0 4=1143/0 5=1160/0 6=1151/0 7=1163/0 Average=1012/271 N*remote free(1024): 0=16/2614 1=1991/0 2=1982/0 3=1990/0 4=1980/0 5=1989/0 6=1989/0 7=1995/0 Average=1741/326 N*remote free(2048): 0=7/3048 1=2104/0 2=2098/0 3=2108/0 4=2104/0 5=2106/0 6=2095/0 7=2110/0 Average=1841/381 N*remote free(4096): 0=10/3889 1=5942/0 2=3225/0 3=5906/0 4=3664/0 5=5953/0 6=3485/0 7=5957/0 Average=4268/486