Single thread testing ===================== 1. Kmalloc: Repeatedly allocate then free test 10000 times kmalloc(8) -> 181 cycles kfree -> 171 cycles 10000 times kmalloc(16) -> 108 cycles kfree -> 169 cycles 10000 times kmalloc(32) -> 142355 cycles kfree -> 173 cycles 10000 times kmalloc(64) -> 94 cycles kfree -> 170 cycles 10000 times kmalloc(128) -> 119 cycles kfree -> 177 cycles 10000 times kmalloc(256) -> 135 cycles kfree -> 189 cycles 10000 times kmalloc(512) -> 178 cycles kfree -> 203 cycles 10000 times kmalloc(1024) -> 235 cycles kfree -> 222 cycles 10000 times kmalloc(2048) -> 325 cycles kfree -> 252 cycles 10000 times kmalloc(4096) -> 454 cycles kfree -> 321 cycles 10000 times kmalloc(8192) -> 738 cycles kfree -> 474 cycles 10000 times kmalloc(16384) -> 1350 cycles kfree -> 800 cycles 10000 times kmalloc(32768) -> 1388 cycles kfree -> 984 cycles 10000 times kmalloc(65536) -> 1513 cycles kfree -> 1380 cycles 2. Kmalloc: alloc/free test 10000 times kmalloc(8)/kfree -> 125 cycles 10000 times kmalloc(16)/kfree -> 125 cycles 10000 times kmalloc(32)/kfree -> 125 cycles 10000 times kmalloc(64)/kfree -> 125 cycles 10000 times kmalloc(128)/kfree -> 128 cycles 10000 times kmalloc(256)/kfree -> 130 cycles 10000 times kmalloc(512)/kfree -> 134 cycles 10000 times kmalloc(1024)/kfree -> 137 cycles 10000 times kmalloc(2048)/kfree -> 147 cycles 10000 times kmalloc(4096)/kfree -> 149 cycles 10000 times kmalloc(8192)/kfree -> 164 cycles 10000 times kmalloc(16384)/kfree -> 156 cycles 10000 times kmalloc(32768)/kfree -> 159 cycles 10000 times kmalloc(65536)/kfree -> 162 cycles Concurrent allocs ================= Kmalloc N*alloc N*free(8): 0=139/821 1=139/820 2=160/1305 3=163/1305 4=155/892 5=157/892 6=155/918 7=145/919 Average=152/984 Kmalloc N*alloc N*free(16): 0=122/865 1=122/865 2=124/1149 3=126/1149 4=124/1154 5=124/1151 6=121/1012 7=118/1010 Average=12 3/1044 Kmalloc N*alloc N*free(32): 0=130/1126 1=125/1126 2=120/946 3=120/947 4=126/1122 5=127/1122 6=120/975 7=120/974 Average=124/ 1042 Kmalloc N*alloc N*free(64): 0=126/1142 1=123/1142 2=120/1122 3=121/1121 4=122/1351 5=122/1350 6=116/1021 7=115/1018 Average= 121/1158 Kmalloc N*alloc N*free(128): 0=190/871 1=188/871 2=172/932 3=172/930 4=178/526 5=179/526 6=167/602 7=165/601 Average=176/732 Kmalloc N*alloc N*free(256): 0=247/544 1=237/543 2=235/623 3=240/621 4=237/538 5=234/539 6=229/472 7=227/471 Average=236/544 Kmalloc N*alloc N*free(512): 0=419/629 1=407/629 2=409/672 3=413/672 4=415/701 5=408/701 6=415/828 7=413/829 Average=412/708 Kmalloc N*alloc N*free(1024): 0=527/740 1=547/740 2=557/706 3=565/706 4=603/738 5=600/738 6=624/740 7=632/741 Average=582/73 1 Kmalloc N*alloc N*free(2048): 0=1132/1083 1=1126/1083 2=1110/1142 3=1114/1141 4=1121/1117 5=1115/1116 6=1121/1212 7=1128/121 3 Average=1121/1138 Kmalloc N*alloc N*free(4096): 0=3618/1762 1=3625/1763 2=3662/1730 3=3679/1731 4=3556/1592 5=3548/1556 6=3606/1827 7=3628/182 7 Average=3615/1723 Kmalloc N*alloc N*free(8192): 0=8945/2557 1=8980/2555 2=9022/3022 3=9014/3024 4=8788/2954 5=8826/2953 6=8907/3060 7=8900/306 3 Average=8923/2898 Kmalloc N*alloc N*free(16384): 0=17435/3685 1=17475/3685 2=16998/3804 3=16924/3811 4=17184/3859 5=17176/3850 6=16636/3872 7= 16664/3873 Average=17061/3805 Kmalloc N*(alloc free)(8): 0=116 1=116 2=116 3=116 4=117 5=116 6=116 7=116 Average=116 Kmalloc N*(alloc free)(16): 0=116 1=116 2=116 3=117 4=117 5=116 6=116 7=116 Average=116 Kmalloc N*(alloc free)(32): 0=116 1=116 2=116 3=117 4=117 5=116 6=116 7=116 Average=116 Kmalloc N*(alloc free)(64): 0=116 1=116 2=116 3=117 4=117 5=116 6=116 7=116 Average=116 Kmalloc N*(alloc free)(128): 0=119 1=119 2=119 3=120 4=120 5=119 6=119 7=119 Average=119 Kmalloc N*(alloc free)(256): 0=122 1=122 2=122 3=123 4=123 5=122 6=122 7=122 Average=122 Kmalloc N*(alloc free)(512): 0=125 1=125 2=125 3=126 4=127 5=125 6=125 7=125 Average=125 Kmalloc N*(alloc free)(1024): 0=128 1=128 2=128 3=129 4=129 5=128 6=128 7=128 Average=128 Kmalloc N*(alloc free)(2048): 0=137 1=137 2=137 3=138 4=138 5=137 6=137 7=137 Average=137 Kmalloc N*(alloc free)(4096): 0=140 1=140 2=140 3=141 4=152 5=151 6=151 7=140 Average=144 Kmalloc N*(alloc free)(8192): 0=143 1=143 2=143 3=144 4=144 5=154 6=143 7=154 Average=146 Kmalloc N*(alloc free)(16384): 0=146 1=146 2=157 3=146 4=147 5=146 6=146 7=157 Average=149 Remote free test ================ N*remote free(8): 0=8/1875 1=106/0 2=151/0 3=154/0 4=157/0 5=154/0 6=139/0 7=139/0 Average=126/234 N*remote free(16): 0=8/1879 1=109/0 2=155/0 3=157/0 4=167/0 5=168/0 6=178/0 7=173/0 Average=140/235 N*remote free(32): 0=8/1882 1=108/0 2=151/0 3=153/0 4=168/0 5=166/0 6=181/0 7=183/0 Average=140/235 N*remote free(64): 0=8/1882 1=110/0 2=150/0 3=150/0 4=171/0 5=167/0 6=179/0 7=179/0 Average=139/235 N*remote free(128): 0=8/1962 1=145/0 2=218/0 3=217/0 4=220/0 5=221/0 6=231/0 7=227/0 Average=186/245 N*remote free(256): 0=9/2103 1=158/0 2=267/0 3=268/0 4=246/0 5=245/0 6=267/0 7=267/0 Average=216/263 N*remote free(512): 0=8/2301 1=194/0 2=401/0 3=405/0 4=395/0 5=400/0 6=416/0 7=415/0 Average=330/287 N*remote free(1024): 0=8/2305 1=248/0 2=580/0 3=577/0 4=639/0 5=635/0 6=638/0 7=637/0 Average=495/288 N*remote free(2048): 0=9/2975 1=342/0 2=1100/0 3=1095/0 4=1129/0 5=1138/0 6=1181/0 7=1174/0 Average=896/372 N*remote free(4096): 0=10/3951 1=481/0 2=3626/0 3=3633/0 4=3469/0 5=3431/0 6=3635/0 7=3632/0 Average=2740/494 N*remote free(8192): 0=12/6204 1=810/0 2=8584/0 3=8565/0 4=8415/0 5=8405/0 6=8055/0 7=8068/0 Average=6364/775 N*remote free(16384): 0=13/10928 1=1449/0 2=17411/0 3=17417/0 4=17016/0 5=17032/0 6=16175/0 7=16240/0 Average=12844/1366 Single thread testing ===================== 1. Kmalloc: Repeatedly allocate then free test 10000 times kmalloc(8) -> 174 cycles kfree -> 172 cycles 10000 times kmalloc(16) -> 107 cycles kfree -> 169 cycles 10000 times kmalloc(32) -> 105 cycles kfree -> 175 cycles 10000 times kmalloc(64) -> 106 cycles kfree -> 169 cycles 10000 times kmalloc(128) -> 142379 cycles kfree -> 176 cycles 10000 times kmalloc(256) -> 135 cycles kfree -> 187 cycles 10000 times kmalloc(512) -> 178 cycles kfree -> 203 cycles 10000 times kmalloc(1024) -> 236 cycles kfree -> 217 cycles 10000 times kmalloc(2048) -> 320 cycles kfree -> 251 cycles 10000 times kmalloc(4096) -> 432 cycles kfree -> 323 cycles 10000 times kmalloc(8192) -> 742 cycles kfree -> 471 cycles 10000 times kmalloc(16384) -> 1361 cycles kfree -> 801 cycles 10000 times kmalloc(32768) -> 1405 cycles kfree -> 993 cycles 10000 times kmalloc(65536) -> 1517 cycles kfree -> 1376 cycles 2. Kmalloc: alloc/free test 10000 times kmalloc(8)/kfree -> 125 cycles 10000 times kmalloc(16)/kfree -> 125 cycles 10000 times kmalloc(32)/kfree -> 125 cycles 10000 times kmalloc(64)/kfree -> 124 cycles 10000 times kmalloc(128)/kfree -> 127 cycles 10000 times kmalloc(256)/kfree -> 133 cycles 10000 times kmalloc(512)/kfree -> 134 cycles 10000 times kmalloc(1024)/kfree -> 137 cycles 10000 times kmalloc(2048)/kfree -> 146 cycles 10000 times kmalloc(4096)/kfree -> 149 cycles 10000 times kmalloc(8192)/kfree -> 155 cycles 10000 times kmalloc(16384)/kfree -> 156 cycles 10000 times kmalloc(32768)/kfree -> 159 cycles 10000 times kmalloc(65536)/kfree -> 162 cycles Concurrent allocs ================= Kmalloc N*alloc N*free(8): 0=140/1129 1=140/1129 2=140/1065 3=138/1064 4=157/1041 5=158/1042 6=148/904 7=146/902 Average=146/1034 Kmalloc N*alloc N*free(16): 0=124/1031 1=122/1030 2=123/1247 3=122/1248 4=122/1142 5=121/1139 6=128/1364 7=127/1361 Average=124/1195 Kmalloc N*alloc N*free(32): 0=126/1059 1=123/1058 2=123/977 3=123/978 4=127/914 5=127/913 6=124/1265 7=125/1266 Average=125/1054 Kmalloc N*alloc N*free(64): 0=126/1162 1=123/1164 2=121/848 3=120/847 4=116/815 5=116/816 6=123/1278 7=124/1278 Average=121/1026 Kmalloc N*alloc N*free(128): 0=189/762 1=189/762 2=175/776 3=175/776 4=178/620 5=177/621 6=179/716 7=178/715 Average=180/719 Kmalloc N*alloc N*free(256): 0=243/569 1=241/572 2=243/538 3=242/540 4=239/555 5=239/557 6=245/587 7=242/585 Average=242/563 Kmalloc N*alloc N*free(512): 0=408/633 1=395/632 2=420/865 3=423/865 4=418/787 5=416/789 6=399/673 7=404/673 Average=410/739 Kmalloc N*alloc N*free(1024): 0=562/784 1=560/785 2=581/724 3=578/723 4=597/754 5=600/755 6=624/757 7=623/757 Average=591/755 Kmalloc N*alloc N*free(2048): 0=1171/1105 1=1169/1105 2=1185/1175 3=1188/1172 4=1051/1109 5=1063/1110 6=1110/1197 7=1109/1197 Average=1131/1146 Kmalloc N*alloc N*free(4096): 0=3703/1778 1=3692/1780 2=3757/1826 3=3741/1826 4=3741/1679 5=3760/1681 6=3895/2057 7=3903/2055 Average=3774/1835 Kmalloc N*alloc N*free(8192): 0=8841/2701 1=8845/2702 2=9142/3192 3=9115/3196 4=9355/3194 5=9343/3193 6=9260/3018 7=9241/3020 Average=9143/3027 Kmalloc N*alloc N*free(16384): 0=17369/3834 1=17330/3836 2=17686/3992 3=17664/3987 4=17858/3989 5=17886/3996 6=17334/3806 7=17434/3800 Average=17570/3905 Kmalloc N*(alloc free)(8): 0=116 1=116 2=116 3=116 4=117 5=117 6=116 7=116 Average=116 Kmalloc N*(alloc free)(16): 0=116 1=116 2=116 3=116 4=116 5=117 6=116 7=116 Average=116 Kmalloc N*(alloc free)(32): 0=116 1=119 2=116 3=116 4=116 5=117 6=116 7=116 Average=116 Kmalloc N*(alloc free)(64): 0=116 1=116 2=116 3=116 4=116 5=117 6=116 7=116 Average=116 Kmalloc N*(alloc free)(128): 0=119 1=120 2=119 3=119 4=119 5=120 6=119 7=119 Average=119 Kmalloc N*(alloc free)(256): 0=122 1=122 2=122 3=122 4=122 5=123 6=122 7=122 Average=122 Kmalloc N*(alloc free)(512): 0=125 1=125 2=125 3=125 4=125 5=126 6=125 7=125 Average=125 Kmalloc N*(alloc free)(1024): 0=128 1=128 2=128 3=128 4=128 5=129 6=128 7=128 Average=128 Kmalloc N*(alloc free)(2048): 0=148 1=137 2=138 3=137 4=148 5=138 6=137 7=137 Average=140 Kmalloc N*(alloc free)(4096): 0=140 1=140 2=140 3=140 4=140 5=152 6=151 7=140 Average=143 Kmalloc N*(alloc free)(8192): 0=143 1=143 2=143 3=143 4=144 5=144 6=143 7=143 Average=143 Kmalloc N*(alloc free)(16384): 0=157 1=146 2=158 3=146 4=146 5=147 6=146 7=146 Average=149 Remote free test ================ N*remote free(8): 0=8/1871 1=110/0 2=142/0 3=141/0 4=143/0 5=144/0 6=151/0 7=151/0 Average=124/234 N*remote free(16): 0=9/1879 1=111/0 2=159/0 3=158/0 4=171/0 5=174/0 6=178/0 7=176/0 Average=142/235 N*remote free(32): 0=8/1885 1=108/0 2=156/0 3=156/0 4=170/0 5=170/0 6=178/0 7=179/0 Average=141/235 N*remote free(64): 0=8/1881 1=108/0 2=152/0 3=151/0 4=163/0 5=166/0 6=179/0 7=177/0 Average=138/235 N*remote free(128): 0=9/1959 1=147/0 2=201/0 3=201/0 4=223/0 5=225/0 6=225/0 7=226/0 Average=182/245 N*remote free(256): 0=9/2103 1=162/0 2=254/0 3=249/0 4=256/0 5=257/0 6=262/0 7=269/0 Average=215/263 N*remote free(512): 0=9/2304 1=195/0 2=399/0 3=395/0 4=400/0 5=402/0 6=413/0 7=411/0 Average=328/288 N*remote free(1024): 0=9/2316 1=249/0 2=603/0 3=600/0 4=644/0 5=636/0 6=642/0 7=634/0 Average=502/289 N*remote free(2048): 0=9/2978 1=324/0 2=1149/0 3=1149/0 4=1025/0 5=1038/0 6=1097/0 7=1093/0 Average=861/372 N*remote free(4096): 0=11/3957 1=474/0 2=3652/0 3=3645/0 4=3588/0 5=3609/0 6=3624/0 7=3595/0 Average=2775/494 N*remote free(8192): 0=12/6195 1=799/0 2=8654/0 3=8633/0 4=8370/0 5=8344/0 6=8444/0 7=8442/0 Average=6462/774 N*remote free(16384): 0=13/10968 1=1450/0 2=17373/0 3=17407/0 4=17112/0 5=17111/0 6=16000/0 7=16078/0 Average=12818/1371