Base Single thread testing ===================== 1. Kmalloc: Repeatedly allocate then free test 10000 times kmalloc(8) -> 153 cycles kfree -> 113 cycles 10000 times kmalloc(16) -> 98 cycles kfree -> 120 cycles 10000 times kmalloc(32) -> 112 cycles kfree -> 128 cycles 10000 times kmalloc(64) -> 119 cycles kfree -> 132 cycles 10000 times kmalloc(128) -> 132 cycles kfree -> 146 cycles 10000 times kmalloc(256) -> 83258 cycles kfree -> 330 cycles 10000 times kmalloc(512) -> 192 cycles kfree -> 361 cycles 10000 times kmalloc(1024) -> 254 cycles kfree -> 414 cycles 10000 times kmalloc(2048) -> 319 cycles kfree -> 455 cycles 10000 times kmalloc(4096) -> 342 cycles kfree -> 439 cycles 10000 times kmalloc(8192) -> 402 cycles kfree -> 490 cycles 10000 times kmalloc(16384) -> 565 cycles kfree -> 550 cycles 10000 times kmalloc(32768) -> 1035 cycles kfree -> 702 cycles 10000 times kmalloc(65536) -> 1608 cycles kfree -> 957 cycles 2. Kmalloc: alloc/free test 10000 times kmalloc(8)/kfree -> 83158 cycles 10000 times kmalloc(16)/kfree -> 93 cycles 10000 times kmalloc(32)/kfree -> 93 cycles 10000 times kmalloc(64)/kfree -> 93 cycles 10000 times kmalloc(128)/kfree -> 94 cycles 10000 times kmalloc(256)/kfree -> 106 cycles 10000 times kmalloc(512)/kfree -> 106 cycles 10000 times kmalloc(1024)/kfree -> 106 cycles 10000 times kmalloc(2048)/kfree -> 107 cycles 10000 times kmalloc(4096)/kfree -> 106 cycles 10000 times kmalloc(8192)/kfree -> 106 cycles 10000 times kmalloc(16384)/kfree -> 106 cycles 10000 times kmalloc(32768)/kfree -> 107 cycles 10000 times kmalloc(65536)/kfree -> 106 cycles Concurrent allocs ================= Kmalloc N*alloc N*free(8): 0=113/131 1=93/118 2=97/121 3=106/128 4=101/117 5=107/118 6=107/117 7=111/128 Average=104/122 Kmalloc N*alloc N*free(16): 0=117/124 1=115/126 2=113/129 3=131/125 4=114/143 5=118/127 6=140/125 7=153/127 Average=125/129 Kmalloc N*alloc N*free(32): 0=141/137 1=146/146 2=151/135 3=152/134 4=150/137 5=153/141 6=181/133 7=176/133 Average=156/137 Kmalloc N*alloc N*free(64): 0=196/161 1=201/159 2=205/148 3=203/184 4=202/148 5=206/150 6=422/139 7=222/300 Average=232/174 Kmalloc N*alloc N*free(128): 0=291/204 1=292/199 2=312/173 3=304/179 4=342/166 5=342/164 6=367/175 7=364/174 Average=327/179 Kmalloc N*alloc N*free(256): 0=285/323 1=258/328 2=426/261 3=428/265 4=484/251 5=522/198 6=504/270 7=504/249 Average=426/268 Kmalloc N*alloc N*free(512): 0=438/507 1=448/487 2=445/526 3=438/523 4=520/479 5=537/469 6=536/483 7=560/462 Average=490/492 Kmalloc N*alloc N*free(1024): 0=877/855 1=878/852 2=1003/661 3=1007/670 4=1232/609 5=1241/605 6=674/613 7=662/621 Average=947/686 Kmalloc N*alloc N*free(2048): 0=1786/1849 1=1787/1840 2=2297/1238 3=2301/1223 4=2900/979 5=2923/974 6=2972/976 7=2986/961 Average=2494/1255 Kmalloc N*alloc N*free(4096): 0=1968/1664 1=1961/1665 2=2416/1177 3=2418/1184 4=2790/1039 5=2817/1014 6=2889/966 7=2907/968 Average=2521/1210 Kmalloc N*alloc N*free(8192): 0=1838/1660 1=1815/1655 2=2321/1198 3=2295/1206 4=2645/1027 5=2651/1032 6=2799/956 7=2783/958 Average=2393/1211 Kmalloc N*alloc N*free(16384): 0=3283/2652 1=3299/2697 2=4228/1962 3=4212/1957 4=5137/1542 5=5142/1577 6=5449/1404 7=5450/1382 Average=4525/1897 Kmalloc N*(alloc free)(8): 0=95 1=95 2=95 3=95 4=95 5=95 6=95 7=95 Average=95 Kmalloc N*(alloc free)(16): 0=95 1=95 2=95 3=96 4=95 5=95 6=95 7=95 Average=95 Kmalloc N*(alloc free)(32): 0=95 1=95 2=95 3=96 4=95 5=95 6=95 7=95 Average=95 Kmalloc N*(alloc free)(64): 0=95 1=95 2=95 3=96 4=95 5=95 6=95 7=95 Average=95 Kmalloc N*(alloc free)(128): 0=95 1=95 2=95 3=96 4=95 5=95 6=95 7=95 Average=95 Kmalloc N*(alloc free)(256): 0=108 1=108 2=108 3=109 4=108 5=108 6=108 7=108 Average=108 Kmalloc N*(alloc free)(512): 0=108 1=108 2=108 3=109 4=108 5=108 6=108 7=108 Average=108 Kmalloc N*(alloc free)(1024): 0=108 1=108 2=108 3=109 4=108 5=108 6=108 7=108 Average=108 Kmalloc N*(alloc free)(2048): 0=108 1=108 2=108 3=109 4=108 5=108 6=108 7=108 Average=108 Kmalloc N*(alloc free)(4096): 0=108 1=108 2=2134 3=2117 4=108 5=108 6=108 7=108 Average=612 Kmalloc N*(alloc free)(8192): 0=108 1=108 2=108 3=109 4=108 5=108 6=108 7=108 Average=108 Kmalloc N*(alloc free)(16384): 0=108 1=108 2=108 3=109 4=108 5=108 6=108 7=108 Average=108 Sample 2: Single thread testing ===================== 1. Kmalloc: Repeatedly allocate then free test 10000 times kmalloc(8) -> 132 cycles kfree -> 111 cycles 10000 times kmalloc(16) -> 98 cycles kfree -> 124 cycles 10000 times kmalloc(32) -> 114 cycles kfree -> 127 cycles 10000 times kmalloc(64) -> 123 cycles kfree -> 133 cycles 10000 times kmalloc(128) -> 148 cycles kfree -> 144 cycles 10000 times kmalloc(256) -> 83271 cycles kfree -> 347 cycles 10000 times kmalloc(512) -> 194 cycles kfree -> 362 cycles 10000 times kmalloc(1024) -> 252 cycles kfree -> 417 cycles 10000 times kmalloc(2048) -> 311 cycles kfree -> 456 cycles 10000 times kmalloc(4096) -> 341 cycles kfree -> 439 cycles 10000 times kmalloc(8192) -> 415 cycles kfree -> 481 cycles 10000 times kmalloc(16384) -> 83647 cycles kfree -> 553 cycles 10000 times kmalloc(32768) -> 1035 cycles kfree -> 714 cycles 10000 times kmalloc(65536) -> 1620 cycles kfree -> 1175 cycles 2. Kmalloc: alloc/free test 10000 times kmalloc(8)/kfree -> 101 cycles 10000 times kmalloc(16)/kfree -> 100 cycles 10000 times kmalloc(32)/kfree -> 100 cycles 10000 times kmalloc(64)/kfree -> 100 cycles 10000 times kmalloc(128)/kfree -> 100 cycles 10000 times kmalloc(256)/kfree -> 113 cycles 10000 times kmalloc(512)/kfree -> 113 cycles 10000 times kmalloc(1024)/kfree -> 113 cycles 10000 times kmalloc(2048)/kfree -> 113 cycles 10000 times kmalloc(4096)/kfree -> 113 cycles 10000 times kmalloc(8192)/kfree -> 113 cycles 10000 times kmalloc(16384)/kfree -> 113 cycles 10000 times kmalloc(32768)/kfree -> 113 cycles 10000 times kmalloc(65536)/kfree -> 83170 cycles Concurrent allocs ================= Kmalloc N*alloc N*free(8): 0=89/116 1=90/115 2=99/115 3=95/115 4=99/127 5=102/115 6=102/116 7=104/0 Average=98/119 Kmalloc N*alloc N*free(16): 0=111/127 1=114/124 2=113/123 3=111/126 4=113/126 5=119/125 6=115/127 122/125 Average=115/125 Kmalloc N*alloc N*free(32): 0=138/142 1=139/142 2=142/137 3=141/139 4=153/136 5=156/135 6=155/164 194/134 Average=152/141 Kmalloc N*alloc N*free(64): 0=210/145 1=184/166 2=199/151 3=204/150 4=214/165 5=244/140 6=229/143 230/143 Average=214/150 Kmalloc N*alloc N*free(128): 0=277/223 1=277/199 2=304/195 3=308/193 4=375/157 5=359/162 6=362/185=384/176 Average=331/186 Kmalloc N*alloc N*free(256): 0=263/334 1=251/323 2=448/237 3=447/276 4=458/278 5=468/280 6=536/243=521/266 Average=424/279 Kmalloc N*alloc N*free(512): 0=449/492 1=429/506 2=439/538 3=447/531 4=536/469 5=532/471 6=540/449=535/447 Average=488/488 Kmalloc N*alloc N*free(1024): 0=875/856 1=867/867 2=1008/675 3=1005/674 4=1220/611 5=1238/605 6=63655 7=649/648 Average=937/699 Kmalloc N*alloc N*free(2048): 0=1816/1824 1=1796/1840 2=2263/1277 3=2267/1271 4=2918/988 5=2918/996=2984/948 7=3014/935 Average=2497/1259 Kmalloc N*alloc N*free(4096): 0=2019/1583 1=1999/1588 2=2336/1217 3=2346/1226 4=2771/1025 5=2754/14 6=2884/987 7=2864/996 Average=2497/1207 Kmalloc N*alloc N*free(8192): 0=1859/1642 1=1882/1649 2=2274/1238 3=2253/1245 4=2617/1042 5=2607/19 6=2715/988 7=2727/995 Average=2367/1230 Kmalloc N*alloc N*free(16384): 0=3335/2715 1=3296/2676 2=4107/2020 3=4153/2015 4=5133/1632 5=5126/14 6=5282/1521 7=5300/1539 Average=4467/1967 Kmalloc N*(alloc free)(8): 0=95 1=95 2=95 3=95 4=95 5=96 6=95 7=95 Average=95 Kmalloc N*(alloc free)(16): 0=95 1=95 2=95 3=95 4=95 5=96 6=95 7=95 Average=95 Kmalloc N*(alloc free)(32): 0=95 1=95 2=95 3=95 4=95 5=96 6=95 7=95 Average=95 Kmalloc N*(alloc free)(64): 0=95 1=95 2=95 3=95 4=95 5=96 6=95 7=95 Average=95 Kmalloc N*(alloc free)(128): 0=95 1=95 2=95 3=95 4=95 5=98 6=95 7=95 Average=95 Kmalloc N*(alloc free)(256): 0=108 1=108 2=108 3=108 4=108 5=109 6=108 7=108 Average=108 Kmalloc N*(alloc free)(512): 0=108 1=108 2=108 3=108 4=108 5=109 6=108 7=108 Average=108 Kmalloc N*(alloc free)(1024): 0=108 1=108 2=108 3=108 4=108 5=109 6=108 7=108 Average=108 Kmalloc N*(alloc free)(2048): 0=108 1=108 2=108 3=108 4=108 5=109 6=108 7=108 Average=108 Kmalloc N*(alloc free)(4096): 0=108 1=108 2=108 3=108 4=108 5=109 6=108 7=108 Average=108 Kmalloc N*(alloc free)(8192): 0=108 1=108 2=108 3=108 4=108 5=109 6=108 7=108 Average=108 Kmalloc N*(alloc free)(16384): 0=108 1=108 2=108 3=108 4=108 5=109 6=108 7=108 Average=108 Single thread testing ===================== 1. Kmalloc: Repeatedly allocate then free test 10000 times kmalloc(8) -> 135 cycles kfree -> 111 cycles 10000 times kmalloc(16) -> 99 cycles kfree -> 122 cycles 10000 times kmalloc(32) -> 111 cycles kfree -> 126 cycles 10000 times kmalloc(64) -> 130 cycles kfree -> 133 cycles 10000 times kmalloc(128) -> 142 cycles kfree -> 152 cycles 10000 times kmalloc(256) -> 83255 cycles kfree -> 329 cycles 10000 times kmalloc(512) -> 191 cycles kfree -> 357 cycles 10000 times kmalloc(1024) -> 253 cycles kfree -> 416 cycles 10000 times kmalloc(2048) -> 308 cycles kfree -> 458 cycles 10000 times kmalloc(4096) -> 341 cycles kfree -> 439 cycles 10000 times kmalloc(8192) -> 410 cycles kfree -> 483 cycles 10000 times kmalloc(16384) -> 560 cycles kfree -> 553 cycles 10000 times kmalloc(32768) -> 1034 cycles kfree -> 701 cycles 10000 times kmalloc(65536) -> 84789 cycles kfree -> 1215 cycles 2. Kmalloc: alloc/free test 10000 times kmalloc(8)/kfree -> 101 cycles 10000 times kmalloc(16)/kfree -> 100 cycles 10000 times kmalloc(32)/kfree -> 100 cycles 10000 times kmalloc(64)/kfree -> 100 cycles 10000 times kmalloc(128)/kfree -> 100 cycles 10000 times kmalloc(256)/kfree -> 113 cycles 10000 times kmalloc(512)/kfree -> 113 cycles 10000 times kmalloc(1024)/kfree -> 113 cycles 10000 times kmalloc(2048)/kfree -> 113 cycles 10000 times kmalloc(4096)/kfree -> 113 cycles 10000 times kmalloc(8192)/kfree -> 113 cycles 10000 times kmalloc(16384)/kfree -> 113 cycles 10000 times kmalloc(32768)/kfree -> 113 cycles 10000 times kmalloc(65536)/kfree -> 113 cycles Concurrent allocs ================= Kmalloc N*alloc N*free(8): 0=90/116 1=87/115 2=96/116 3=100/115 4=101/127 5=100/115 6=108/116 7=105/130 Average=98/119 Kmalloc N*alloc N*free(16): 0=114/125 1=108/127 2=115/166 3=114/166 4=119/125 5=119/125 6=121/126 7=119/125 Average=116/136 Kmalloc N*alloc N*free(32): 0=141/134 1=132/138 2=139/137 3=140/137 4=153/135 5=150/134 6=163/133 7=153/133 Average=146/135 Kmalloc N*alloc N*free(64): 0=218/147 1=183/173 2=203/150 3=199/150 4=255/140 5=215/171 6=221/144 7=221/144 Average=215/152 Kmalloc N*alloc N*free(128): 0=296/202 1=270/212 2=310/172 3=304/174 4=333/164 5=327/167 6=388/158 7=337/203 Average=321/182 Kmalloc N*alloc N*free(256): 0=285/312 1=252/312 2=444/234 3=403/251 4=473/251 5=477/251 6=496/247 7=491/221 Average=415/260 Kmalloc N*alloc N*free(512): 0=446/500 1=438/507 2=444/487 3=443/486 4=523/446 5=529/448 6=541/473 7=533/479 Average=487/478 Kmalloc N*alloc N*free(1024): 0=872/836 1=882/838 2=1020/664 3=1007/680 4=1222/589 5=1238/587 6=643/621 7=655/614 Average=942/679 Kmalloc N*alloc N*free(2048): 0=1812/1835 1=1821/1831 2=2252/1233 3=2320/1210 4=2838/1044 5=2826/1052 6=3103/902 7=3061/919 Average=2504/1253 Kmalloc N*alloc N*free(4096): 0=2042/1598 1=1996/1620 2=2412/1187 3=2390/1195 4=2772/1025 5=2788/1019 6=2859/991 7=2850/985 Average=2514/1203 Kmalloc N*alloc N*free(8192): 0=1866/1629 1=1878/1640 2=2262/1221 3=2284/1221 4=2593/1053 5=2597/1056 6=2730/1004 7=2723/993 Average=2367/1227 Kmalloc N*alloc N*free(16384): 0=3302/2712 1=3268/2673 2=4180/1989 3=4107/2019 4=5061/1606 5=5071/1628 6=5331/1450 7=5390/1438 Average=4464/1939 Kmalloc N*(alloc free)(8): 0=96 1=95 2=95 3=95 4=95 5=96 6=95 7=95 Average=95 Kmalloc N*(alloc free)(16): 0=96 1=95 2=95 3=95 4=95 5=96 6=95 7=95 Average=95 Kmalloc N*(alloc free)(32): 0=96 1=95 2=95 3=95 4=95 5=96 6=95 7=95 Average=95 Kmalloc N*(alloc free)(64): 0=96 1=95 2=95 3=95 4=95 5=96 6=95 7=95 Average=95 Kmalloc N*(alloc free)(128): 0=96 1=95 2=95 3=95 4=95 5=96 6=95 7=96 Average=95 Kmalloc N*(alloc free)(256): 0=109 1=108 2=109 3=108 4=108 5=109 6=108 7=108 Average=108 Kmalloc N*(alloc free)(512): 0=109 1=108 2=109 3=108 4=108 5=109 6=108 7=108 Average=108 Kmalloc N*(alloc free)(1024): 0=109 1=108 2=109 3=108 4=108 5=109 6=108 7=108 Average=108 Kmalloc N*(alloc free)(2048): 0=109 1=108 2=109 3=108 4=108 5=109 6=108 7=108 Average=108 Kmalloc N*(alloc free)(4096): 0=109 1=108 2=109 3=108 4=108 5=109 6=108 7=108 Average=108 Kmalloc N*(alloc free)(8192): 0=109 1=108 2=109 3=108 4=108 5=108 6=108 7=108 Average=108 Kmalloc N*(alloc free)(16384): 0=109 1=108 2=109 3=108 4=108 5=109 6=108 7=108 Average=108