Single thread testing ===================== 1. Kmalloc: Repeatedly allocate then free test 10000 times kmalloc(8) -> 294 cycles kfree -> 344 cycles 10000 times kmalloc(16) -> 213 cycles kfree -> 271 cycles 10000 times kmalloc(32) -> 207 cycles kfree -> 280 cycles 10000 times kmalloc(64) -> 249 cycles kfree -> 326 cycles 10000 times kmalloc(128) -> 310 cycles kfree -> 334 cycles 10000 times kmalloc(256) -> 461 cycles kfree -> 417 cycles 10000 times kmalloc(512) -> 493 cycles kfree -> 468 cycles 10000 times kmalloc(1024) -> 691 cycles kfree -> 637 cycles 10000 times kmalloc(2048) -> 735 cycles kfree -> 695 cycles 10000 times kmalloc(4096) -> 692 cycles kfree -> 759 cycles 10000 times kmalloc(8192) -> 962 cycles kfree -> 914 cycles 10000 times kmalloc(16384) -> 1361 cycles kfree -> 1035 cycles 2. Kmalloc: alloc/free test 10000 times kmalloc(8)/kfree -> 335 cycles 10000 times kmalloc(16)/kfree -> 326 cycles 10000 times kmalloc(32)/kfree -> 326 cycles 10000 times kmalloc(64)/kfree -> 319 cycles 10000 times kmalloc(128)/kfree -> 318 cycles 10000 times kmalloc(256)/kfree -> 332 cycles 10000 times kmalloc(512)/kfree -> 342 cycles 10000 times kmalloc(1024)/kfree -> 349 cycles 10000 times kmalloc(2048)/kfree -> 332 cycles 10000 times kmalloc(4096)/kfree -> 661 cycles 10000 times kmalloc(8192)/kfree -> 1187 cycles 10000 times kmalloc(16384)/kfree -> 1285 cycles Concurrent allocs ================= Kmalloc N*alloc N*free(8): 0=538/451 1=544/449 Average=541/450 Kmalloc N*alloc N*free(16): 0=438/359 1=443/354 Average=441/357 Kmalloc N*alloc N*free(32): 0=268/365 1=272/367 Average=270/366 Kmalloc N*alloc N*free(64): 0=612/499 1=626/505 Average=619/502 Kmalloc N*alloc N*free(128): 0=567/792 1=569/799 Average=568/796 Kmalloc N*alloc N*free(256): 0=784/1199 1=794/1197 Average=789/1198 Kmalloc N*alloc N*free(512): 0=932/2056 1=940/2051 Average=936/2054 Kmalloc N*alloc N*free(1024): 0=1468/1070 1=1461/1069 Average=1465/1070 Kmalloc N*alloc N*free(2048): 0=1214/1244 1=1216/1252 Average=1215/1248 Kmalloc N*alloc N*free(4096): 0=997/1430 1=999/1426 Average=998/1428 Kmalloc N*(alloc free)(8): 0=379 1=381 Average=380 Kmalloc N*(alloc free)(16): 0=525 1=526 Average=526 Kmalloc N*(alloc free)(32): 0=387 1=382 Average=384 Kmalloc N*(alloc free)(64): 0=394 1=395 Average=394 Kmalloc N*(alloc free)(128): 0=531 1=533 Average=532 Kmalloc N*(alloc free)(256): 0=401 1=402 Average=401 Kmalloc N*(alloc free)(512): 0=499 1=501 Average=500 Kmalloc N*(alloc free)(1024): 0=492 1=491 Average=491 Kmalloc N*(alloc free)(2048): 0=506 1=507 Average=506 Kmalloc N*(alloc free)(4096): 0=1054 1=1055 Average=1054 Remote free test ================ N*remote free(8): 0=27/304 1=223/0 Average=125/152 N*remote free(16): 0=27/296 1=224/0 Average=125/148 N*remote free(32): 0=27/301 1=243/0 Average=135/150 N*remote free(64): 0=20/314 1=287/0 Average=153/157 N*remote free(128): 0=19/344 1=377/0 Average=198/172 N*remote free(256): 0=17/469 1=502/0 Average=260/234 N*remote free(512): 0=10/486 1=519/0 Average=264/243 N*remote free(1024): 0=10/664 1=654/0 Average=332/332 N*remote free(2048): 0=15/709 1=725/0 Average=370/354 N*remote free(4096): 0=10/707 1=539/0 Average=275/353 test init Single thread testing ===================== 1. Kmalloc: Repeatedly allocate then free test 10000 times kmalloc(8) -> 292 cycles kfree -> 325 cycles 10000 times kmalloc(16) -> 203 cycles kfree -> 273 cycles 10000 times kmalloc(32) -> 215 cycles kfree -> 276 cycles 10000 times kmalloc(64) -> 240 cycles kfree -> 315 cycles 10000 times kmalloc(128) -> 307 cycles kfree -> 321 cycles 10000 times kmalloc(256) -> 425 cycles kfree -> 458 cycles 10000 times kmalloc(512) -> 673 cycles kfree -> 519 cycles 10000 times kmalloc(1024) -> 627 cycles kfree -> 656 cycles 10000 times kmalloc(2048) -> 678 cycles kfree -> 694 cycles 10000 times kmalloc(4096) -> 524 cycles kfree -> 680 cycles 10000 times kmalloc(8192) -> 618 cycles kfree -> 894 cycles 10000 times kmalloc(16384) -> 776 cycles kfree -> 1088 cycles 2. Kmalloc: alloc/free test 10000 times kmalloc(8)/kfree -> 350 cycles 10000 times kmalloc(16)/kfree -> 326 cycles 10000 times kmalloc(32)/kfree -> 330 cycles 10000 times kmalloc(64)/kfree -> 324 cycles 10000 times kmalloc(128)/kfree -> 325 cycles 10000 times kmalloc(256)/kfree -> 336 cycles 10000 times kmalloc(512)/kfree -> 336 cycles 10000 times kmalloc(1024)/kfree -> 346 cycles 10000 times kmalloc(2048)/kfree -> 339 cycles 10000 times kmalloc(4096)/kfree -> 667 cycles 10000 times kmalloc(8192)/kfree -> 1234 cycles 10000 times kmalloc(16384)/kfree -> 1378 cycles Concurrent allocs ================= Kmalloc N*alloc N*free(8): 0=319/466 1=312/463 Average=315/465 Kmalloc N*alloc N*free(16): 0=327/461 1=324/461 Average=325/461 Kmalloc N*alloc N*free(32): 0=865/470 1=859/471 Average=862/470 Kmalloc N*alloc N*free(64): 0=352/398 1=341/400 Average=347/399 Kmalloc N*alloc N*free(128): 0=546/715 1=551/719 Average=549/717 Kmalloc N*alloc N*free(256): 0=758/862 1=753/871 Average=755/867 Kmalloc N*alloc N*free(512): 0=956/2278 1=961/2282 Average=959/2280 Kmalloc N*alloc N*free(1024): 0=1637/4852 1=1634/4850 Average=1635/4851 Kmalloc N*alloc N*free(2048): 0=1352/1301 1=1329/1270 Average=1341/1285 Kmalloc N*alloc N*free(4096): 0=1012/1443 1=1015/1429 Average=1013/1436 Kmalloc N*(alloc free)(8): 0=523 1=523 Average=523 Kmalloc N*(alloc free)(16): 0=522 1=523 Average=523 Kmalloc N*(alloc free)(32): 0=521 1=523 Average=522 Kmalloc N*(alloc free)(64): 0=520 1=516 Average=518 Kmalloc N*(alloc free)(128): 0=520 1=522 Average=521 Kmalloc N*(alloc free)(256): 0=504 1=504 Average=504 Kmalloc N*(alloc free)(512): 0=493 1=494 Average=493 Kmalloc N*(alloc free)(1024): 0=506 1=507 Average=507 Kmalloc N*(alloc free)(2048): 0=398 1=399 Average=399 Kmalloc N*(alloc free)(4096): 0=1876 1=1859 Average=1868 Remote free test ================ N*remote free(8): 0=28/293 1=227/0 Average=127/146 N*remote free(16): 0=27/296 1=225/0 Average=126/148 N*remote free(32): 0=11/301 1=245/0 Average=128/150 N*remote free(64): 0=24/403 1=283/0 Average=154/201 N*remote free(128): 0=21/349 1=361/0 Average=191/175 N*remote free(256): 0=18/414 1=568/0 Average=293/207 N*remote free(512): 0=15/495 1=537/0 Average=276/247 N*remote free(1024): 0=17/683 1=659/0 Average=338/341 N*remote free(2048): 0=16/713 1=702/0 Average=359/356 N*remote free(4096): 0=14/707 1=553/0 Average=284/353