Single thread testing ===================== 1. Kmalloc: Repeatedly allocate then free test 10000 times kmalloc(8) -> 114 cycles kfree -> 133 cycles 10000 times kmalloc(16) -> 108 cycles kfree -> 143 cycles 10000 times kmalloc(32) -> 120 cycles kfree -> 150 cycles 10000 times kmalloc(64) -> 124 cycles kfree -> 156 cycles 10000 times kmalloc(128) -> 139 cycles kfree -> 253 cycles 10000 times kmalloc(256) -> 191 cycles kfree -> 336 cycles 10000 times kmalloc(512) -> 203 cycles kfree -> 361 cycles 10000 times kmalloc(1024) -> 266 cycles kfree -> 428 cycles 10000 times kmalloc(2048) -> 312 cycles kfree -> 463 cycles 10000 times kmalloc(4096) -> 338 cycles kfree -> 464 cycles 10000 times kmalloc(8192) -> 405 cycles kfree -> 495 cycles 10000 times kmalloc(16384) -> 480 cycles kfree -> 323 cycles 10000 times kmalloc(32768) -> 617 cycles kfree -> 429 cycles 10000 times kmalloc(65536) -> 762 cycles kfree -> 534 cycles 2. Kmalloc: alloc/free test 10000 times kmalloc(8)/kfree -> 139 cycles 10000 times kmalloc(16)/kfree -> 139 cycles 10000 times kmalloc(32)/kfree -> 140 cycles 10000 times kmalloc(64)/kfree -> 139 cycles 10000 times kmalloc(128)/kfree -> 139 cycles 10000 times kmalloc(256)/kfree -> 150 cycles 10000 times kmalloc(512)/kfree -> 150 cycles 10000 times kmalloc(1024)/kfree -> 150 cycles 10000 times kmalloc(2048)/kfree -> 150 cycles 10000 times kmalloc(4096)/kfree -> 151 cycles 10000 times kmalloc(8192)/kfree -> 151 cycles 10000 times kmalloc(16384)/kfree -> 445 cycles 10000 times kmalloc(32768)/kfree -> 888 cycles 10000 times kmalloc(65536)/kfree -> 959 cycles Concurrent allocs ================= Kmalloc N*alloc N*free(8): 0=122/152 1=112/137 2=140/139 3=136/138 4=128/140 5=127/138 6=133/138 7=129/150 Average=129/142 Kmalloc N*alloc N*free(16): 0=119/147 1=112/147 2=114/150 3=137/146 4=117/148 5=117/147 6=140/148 7=116/151 Average=121/148 Kmalloc N*alloc N*free(32): 0=124/154 1=123/156 2=129/156 3=147/154 4=123/155 5=131/156 6=131/157 7=129/154 Average=130/155 Kmalloc N*alloc N*free(64): 0=152/164 1=146/166 2=137/214 3=149/211 4=167/163 5=163/164 6=143/194 7=143/190 Average=150/183 Kmalloc N*alloc N*free(128): 0=199/184 1=194/196 2=167/181 3=165/181 4=211/178 5=180/188 6=168/187 7=171/189 Average=182/186 Kmalloc N*alloc N*free(256): 0=257/393 1=252/389 2=218/258 3=218/236 4=245/254 5=227/256 6=228/243 7=230/257 Average=234/286 Kmalloc N*alloc N*free(512): 0=342/572 1=377/541 2=324/499 3=322/498 4=357/493 5=364/496 6=384/507 7=383/511 Average=357/514 Kmalloc N*alloc N*free(1024): 0=539/841 1=530/846 2=487/713 3=497/703 4=715/683 5=714/683 6=734/632 7=768/623 Average=623/715 Kmalloc N*alloc N*free(2048): 0=819/1544 1=818/1550 2=813/1051 3=817/1050 4=1405/1021 5=1370/1039 6=1676/913 7=1663/907 Average=1173/1135 Kmalloc N*alloc N*free(4096): 0=916/1321 1=934/1294 2=1068/949 3=1068/959 4=1388/1023 5=1396/1011 6=1409/1007 7=1427/996 Average=1201/1070 Kmalloc N*alloc N*free(8192): 0=988/1227 1=1004/1361 2=1124/1025 3=1123/1034 4=1372/1009 5=1384/1009 6=1432/999 7=1464/986 Average=1236/1081 Kmalloc N*alloc N*free(16384): 0=1732/3336 1=1718/3340 2=2308/2950 3=2305/2947 4=2552/3124 5=2541/3129 6=2653/2627 7=2637/2637 Average=2306/3011 Kmalloc N*(alloc free)(8): 0=141 1=141 2=142 3=141 4=142 5=141 6=142 7=141 Average=141 Kmalloc N*(alloc free)(16): 0=141 1=141 2=142 3=141 4=142 5=141 6=142 7=141 Average=141 Kmalloc N*(alloc free)(32): 0=141 1=141 2=143 3=141 4=142 5=141 6=142 7=141 Average=141 Kmalloc N*(alloc free)(64): 0=141 1=141 2=141 3=141 4=142 5=141 6=142 7=141 Average=141 Kmalloc N*(alloc free)(128): 0=141 1=141 2=141 3=141 4=142 5=141 6=142 7=141 Average=141 Kmalloc N*(alloc free)(256): 0=152 1=152 2=153 3=152 4=153 5=152 6=153 7=152 Average=152 Kmalloc N*(alloc free)(512): 0=152 1=152 2=153 3=152 4=153 5=152 6=153 7=152 Average=152 Kmalloc N*(alloc free)(1024): 0=152 1=152 2=153 3=152 4=153 5=152 6=153 7=152 Average=152 Kmalloc N*(alloc free)(2048): 0=152 1=152 2=152 3=152 4=153 5=152 6=152 7=152 Average=152 Kmalloc N*(alloc free)(4096): 0=153 1=153 2=154 3=152 4=154 5=152 6=154 7=152 Average=153 Kmalloc N*(alloc free)(8192): 0=153 1=153 2=154 3=153 4=154 5=153 6=154 7=153 Average=153 Kmalloc N*(alloc free)(16384): 0=485 1=486 2=487 3=484 4=493 5=494 6=496 7=493 Average=490 margin:/media/slub_test # sample 2 Single thread testing ===================== 1. Kmalloc: Repeatedly allocate then free test 10000 times kmalloc(8) -> 110 cycles kfree -> 139 cycles 10000 times kmalloc(16) -> 107 cycles kfree -> 143 cycles 10000 times kmalloc(32) -> 135 cycles kfree -> 150 cycles 10000 times kmalloc(64) -> 125 cycles kfree -> 157 cycles 10000 times kmalloc(128) -> 149 cycles kfree -> 181 cycles 10000 times kmalloc(256) -> 204 cycles kfree -> 332 cycles 10000 times kmalloc(512) -> 201 cycles kfree -> 381 cycles 10000 times kmalloc(1024) -> 270 cycles kfree -> 429 cycles 10000 times kmalloc(2048) -> 314 cycles kfree -> 467 cycles 10000 times kmalloc(4096) -> 350 cycles kfree -> 468 cycles 10000 times kmalloc(8192) -> 407 cycles kfree -> 495 cycles 10000 times kmalloc(16384) -> 478 cycles kfree -> 323 cycles 10000 times kmalloc(32768) -> 608 cycles kfree -> 444 cycles 10000 times kmalloc(65536) -> 768 cycles kfree -> 769 cycles 2. Kmalloc: alloc/free test 10000 times kmalloc(8)/kfree -> 139 cycles 10000 times kmalloc(16)/kfree -> 139 cycles 10000 times kmalloc(32)/kfree -> 139 cycles 10000 times kmalloc(64)/kfree -> 139 cycles 10000 times kmalloc(128)/kfree -> 139 cycles 10000 times kmalloc(256)/kfree -> 150 cycles 10000 times kmalloc(512)/kfree -> 151 cycles 10000 times kmalloc(1024)/kfree -> 150 cycles 10000 times kmalloc(2048)/kfree -> 150 cycles 10000 times kmalloc(4096)/kfree -> 151 cycles 10000 times kmalloc(8192)/kfree -> 151 cycles 10000 times kmalloc(16384)/kfree -> 445 cycles 10000 times kmalloc(32768)/kfree -> 872 cycles 10000 times kmalloc(65536)/kfree -> 966 cycles Concurrent allocs ================= Kmalloc N*alloc N*free(8): 0=111/138 1=114/136 2=109/136 3=109/148 4=116/137 5=105/139 6=110/137 7=114/153 Average=111/140 Kmalloc N*alloc N*free(16): 0=117/145 1=117/147 2=118/148 3=115/147 4=115/146 5=116/149 6=117/148 7=116/149 Average=117/147 Kmalloc N*alloc N*free(32): 0=130/158 1=129/158 2=124/154 3=123/153 4=130/155 5=130/156 6=127/155 7=123/154 Average=127/155 Kmalloc N*alloc N*free(64): 0=144/256 1=145/254 2=144/163 3=138/163 4=147/163 5=149/165 6=151/164 7=156/163 Average=147/186 Kmalloc N*alloc N*free(128): 0=185/217 1=187/228 2=176/181 3=172/180 4=194/182 5=210/180 6=214/183 7=195/183 Average=192/192 Kmalloc N*alloc N*free(256): 0=246/284 1=287/327 2=246/309 3=247/314 4=262/259 5=237/284 6=256/269 7=279/282 Average=257/291 Kmalloc N*alloc N*free(512): 0=339/507 1=359/506 2=333/478 3=331/474 4=376/508 5=370/504 6=395/546 7=379/553 Average=360/510 Kmalloc N*alloc N*free(1024): 0=525/810 1=525/819 2=477/665 3=471/673 4=727/635 5=750/624 6=749/648 7=790/629 Average=627/688 Kmalloc N*alloc N*free(2048): 0=836/1562 1=804/1589 2=816/1110 3=792/1120 4=1513/974 5=1522/978 6=1595/947 7=1678/899 Average=1195/1147 Kmalloc N*alloc N*free(4096): 0=921/1284 1=915/1273 2=1009/983 3=1026/974 4=1371/975 5=1324/1011 6=1486/946 7=1467/956 Average=1190/1050 Kmalloc N*alloc N*free(8192): 0=982/1269 1=1014/1266 2=1115/1018 3=1068/1031 4=1333/1015 5=1291/1036 6=1357/1027 7=1395/1013 Average=1194/1084 Kmalloc N*alloc N*free(16384): 0=1752/2499 1=1740/2504 2=1782/3353 3=1795/3337 4=1955/3195 5=1971/3184 6=1861/2729 7=1846/2738 Average=1838/2942 Kmalloc N*(alloc free)(8): 0=141 1=141 2=141 3=141 4=141 5=141 6=141 7=141 Average=141 Kmalloc N*(alloc free)(16): 0=141 1=141 2=141 3=141 4=141 5=141 6=141 7=141 Average=141 Kmalloc N*(alloc free)(32): 0=141 1=141 2=141 3=141 4=141 5=141 6=141 7=141 Average=141 Kmalloc N*(alloc free)(64): 0=141 1=141 2=141 3=141 4=141 5=141 6=141 7=141 Average=141 Kmalloc N*(alloc free)(128): 0=141 1=141 2=141 3=141 4=141 5=141 6=141 7=141 Average=141 Kmalloc N*(alloc free)(256): 0=152 1=152 2=152 3=152 4=152 5=152 6=152 7=152 Average=152 Kmalloc N*(alloc free)(512): 0=152 1=152 2=152 3=152 4=152 5=152 6=152 7=152 Average=152 Kmalloc N*(alloc free)(1024): 0=152 1=152 2=152 3=152 4=152 5=152 6=152 7=152 Average=152 Kmalloc N*(alloc free)(2048): 0=152 1=152 2=152 3=152 4=152 5=152 6=152 7=152 Average=152 Kmalloc N*(alloc free)(4096): 0=152 1=153 2=153 3=153 4=153 5=153 6=153 7=153 Average=153 Kmalloc N*(alloc free)(8192): 0=153 1=153 2=153 3=153 4=153 5=153 6=153 7=153 Average=153 Kmalloc N*(alloc free)(16384): 0=490 1=489 2=484 3=487 4=492 5=495 6=494 7=493 Average=491 3rd sample Single thread testing ===================== 1. Kmalloc: Repeatedly allocate then free test 10000 times kmalloc(8) -> 110 cycles kfree -> 136 cycles 10000 times kmalloc(16) -> 109 cycles kfree -> 144 cycles 10000 times kmalloc(32) -> 114 cycles kfree -> 152 cycles 10000 times kmalloc(64) -> 125 cycles kfree -> 155 cycles 10000 times kmalloc(128) -> 150 cycles kfree -> 197 cycles 10000 times kmalloc(256) -> 195 cycles kfree -> 314 cycles 10000 times kmalloc(512) -> 212 cycles kfree -> 373 cycles 10000 times kmalloc(1024) -> 271 cycles kfree -> 430 cycles 10000 times kmalloc(2048) -> 314 cycles kfree -> 468 cycles 10000 times kmalloc(4096) -> 336 cycles kfree -> 461 cycles 10000 times kmalloc(8192) -> 401 cycles kfree -> 529 cycles 10000 times kmalloc(16384) -> 451 cycles kfree -> 324 cycles 10000 times kmalloc(32768) -> 559 cycles kfree -> 428 cycles 10000 times kmalloc(65536) -> 754 cycles kfree -> 547 cycles 2. Kmalloc: alloc/free test 10000 times kmalloc(8)/kfree -> 140 cycles 10000 times kmalloc(16)/kfree -> 139 cycles 10000 times kmalloc(32)/kfree -> 139 cycles 10000 times kmalloc(64)/kfree -> 139 cycles 10000 times kmalloc(128)/kfree -> 139 cycles 10000 times kmalloc(256)/kfree -> 150 cycles 10000 times kmalloc(512)/kfree -> 150 cycles 10000 times kmalloc(1024)/kfree -> 150 cycles 10000 times kmalloc(2048)/kfree -> 150 cycles 10000 times kmalloc(4096)/kfree -> 150 cycles 10000 times kmalloc(8192)/kfree -> 151 cycles 10000 times kmalloc(16384)/kfree -> 452 cycles 10000 times kmalloc(32768)/kfree -> 888 cycles 10000 times kmalloc(65536)/kfree -> 959 cycles Concurrent allocs ================= Kmalloc N*alloc N*free(8): 0=104/136 1=113/137 2=115/147 3=109/138 4=117/138 5=118/138 6=111/154 7=119/137 Average=113/141 Kmalloc N*alloc N*free(16): 0=117/146 1=117/147 2=115/145 3=110/149 4=117/148 5=118/147 6=114/146 7=114/149 Average=115/147 Kmalloc N*alloc N*free(32): 0=131/156 1=130/156 2=123/154 3=120/155 4=127/156 5=129/155 6=138/155 7=125/161 Average=128/156 Kmalloc N*alloc N*free(64): 0=149/168 1=145/168 2=146/161 3=145/164 4=152/165 5=155/164 6=153/164 7=154/163 Average=150/165 Kmalloc N*alloc N*free(128): 0=201/187 1=184/199 2=182/181 3=183/179 4=194/184 5=187/184 6=193/183 7=191/184 Average=189/185 Kmalloc N*alloc N*free(256): 0=266/303 1=265/302 2=244/265 3=251/264 4=259/278 5=238/262 6=268/291 7=263/286 Average=257/281 Kmalloc N*alloc N*free(512): 0=334/515 1=349/521 2=328/468 3=337/461 4=395/483 5=374/489 6=413/511 7=393/522 Average=365/496 Kmalloc N*alloc N*free(1024): 0=532/851 1=533/852 2=496/611 3=478/615 4=720/637 5=728/626 6=728/637 7=745/620 Average=620/681 Kmalloc N*alloc N*free(2048): 0=827/1548 1=816/1546 2=787/1077 3=795/1085 4=1413/1028 5=1392/1040 6=1571/963 7=1517/996 Average=1140/1160 Kmalloc N*alloc N*free(4096): 0=930/1273 1=932/1278 2=983/990 3=1011/976 4=1329/1001 5=1315/1003 6=1384/1003 7=1392/988 Average=1160/1064 Kmalloc N*alloc N*free(8192): 0=981/1271 1=1009/1266 2=1049/1041 3=1048/1047 4=1331/1038 5=1331/1031 6=1400/1003 7=1407/1009 Average=1194/1088 Kmalloc N*alloc N*free(16384): 0=1780/2830 1=1772/2833 2=1779/3236 3=1758/3243 4=1803/3284 5=1822/3268 6=1829/3125 7=1818/3131 Average=1795/3119 Kmalloc N*(alloc free)(8): 0=141 1=141 2=141 3=141 4=141 5=142 6=141 7=141 Average=141 Kmalloc N*(alloc free)(16): 0=141 1=141 2=141 3=141 4=141 5=142 6=141 7=141 Average=141 Kmalloc N*(alloc free)(32): 0=141 1=141 2=141 3=141 4=141 5=142 6=141 7=141 Average=141 Kmalloc N*(alloc free)(64): 0=141 1=141 2=141 3=141 4=141 5=142 6=141 7=141 Average=141 Kmalloc N*(alloc free)(128): 0=141 1=141 2=141 3=141 4=141 5=142 6=141 7=141 Average=141 Kmalloc N*(alloc free)(256): 0=152 1=152 2=152 3=152 4=152 5=153 6=152 7=152 Average=152 Kmalloc N*(alloc free)(512): 0=152 1=152 2=152 3=152 4=152 5=153 6=152 7=152 Average=152 Kmalloc N*(alloc free)(1024): 0=152 1=152 2=152 3=152 4=152 5=153 6=152 7=152 Average=152 Kmalloc N*(alloc free)(2048): 0=152 1=152 2=152 3=152 4=152 5=153 6=152 7=152 Average=152 Kmalloc N*(alloc free)(4096): 0=152 1=153 2=152 3=152 4=152 5=154 6=152 7=153 Average=152 Kmalloc N*(alloc free)(8192): 0=153 1=153 2=153 3=153 4=153 5=154 6=153 7=153 Average=153 Kmalloc N*(alloc free)(16384): 0=483 1=483 2=484 3=484 4=497 5=498 6=495 7=495 Average=490