Single thread testing ===================== 1. Kmalloc: Repeatedly allocate then free test 10000 times kmalloc(8) -> 99 cycles kfree -> 122 cycles 10000 times kmalloc(16) -> 94 cycles kfree -> 132 cycles 10000 times kmalloc(32) -> 107 cycles kfree -> 142 cycles 10000 times kmalloc(64) -> 112 cycles kfree -> 151 cycles 10000 times kmalloc(128) -> 119 cycles kfree -> 177 cycles 10000 times kmalloc(256) -> 176 cycles kfree -> 251 cycles 10000 times kmalloc(512) -> 180 cycles kfree -> 343 cycles 10000 times kmalloc(1024) -> 246 cycles kfree -> 431 cycles 10000 times kmalloc(2048) -> 292 cycles kfree -> 463 cycles 10000 times kmalloc(4096) -> 319 cycles kfree -> 454 cycles 10000 times kmalloc(8192) -> 386 cycles kfree -> 492 cycles 10000 times kmalloc(16384) -> 481 cycles kfree -> 323 cycles 10000 times kmalloc(32768) -> 610 cycles kfree -> 430 cycles 10000 times kmalloc(65536) -> 753 cycles kfree -> 524 cycles 2. Kmalloc: alloc/free test 10000 times kmalloc(8)/kfree -> 104 cycles 10000 times kmalloc(16)/kfree -> 104 cycles 10000 times kmalloc(32)/kfree -> 104 cycles 10000 times kmalloc(64)/kfree -> 104 cycles 10000 times kmalloc(128)/kfree -> 104 cycles 10000 times kmalloc(256)/kfree -> 115 cycles 10000 times kmalloc(512)/kfree -> 115 cycles 10000 times kmalloc(1024)/kfree -> 115 cycles 10000 times kmalloc(2048)/kfree -> 115 cycles 10000 times kmalloc(4096)/kfree -> 115 cycles 10000 times kmalloc(8192)/kfree -> 115 cycles 10000 times kmalloc(16384)/kfree -> 434 cycles 10000 times kmalloc(32768)/kfree -> 824 cycles 10000 times kmalloc(65536)/kfree -> 912 cycles Concurrent allocs ================= Kmalloc N*alloc N*free(8): 0=101/145 1=86/128 2=92/129 3=108/129 4=105/129 5=98/129 6=96/128 7=107/139 Average=99/132 Kmalloc N*alloc N*free(16): 0=103/135 1=98/137 2=97/139 3=110/138 4=104/140 5=106/140 6=102/141 7=105/141 Average=103/139 Kmalloc N*alloc N*free(32): 0=109/152 1=107/153 2=113/148 3=107/146 4=122/148 5=112/149 6=113/147 7=110/146 Average=112/149 Kmalloc N*alloc N*free(64): 0=140/158 1=139/156 2=125/155 3=125/156 4=129/157 5=129/157 6=140/155 7=135/157 Average=133/157 Kmalloc N*alloc N*free(128): 0=172/223 1=185/216 2=146/170 3=143/170 4=154/172 5=152/173 6=189/170 7=159/185 Average=163/185 Kmalloc N*alloc N*free(256): 0=247/311 1=251/309 2=203/276 3=203/281 4=213/256 5=210/256 6=246/244 7=220/238 Average=224/271 Kmalloc N*alloc N*free(512): 0=334/522 1=327/520 2=328/504 3=307/525 4=364/505 5=353/503 6=389/465 7=369/482 Average=346/503 Kmalloc N*alloc N*free(1024): 0=508/852 1=507/846 2=473/673 3=454/683 4=760/631 5=743/635 6=789/618 7=783/625 Average=627/695 Kmalloc N*alloc N*free(2048): 0=810/1579 1=800/1588 2=810/1095 3=811/1082 4=1720/914 5=1798/863 6=1882/828 7=1879/820 Average=1314/1096 Kmalloc N*alloc N*free(4096): 0=913/1256 1=903/1258 2=1095/980 3=1104/968 4=1525/915 5=1480/940 6=1507/942 7=1542/919 Average=1259/1022 Kmalloc N*alloc N*free(8192): 0=970/1315 1=1002/1308 2=1126/1034 3=1171/1020 4=1474/992 5=1491/986 6=1585/962 7=1590/962 Average=1301/1073 Kmalloc N*alloc N*free(16384): 0=1721/2623 1=1706/2683 2=2254/2516 3=2218/2546 4=2556/2559 5=2538/2575 6=2664/2920 7=2659/2926 Average=2290/2669 Kmalloc N*(alloc free)(8): 0=107 1=106 2=106 3=106 4=106 5=106 6=106 7=106 Average=106 Kmalloc N*(alloc free)(16): 0=107 1=106 2=106 3=106 4=106 5=106 6=106 7=107 Average=106 Kmalloc N*(alloc free)(32): 0=107 1=106 2=106 3=106 4=106 5=106 6=106 7=107 Average=106 Kmalloc N*(alloc free)(64): 0=106 1=106 2=106 3=106 4=106 5=106 6=106 7=107 Average=106 Kmalloc N*(alloc free)(128): 0=107 1=106 2=106 3=106 4=106 5=106 6=106 7=107 Average=106 Kmalloc N*(alloc free)(256): 0=118 1=117 2=117 3=117 4=117 5=117 6=117 7=117 Average=117 Kmalloc N*(alloc free)(512): 0=118 1=117 2=117 3=117 4=117 5=117 6=117 7=117 Average=117 Kmalloc N*(alloc free)(1024): 0=118 1=117 2=117 3=117 4=117 5=117 6=117 7=117 Average=117 Kmalloc N*(alloc free)(2048): 0=117 1=117 2=117 3=117 4=117 5=117 6=117 7=117 Average=117 Kmalloc N*(alloc free)(4096): 0=118 1=118 2=117 3=117 4=117 5=117 6=117 7=118 Average=117 Kmalloc N*(alloc free)(8192): 0=117 1=117 2=118 3=118 4=118 5=118 6=118 7=118 Average=118 Kmalloc N*(alloc free)(16384): 0=473 1=473 2=475 3=475 4=485 5=485 6=486 7=483 Average=479 Sample 2 Single thread testing ===================== 1. Kmalloc: Repeatedly allocate then free test 10000 times kmalloc(8) -> 84 cycles kfree -> 124 cycles 10000 times kmalloc(16) -> 92 cycles kfree -> 137 cycles 10000 times kmalloc(32) -> 105 cycles kfree -> 140 cycles 10000 times kmalloc(64) -> 136 cycles kfree -> 149 cycles 10000 times kmalloc(128) -> 139 cycles kfree -> 157 cycles 10000 times kmalloc(256) -> 185 cycles kfree -> 217 cycles 10000 times kmalloc(512) -> 176 cycles kfree -> 354 cycles 10000 times kmalloc(1024) -> 247 cycles kfree -> 429 cycles 10000 times kmalloc(2048) -> 294 cycles kfree -> 463 cycles 10000 times kmalloc(4096) -> 319 cycles kfree -> 456 cycles 10000 times kmalloc(8192) -> 380 cycles kfree -> 500 cycles 10000 times kmalloc(16384) -> 474 cycles kfree -> 323 cycles 10000 times kmalloc(32768) -> 609 cycles kfree -> 430 cycles 10000 times kmalloc(65536) -> 754 cycles kfree -> 523 cycles 2. Kmalloc: alloc/free test 10000 times kmalloc(8)/kfree -> 104 cycles 10000 times kmalloc(16)/kfree -> 104 cycles 10000 times kmalloc(32)/kfree -> 104 cycles 10000 times kmalloc(64)/kfree -> 104 cycles 10000 times kmalloc(128)/kfree -> 104 cycles 10000 times kmalloc(256)/kfree -> 115 cycles 10000 times kmalloc(512)/kfree -> 115 cycles 10000 times kmalloc(1024)/kfree -> 115 cycles 10000 times kmalloc(2048)/kfree -> 115 cycles 10000 times kmalloc(4096)/kfree -> 116 cycles 10000 times kmalloc(8192)/kfree -> 116 cycles 10000 times kmalloc(16384)/kfree -> 435 cycles 10000 times kmalloc(32768)/kfree -> 837 cycles 10000 times kmalloc(65536)/kfree -> 913 cycles Concurrent allocs ================= Kmalloc N*alloc N*free(8): 0=89/128 1=88/127 2=92/128 3=87/127 4=92/129 5=90/141 6=91/129 7=91/146 Average=90/132 Kmalloc N*alloc N*free(16): 0=99/137 1=98/140 2=97/139 3=97/138 4=97/138 5=98/140 6=97/138 7=98/138 Average=98/138 Kmalloc N*alloc N*free(32): 0=112/149 1=113/149 2=109/146 3=108/147 4=111/146 5=111/148 6=113/148 7=112/145 Average=111/147 Kmalloc N*alloc N*free(64): 0=144/165 1=134/165 2=131/155 3=126/154 4=137/156 5=135/155 6=146/155 7=152/155 Average=138/158 Kmalloc N*alloc N*free(128): 0=181/190 1=182/178 2=165/174 3=161/176 4=168/172 5=164/171 6=189/171 7=180/170 Average=174/175 Kmalloc N*alloc N*free(256): 0=248/297 1=248/267 2=216/259 3=230/241 4=234/287 5=243/266 6=233/257 7=233/266 Average=236/267 Kmalloc N*alloc N*free(512): 0=346/505 1=329/506 2=307/440 3=303/451 4=354/495 5=363/492 6=373/520 7=369/519 Average=343/491 Kmalloc N*alloc N*free(1024): 0=507/804 1=525/794 2=459/626 3=449/628 4=730/648 5=708/658 6=758/636 7=763/630 Average=612/678 Kmalloc N*alloc N*free(2048): 0=791/1515 1=782/1606 2=795/1084 3=805/1074 4=1565/951 5=1567/946 6=1698/880 7=1652/905 Average=1207/1120 Kmalloc N*alloc N*free(4096): 0=935/1243 1=892/1252 2=1019/963 3=1023/974 4=1398/954 5=1372/963 6=1447/951 7=1440/948 Average=1191/1031 Kmalloc N*alloc N*free(8192): 0=979/1279 1=993/1288 2=1058/1023 3=1069/1028 4=1342/1024 5=1343/1011 6=1422/1000 7=1441/992 Average=1206/1081 Kmalloc N*alloc N*free(16384): 0=1740/2919 1=1736/2927 2=1869/2981 3=1859/2987 4=1966/3007 5=1964/3004 6=2054/3337 7=2042/3344 Average=1904/3063 Kmalloc N*(alloc free)(8): 0=106 1=106 2=106 3=106 4=106 5=106 6=106 7=106 Average=106 Kmalloc N*(alloc free)(16): 0=106 1=106 2=106 3=106 4=106 5=106 6=106 7=106 Average=106 Kmalloc N*(alloc free)(32): 0=107 1=106 2=106 3=106 4=106 5=106 6=106 7=106 Average=106 Kmalloc N*(alloc free)(64): 0=107 1=106 2=106 3=106 4=106 5=106 6=106 7=106 Average=106 Kmalloc N*(alloc free)(128): 0=107 1=106 2=106 3=106 4=106 5=106 6=106 7=106 Average=106 Kmalloc N*(alloc free)(256): 0=118 1=117 2=117 3=117 4=117 5=117 6=117 7=117 Average=117 Kmalloc N*(alloc free)(512): 0=118 1=117 2=117 3=117 4=117 5=117 6=117 7=117 Average=117 Kmalloc N*(alloc free)(1024): 0=118 1=117 2=117 3=117 4=117 5=117 6=117 7=117 Average=117 Kmalloc N*(alloc free)(2048): 0=118 1=117 2=117 3=117 4=117 5=117 6=117 7=117 Average=117 Kmalloc N*(alloc free)(4096): 0=120 1=118 2=118 3=117 4=118 5=117 6=117 7=117 Average=118 Kmalloc N*(alloc free)(8192): 0=118 1=117 2=118 3=118 4=118 5=118 6=118 7=118 Average=118 Kmalloc N*(alloc free)(16384): 0=475 1=475 2=478 3=475 4=484 5=484 6=486 7=485 Average=480 Single thread testing ===================== 1. Kmalloc: Repeatedly allocate then free test 10000 times kmalloc(8) -> 84 cycles kfree -> 124 cycles 10000 times kmalloc(16) -> 92 cycles kfree -> 137 cycles 10000 times kmalloc(32) -> 105 cycles kfree -> 140 cycles 10000 times kmalloc(64) -> 136 cycles kfree -> 149 cycles 10000 times kmalloc(128) -> 139 cycles kfree -> 157 cycles 10000 times kmalloc(256) -> 185 cycles kfree -> 217 cycles 10000 times kmalloc(512) -> 176 cycles kfree -> 354 cycles 10000 times kmalloc(1024) -> 247 cycles kfree -> 429 cycles 10000 times kmalloc(2048) -> 294 cycles kfree -> 463 cycles 10000 times kmalloc(4096) -> 319 cycles kfree -> 456 cycles 10000 times kmalloc(8192) -> 380 cycles kfree -> 500 cycles 10000 times kmalloc(16384) -> 474 cycles kfree -> 323 cycles 10000 times kmalloc(32768) -> 609 cycles kfree -> 430 cycles 10000 times kmalloc(65536) -> 754 cycles kfree -> 523 cycles 2. Kmalloc: alloc/free test 10000 times kmalloc(8)/kfree -> 104 cycles 10000 times kmalloc(16)/kfree -> 104 cycles 10000 times kmalloc(32)/kfree -> 104 cycles 10000 times kmalloc(64)/kfree -> 104 cycles 10000 times kmalloc(128)/kfree -> 104 cycles 10000 times kmalloc(256)/kfree -> 115 cycles 10000 times kmalloc(512)/kfree -> 115 cycles 10000 times kmalloc(1024)/kfree -> 115 cycles 10000 times kmalloc(2048)/kfree -> 115 cycles 10000 times kmalloc(4096)/kfree -> 116 cycles 10000 times kmalloc(8192)/kfree -> 116 cycles 10000 times kmalloc(16384)/kfree -> 435 cycles 10000 times kmalloc(32768)/kfree -> 837 cycles 10000 times kmalloc(65536)/kfree -> 913 cycles Concurrent allocs ================= Kmalloc N*alloc N*free(8): 0=89/128 1=88/127 2=92/128 3=87/127 4=92/129 5=90/141 6=91/129 7=91/146 Average=90/132 Kmalloc N*alloc N*free(16): 0=99/137 1=98/140 2=97/139 3=97/138 4=97/138 5=98/140 6=97/138 7=98/138 Average=98/138 Kmalloc N*alloc N*free(32): 0=112/149 1=113/149 2=109/146 3=108/147 4=111/146 5=111/148 6=113/148 7=112/145 Average=111/147 Kmalloc N*alloc N*free(64): 0=144/165 1=134/165 2=131/155 3=126/154 4=137/156 5=135/155 6=146/155 7=152/155 Average=138/158 Kmalloc N*alloc N*free(128): 0=181/190 1=182/178 2=165/174 3=161/176 4=168/172 5=164/171 6=189/171 7=180/170 Average=174/175 Kmalloc N*alloc N*free(256): 0=248/297 1=248/267 2=216/259 3=230/241 4=234/287 5=243/266 6=233/257 7=233/266 Average=236/267 Kmalloc N*alloc N*free(512): 0=346/505 1=329/506 2=307/440 3=303/451 4=354/495 5=363/492 6=373/520 7=369/519 Average=343/491 Kmalloc N*alloc N*free(1024): 0=507/804 1=525/794 2=459/626 3=449/628 4=730/648 5=708/658 6=758/636 7=763/630 Average=612/678 Kmalloc N*alloc N*free(2048): 0=791/1515 1=782/1606 2=795/1084 3=805/1074 4=1565/951 5=1567/946 6=1698/880 7=1652/905 Average=1207/1120 Kmalloc N*alloc N*free(4096): 0=935/1243 1=892/1252 2=1019/963 3=1023/974 4=1398/954 5=1372/963 6=1447/951 7=1440/948 Average=1191/1031 Kmalloc N*alloc N*free(8192): 0=979/1279 1=993/1288 2=1058/1023 3=1069/1028 4=1342/1024 5=1343/1011 6=1422/1000 7=1441/992 Average=1206/1081 Kmalloc N*alloc N*free(16384): 0=1740/2919 1=1736/2927 2=1869/2981 3=1859/2987 4=1966/3007 5=1964/3004 6=2054/3337 7=2042/3344 Average=1904/3063 Kmalloc N*(alloc free)(8): 0=106 1=106 2=106 3=106 4=106 5=106 6=106 7=106 Average=106 Kmalloc N*(alloc free)(16): 0=106 1=106 2=106 3=106 4=106 5=106 6=106 7=106 Average=106 Kmalloc N*(alloc free)(32): 0=107 1=106 2=106 3=106 4=106 5=106 6=106 7=106 Average=106 Kmalloc N*(alloc free)(64): 0=107 1=106 2=106 3=106 4=106 5=106 6=106 7=106 Average=106 Kmalloc N*(alloc free)(128): 0=107 1=106 2=106 3=106 4=106 5=106 6=106 7=106 Average=106 Kmalloc N*(alloc free)(256): 0=118 1=117 2=117 3=117 4=117 5=117 6=117 7=117 Average=117 Kmalloc N*(alloc free)(512): 0=118 1=117 2=117 3=117 4=117 5=117 6=117 7=117 Average=117 Kmalloc N*(alloc free)(1024): 0=118 1=117 2=117 3=117 4=117 5=117 6=117 7=117 Average=117 Kmalloc N*(alloc free)(2048): 0=118 1=117 2=117 3=117 4=117 5=117 6=117 7=117 Average=117 Kmalloc N*(alloc free)(4096): 0=120 1=118 2=118 3=117 4=118 5=117 6=117 7=117 Average=118 Kmalloc N*(alloc free)(8192): 0=118 1=117 2=118 3=118 4=118 5=118 6=118 7=118 Average=118 Kmalloc N*(alloc free)(16384): 0=475 1=475 2=478 3=475 4=484 5=484 6=486 7=485 Average=480 test init 3rd sample Single thread testing ===================== 1. Kmalloc: Repeatedly allocate then free test 10000 times kmalloc(8) -> 83 cycles kfree -> 123 cycles 10000 times kmalloc(16) -> 91 cycles kfree -> 135 cycles 10000 times kmalloc(32) -> 100 cycles kfree -> 140 cycles 10000 times kmalloc(64) -> 130 cycles kfree -> 148 cycles 10000 times kmalloc(128) -> 136 cycles kfree -> 158 cycles 10000 times kmalloc(256) -> 189 cycles kfree -> 237 cycles 10000 times kmalloc(512) -> 178 cycles kfree -> 346 cycles 10000 times kmalloc(1024) -> 242 cycles kfree -> 432 cycles 10000 times kmalloc(2048) -> 292 cycles kfree -> 463 cycles 10000 times kmalloc(4096) -> 317 cycles kfree -> 454 cycles 10000 times kmalloc(8192) -> 381 cycles kfree -> 500 cycles 10000 times kmalloc(16384) -> 480 cycles kfree -> 322 cycles 10000 times kmalloc(32768) -> 612 cycles kfree -> 429 cycles 10000 times kmalloc(65536) -> 754 cycles kfree -> 521 cycles 2. Kmalloc: alloc/free test 10000 times kmalloc(8)/kfree -> 104 cycles 10000 times kmalloc(16)/kfree -> 104 cycles 10000 times kmalloc(32)/kfree -> 104 cycles 10000 times kmalloc(64)/kfree -> 104 cycles 10000 times kmalloc(128)/kfree -> 104 cycles 10000 times kmalloc(256)/kfree -> 115 cycles 10000 times kmalloc(512)/kfree -> 115 cycles 10000 times kmalloc(1024)/kfree -> 115 cycles 10000 times kmalloc(2048)/kfree -> 115 cycles 10000 times kmalloc(4096)/kfree -> 116 cycles 10000 times kmalloc(8192)/kfree -> 116 cycles 10000 times kmalloc(16384)/kfree -> 435 cycles 10000 times kmalloc(32768)/kfree -> 835 cycles 10000 times kmalloc(65536)/kfree -> 908 cycles Concurrent allocs ================= Kmalloc N*alloc N*free(8): 0=88/128 1=88/127 2=93/128 3=85/126 4=90/130 5=91/142 6=90/127 7=92/145 Average=90/132 Kmalloc N*alloc N*free(16): 0=98/137 1=98/139 2=99/139 3=94/138 4=99/139 5=99/139 6=100/138 7=97/138 Average=98/138 Kmalloc N*alloc N*free(32): 0=112/147 1=112/146 2=107/147 3=108/144 4=112/148 5=110/147 6=129/147 7=105/147 Average=112/147 Kmalloc N*alloc N*free(64): 0=136/157 1=136/157 2=135/153 3=133/154 4=142/156 5=139/155 6=138/156 7=134/155 Average=137/155 Kmalloc N*alloc N*free(128): 0=182/193 1=193/180 2=168/270 3=167/264 4=182/172 5=173/175 6=191/172 7=176/176 Average=179/200 Kmalloc N*alloc N*free(256): 0=252/304 1=251/319 2=228/275 3=232/252 4=237/253 5=234/260 6=248/236 7=246/293 Average=241/274 Kmalloc N*alloc N*free(512): 0=341/509 1=330/498 2=321/449 3=296/466 4=349/478 5=351/464 6=377/471 7=367/471 Average=341/476 Kmalloc N*alloc N*free(1024): 0=504/846 1=505/847 2=463/633 3=464/632 4=715/657 5=719/658 6=749/635 7=756/638 Average=609/693 Kmalloc N*alloc N*free(2048): 0=807/1600 1=790/1605 2=831/1114 3=824/1102 4=1679/919 5=1696/914 6=1863/865 7=1847/874 Average=1292/1124 Kmalloc N*alloc N*free(4096): 0=905/1261 1=886/1263 2=1053/987 3=1045/987 4=1421/963 5=1441/957 6=1488/940 7=1501/937 Average=1217/1037 Kmalloc N*alloc N*free(8192): 0=961/1292 1=965/1278 2=1048/1043 3=1060/1028 4=1328/1021 5=1301/1045 6=1446/976 7=1394/994 Average=1188/1085 Kmalloc N*alloc N*free(16384): 0=1736/3386 1=1733/3379 2=1775/2588 3=1805/2566 4=1856/3263 5=1836/3273 6=2051/2542 7=1819/2733 Average=1826/2966 Kmalloc N*(alloc free)(8): 0=107 1=106 2=107 3=106 4=107 5=106 6=107 7=106 Average=106 Kmalloc N*(alloc free)(16): 0=106 1=106 2=108 3=106 4=107 5=106 6=106 7=106 Average=106 Kmalloc N*(alloc free)(32): 0=107 1=106 2=106 3=106 4=107 5=106 6=107 7=106 Average=106 Kmalloc N*(alloc free)(64): 0=108 1=106 2=107 3=106 4=108 5=106 6=107 7=106 Average=107 Kmalloc N*(alloc free)(128): 0=107 1=106 2=107 3=106 4=107 5=106 6=107 7=106 Average=106 Kmalloc N*(alloc free)(256): 0=117 1=117 2=118 3=117 4=118 5=117 6=117 7=117 Average=117 Kmalloc N*(alloc free)(512): 0=118 1=117 2=118 3=117 4=118 5=117 6=118 7=117 Average=117 Kmalloc N*(alloc free)(1024): 0=118 1=117 2=117 3=117 4=118 5=117 6=118 7=117 Average=117 Kmalloc N*(alloc free)(2048): 0=118 1=117 2=118 3=117 4=118 5=117 6=135 7=117 Average=119 Kmalloc N*(alloc free)(4096): 0=119 1=117 2=119 3=117 4=118 5=118 6=119 7=117 Average=118 Kmalloc N*(alloc free)(8192): 0=119 1=118 2=119 3=118 4=119 5=118 6=119 7=118 Average=118 Kmalloc N*(alloc free)(16384): 0=472 1=472 2=473 3=474 4=486 5=483 6=484 7=484 Average=478