arch: arm: bpf: Converting cBPF to eBPF for arm 32 bit
From: Shubham Bansal <hidden>
Date: 2017-05-22 17:04:41
Also in:
netdev
Hi Daniel, Here are the benchmarks. 1) Interpreter: [root at vexpress modules]# insmod test_bpf.ko [ 37.244999] test_bpf: #0 TAX jited:0 757 645 650 PASS [ 37.272577] test_bpf: #1 TXA jited:0 366 334 336 PASS [ 37.283507] test_bpf: #2 ADD_SUB_MUL_K jited:0 543 PASS [ 37.289542] test_bpf: #3 DIV_MOD_KX jited:0 1509 PASS [ 37.305374] test_bpf: #4 AND_OR_LSH_K jited:0 539 559 PASS [ 37.317209] test_bpf: #5 LD_IMM_0 jited:0 412 PASS [ 37.321820] test_bpf: #6 LD_IND jited:0 428 376 389 PASS [ 37.334327] test_bpf: #7 LD_ABS jited:0 509 405 358 PASS [ 37.350596] test_bpf: #8 LD_ABS_LL jited:0 542 783 PASS [ 37.364340] test_bpf: #9 LD_IND_LL jited:0 524 496 723 PASS [ 37.382352] test_bpf: #10 LD_ABS_NET jited:0 527 545 PASS [ 37.393642] test_bpf: #11 LD_IND_NET jited:0 650 495 647 PASS [ 37.412228] test_bpf: #12 LD_PKTTYPE jited:0 686 901 PASS [ 37.428818] test_bpf: #13 LD_MARK jited:0 305 291 PASS [ 37.435349] test_bpf: #14 LD_RXHASH jited:0 257 259 PASS [ 37.440850] test_bpf: #15 LD_QUEUE jited:0 255 254 PASS [ 37.446254] test_bpf: #16 LD_PROTOCOL jited:0 593 603 PASS [ 37.458570] test_bpf: #17 LD_VLAN_TAG jited:0 288 292 PASS [ 37.464821] test_bpf: #18 LD_VLAN_TAG_PRESENT jited:0 335 421 PASS [ 37.472817] test_bpf: #19 LD_IFINDEX jited:0 8568 606 PASS [ 37.565163] test_bpf: #20 LD_HATYPE jited:0 618 695 PASS [ 37.579457] test_bpf: #21 LD_CPU jited:0 1200 1172 PASS [ 37.604424] test_bpf: #22 LD_NLATTR jited:0 979 1124 PASS [ 37.626345] test_bpf: #23 LD_NLATTR_NEST jited:0 12232 3593 PASS [ 37.785251] test_bpf: #24 LD_PAYLOAD_OFF jited:0 3697 4834 PASS [ 37.871224] test_bpf: #25 LD_ANC_XOR jited:0 314 344 PASS [ 37.878210] test_bpf: #26 SPILL_FILL jited:0 757 850 903 PASS [ 37.903954] test_bpf: #27 JEQ jited:0 380 420 426 PASS [ 37.916756] test_bpf: #28 JGT jited:0 376 467 448 PASS [ 37.930276] test_bpf: #29 JGE jited:0 446 590 498 PASS [ 37.946729] test_bpf: #30 JSET jited:0 571 787 1003 PASS [ 37.970896] test_bpf: #31 tcpdump port 22 jited:0 358 1079 1190 PASS [ 37.997814] test_bpf: #32 tcpdump complex jited:0 319 1061 2324 PASS [ 38.035596] test_bpf: #33 RET_A jited:0 253 249 PASS [ 38.041262] test_bpf: #34 INT: ADD trivial jited:0 414 PASS [ 38.045777] test_bpf: #35 INT: MUL_X jited:0 336 PASS [ 38.049402] test_bpf: #36 INT: MUL_X2 jited:0 431 PASS [ 38.054178] test_bpf: #37 INT: MUL32_X jited:0 523 PASS [ 38.059902] test_bpf: #38 INT: ADD 64-bit jited:0 5263 PASS [ 38.113069] test_bpf: #39 INT: ADD 32-bit jited:0 4127 PASS [ 38.154754] test_bpf: #40 INT: SUB jited:0 4218 PASS [ 38.197294] test_bpf: #41 INT: XOR jited:0 2252 PASS [ 38.220159] test_bpf: #42 INT: MUL jited:0 1986 PASS [ 38.240410] test_bpf: #43 MOV REG64 jited:0 1103 PASS [ 38.251796] test_bpf: #44 MOV REG32 jited:0 1140 PASS [ 38.263614] test_bpf: #45 LD IMM64 jited:0 1182 PASS [ 38.276031] test_bpf: #46 INT: ALU MIX jited:0 1068 PASS [ 38.287319] test_bpf: #47 INT: shifts by register jited:0 1125 PASS [ 38.298913] test_bpf: #48 INT: DIV + ABS jited:0 570 850 PASS [ 38.313745] test_bpf: #49 INT: DIV by zero jited:0 350 305 PASS [ 38.320829] test_bpf: #50 check: missing ret PASS [ 38.321186] test_bpf: #51 check: div_k_0 PASS [ 38.321350] test_bpf: #52 check: unknown insn PASS [ 38.321492] test_bpf: #53 check: out of range spill/fill PASS [ 38.321665] test_bpf: #54 JUMPS + HOLES jited:0 863 PASS [ 38.330763] test_bpf: #55 check: RET X PASS [ 38.331060] test_bpf: #56 check: LDX + RET X PASS [ 38.331292] test_bpf: #57 M[]: alt STX + LDX jited:0 3990 PASS [ 38.373667] test_bpf: #58 M[]: full STX + full LDX jited:0 2819 PASS [ 38.410225] test_bpf: #59 check: SKF_AD_MAX PASS [ 38.410461] test_bpf: #60 LD [SKF_AD_OFF-1] jited:0 313 PASS [ 38.413785] test_bpf: #61 load 64-bit immediate jited:0 579 PASS [ 38.419764] test_bpf: #62 nmap reduced jited:0 1860 PASS [ 38.439016] test_bpf: #63 ALU_MOV_X: dst = 2 jited:0 249 PASS [ 38.441990] test_bpf: #64 ALU_MOV_X: dst = 4294967295 jited:0 264 PASS [ 38.445000] test_bpf: #65 ALU64_MOV_X: dst = 2 jited:0 229 PASS [ 38.447602] test_bpf: #66 ALU64_MOV_X: dst = 4294967295 jited:0 213 PASS [ 38.450011] test_bpf: #67 ALU_MOV_K: dst = 2 jited:0 167 PASS [ 38.451963] test_bpf: #68 ALU_MOV_K: dst = 4294967295 jited:0 149 PASS [ 38.453694] test_bpf: #69 ALU_MOV_K: 0x0000ffffffff0000 = 0x00000000ffffffff jited:0 358 PASS [ 38.457572] test_bpf: #70 ALU64_MOV_K: dst = 2 jited:0 158 PASS [ 38.459546] test_bpf: #71 ALU64_MOV_K: dst = 2147483647 jited:0 156 PASS [ 38.461364] test_bpf: #72 ALU64_OR_K: dst = 0x0 jited:0 306 PASS [ 38.464652] test_bpf: #73 ALU64_MOV_K: dst = -1 jited:0 327 PASS [ 38.468154] test_bpf: #74 ALU_ADD_X: 1 + 2 = 3 jited:0 212 PASS [ 38.470551] test_bpf: #75 ALU_ADD_X: 1 + 4294967294 = 4294967295 jited:0 231 PASS [ 38.473187] test_bpf: #76 ALU_ADD_X: 2 + 4294967294 = 0 jited:0 309 PASS [ 38.476618] test_bpf: #77 ALU64_ADD_X: 1 + 2 = 3 jited:0 280 PASS [ 38.479675] test_bpf: #78 ALU64_ADD_X: 1 + 4294967294 = 4294967295 jited:0 286 PASS [ 38.482755] test_bpf: #79 ALU64_ADD_X: 2 + 4294967294 = 4294967296 jited:0 460 PASS [ 38.487670] test_bpf: #80 ALU_ADD_K: 1 + 2 = 3 jited:0 210 PASS [ 38.490042] test_bpf: #81 ALU_ADD_K: 3 + 0 = 3 jited:0 208 PASS [ 38.492331] test_bpf: #82 ALU_ADD_K: 1 + 4294967294 = 4294967295 jited:0 205 PASS [ 38.494604] test_bpf: #83 ALU_ADD_K: 4294967294 + 2 = 0 jited:0 323 PASS [ 38.498071] test_bpf: #84 ALU_ADD_K: 0 + (-1) = 0x00000000ffffffff jited:0 338 PASS [ 38.501674] test_bpf: #85 ALU_ADD_K: 0 + 0xffff = 0xffff jited:0 347 PASS [ 38.505355] test_bpf: #86 ALU_ADD_K: 0 + 0x7fffffff = 0x7fffffff jited:0 360 PASS [ 38.509197] test_bpf: #87 ALU_ADD_K: 0 + 0x80000000 = 0x80000000 jited:0 345 PASS [ 38.512873] test_bpf: #88 ALU_ADD_K: 0 + 0x80008000 = 0x80008000 jited:0 377 PASS [ 38.516924] test_bpf: #89 ALU64_ADD_K: 1 + 2 = 3 jited:0 184 PASS [ 38.519053] test_bpf: #90 ALU64_ADD_K: 3 + 0 = 3 jited:0 185 PASS [ 38.521246] test_bpf: #91 ALU64_ADD_K: 1 + 2147483646 = 2147483647 jited:0 186 PASS [ 38.523414] test_bpf: #92 ALU64_ADD_K: 4294967294 + 2 = 4294967296 jited:0 353 PASS [ 38.527276] test_bpf: #93 ALU64_ADD_K: 2147483646 + -2147483647 = -1 jited:0 182 PASS [ 38.529353] test_bpf: #94 ALU64_ADD_K: 1 + 0 = 1 jited:0 311 PASS [ 38.532680] test_bpf: #95 ALU64_ADD_K: 0 + (-1) = 0xffffffffffffffff jited:0 339 PASS [ 38.536308] test_bpf: #96 ALU64_ADD_K: 0 + 0xffff = 0xffff jited:0 310 PASS [ 38.539652] test_bpf: #97 ALU64_ADD_K: 0 + 0x7fffffff = 0x7fffffff jited:0 313 PASS [ 38.543022] test_bpf: #98 ALU64_ADD_K: 0 + 0x80000000 = 0xffffffff80000000 jited:0 340 PASS [ 38.546651] test_bpf: #99 ALU_ADD_K: 0 + 0x80008000 = 0xffffffff80008000 jited:0 311 PASS [ 38.549994] test_bpf: #100 ALU_SUB_X: 3 - 1 = 2 jited:0 213 PASS [ 38.552326] test_bpf: #101 ALU_SUB_X: 4294967295 - 4294967294 = 1 jited:0 212 PASS [ 38.554661] test_bpf: #102 ALU64_SUB_X: 3 - 1 = 2 jited:0 237 PASS [ 38.557278] test_bpf: #103 ALU64_SUB_X: 4294967295 - 4294967294 = 1 jited:0 221 PASS [ 38.559713] test_bpf: #104 ALU_SUB_K: 3 - 1 = 2 jited:0 177 PASS [ 38.561682] test_bpf: #105 ALU_SUB_K: 3 - 0 = 3 jited:0 179 PASS [ 38.563692] test_bpf: #106 ALU_SUB_K: 4294967295 - 4294967294 = 1 jited:0 195 PASS [ 38.565891] test_bpf: #107 ALU64_SUB_K: 3 - 1 = 2 jited:0 183 PASS [ 38.567926] test_bpf: #108 ALU64_SUB_K: 3 - 0 = 3 jited:0 177 PASS [ 38.569901] test_bpf: #109 ALU64_SUB_K: 4294967294 - 4294967295 = -1 jited:0 181 PASS [ 38.571925] test_bpf: #110 ALU64_ADD_K: 2147483646 - 2147483647 = -1 jited:0 177 PASS [ 38.573910] test_bpf: #111 ALU_MUL_X: 2 * 3 = 6 jited:0 241 PASS [ 38.576535] test_bpf: #112 ALU_MUL_X: 2 * 0x7FFFFFF8 = 0xFFFFFFF0 jited:0 220 PASS [ 38.578948] test_bpf: #113 ALU_MUL_X: -1 * -1 = 1 jited:0 224 PASS [ 38.581387] test_bpf: #114 ALU64_MUL_X: 2 * 3 = 6 jited:0 213 PASS [ 38.583715] test_bpf: #115 ALU64_MUL_X: 1 * 2147483647 = 2147483647 jited:0 230 PASS [ 38.586253] test_bpf: #116 ALU_MUL_K: 2 * 3 = 6 jited:0 191 PASS [ 38.588392] test_bpf: #117 ALU_MUL_K: 3 * 1 = 3 jited:0 189 PASS [ 38.590487] test_bpf: #118 ALU_MUL_K: 2 * 0x7FFFFFF8 = 0xFFFFFFF0 jited:0 192 PASS [ 38.592616] test_bpf: #119 ALU_MUL_K: 1 * (-1) = 0x00000000ffffffff jited:0 333 PASS [ 38.596172] test_bpf: #120 ALU64_MUL_K: 2 * 3 = 6 jited:0 185 PASS [ 38.598224] test_bpf: #121 ALU64_MUL_K: 3 * 1 = 3 jited:0 185 PASS [ 38.600287] test_bpf: #122 ALU64_MUL_K: 1 * 2147483647 = 2147483647 jited:0 184 PASS [ 38.602369] test_bpf: #123 ALU64_MUL_K: 1 * -2147483647 = -2147483647 jited:0 183 PASS [ 38.604421] test_bpf: #124 ALU64_MUL_K: 1 * (-1) = 0xffffffffffffffff jited:0 336 PASS [ 38.608002] test_bpf: #125 ALU_DIV_X: 6 / 2 = 3 jited:0 316 PASS [ 38.611394] test_bpf: #126 ALU_DIV_X: 4294967295 / 4294967295 = 1 jited:0 315 PASS [ 38.614753] test_bpf: #127 ALU64_DIV_X: 6 / 2 = 3 jited:0 439 PASS [ 38.619370] test_bpf: #128 ALU64_DIV_X: 2147483647 / 2147483647 = 1 jited:0 420 PASS [ 38.623844] test_bpf: #129 ALU64_DIV_X: 0xffffffffffffffff / (-1) = 0x0000000000000001 jited:0 604 PASS [ 38.630156] test_bpf: #130 ALU_DIV_K: 6 / 2 = 3 jited:0 249 PASS [ 38.632858] test_bpf: #131 ALU_DIV_K: 3 / 1 = 3 jited:0 240 PASS [ 38.635647] test_bpf: #132 ALU_DIV_K: 4294967295 / 4294967295 = 1 jited:0 254 PASS [ 38.638408] test_bpf: #133 ALU_DIV_K: 0xffffffffffffffff / (-1) = 0x1 jited:0 379 PASS [ 38.642450] test_bpf: #134 ALU64_DIV_K: 6 / 2 = 3 jited:0 346 PASS [ 38.646123] test_bpf: #135 ALU64_DIV_K: 3 / 1 = 3 jited:0 323 PASS [ 38.649558] test_bpf: #136 ALU64_DIV_K: 2147483647 / 2147483647 = 1 jited:0 329 PASS [ 38.653061] test_bpf: #137 ALU64_DIV_K: 0xffffffffffffffff / (-1) = 0x0000000000000001 jited:0 477 PASS [ 38.658065] test_bpf: #138 ALU_MOD_X: 3 % 2 = 1 jited:0 421 PASS [ 38.662580] test_bpf: #139 ALU_MOD_X: 4294967295 % 4294967293 = 2 jited:0 453 PASS [ 38.667414] test_bpf: #140 ALU64_MOD_X: 3 % 2 = 1 jited:0 553 PASS [ 38.673235] test_bpf: #141 ALU64_MOD_X: 2147483647 % 2147483645 = 2 jited:0 583 PASS [ 38.679343] test_bpf: #142 ALU_MOD_K: 3 % 2 = 1 jited:0 380 PASS [ 38.683374] test_bpf: #143 ALU_MOD_K: 3 % 1 = 0 jited:0 PASS [ 38.683586] test_bpf: #144 ALU_MOD_K: 4294967295 % 4294967293 = 2 jited:0 467 PASS [ 38.688672] test_bpf: #145 ALU64_MOD_K: 3 % 2 = 1 jited:0 492 PASS [ 38.694058] test_bpf: #146 ALU64_MOD_K: 3 % 1 = 0 jited:0 PASS [ 38.694359] test_bpf: #147 ALU64_MOD_K: 2147483647 % 2147483645 = 2 jited:0 571 PASS [ 38.700389] test_bpf: #148 ALU_AND_X: 3 & 2 = 2 jited:0 225 PASS [ 38.702952] test_bpf: #149 ALU_AND_X: 0xffffffff & 0xffffffff = 0xffffffff jited:0 261 PASS [ 38.705982] test_bpf: #150 ALU64_AND_X: 3 & 2 = 2 jited:0 273 PASS [ 38.709194] test_bpf: #151 ALU64_AND_X: 0xffffffff & 0xffffffff = 0xffffffff jited:0 251 PASS [ 38.712213] test_bpf: #152 ALU_AND_K: 3 & 2 = 2 jited:0 201 PASS [ 38.714638] test_bpf: #153 ALU_AND_K: 0xffffffff & 0xffffffff = 0xffffffff jited:0 240 PASS [ 38.717477] test_bpf: #154 ALU64_AND_K: 3 & 2 = 2 jited:0 209 PASS [ 38.720125] test_bpf: #155 ALU64_AND_K: 0xffffffff & 0xffffffff = 0xffffffff jited:0 319 PASS [ 38.724356] test_bpf: #156 ALU64_AND_K: 0x0000ffffffff0000 & 0x0 = 0x0000ffff00000000 jited:0 384 PASS [ 38.729293] test_bpf: #157 ALU64_AND_K: 0x0000ffffffff0000 & -1 = 0x0000ffffffffffff jited:0 367 PASS [ 38.733598] test_bpf: #158 ALU64_AND_K: 0xffffffffffffffff & -1 = 0xffffffffffffffff jited:0 375 PASS [ 38.737966] test_bpf: #159 ALU_OR_X: 1 | 2 = 3 jited:0 271 PASS [ 38.741274] test_bpf: #160 ALU_OR_X: 0x0 | 0xffffffff = 0xffffffff jited:0 280 PASS [ 38.744653] test_bpf: #161 ALU64_OR_X: 1 | 2 = 3 jited:0 253 PASS [ 38.747717] test_bpf: #162 ALU64_OR_X: 0 | 0xffffffff = 0xffffffff jited:0 263 PASS [ 38.750830] test_bpf: #163 ALU_OR_K: 1 | 2 = 3 jited:0 216 PASS [ 38.753357] test_bpf: #164 ALU_OR_K: 0 & 0xffffffff = 0xffffffff jited:0 187 PASS [ 38.755553] test_bpf: #165 ALU64_OR_K: 1 | 2 = 3 jited:0 183 PASS [ 38.757693] test_bpf: #166 ALU64_OR_K: 0 & 0xffffffff = 0xffffffff jited:0 195 PASS [ 38.759975] test_bpf: #167 ALU64_OR_K: 0x0000ffffffff0000 | 0x0 = 0x0000ffff00000000 jited:0 338 PASS [ 38.763728] test_bpf: #168 ALU64_OR_K: 0x0000ffffffff0000 | -1 = 0xffffffffffffffff jited:0 324 PASS [ 38.767311] test_bpf: #169 ALU64_OR_K: 0x000000000000000 | -1 = 0xffffffffffffffff jited:0 309 PASS [ 38.770633] test_bpf: #170 ALU_XOR_X: 5 ^ 6 = 3 jited:0 216 PASS [ 38.776135] test_bpf: #171 ALU_XOR_X: 0x1 ^ 0xffffffff = 0xfffffffe jited:0 414 PASS [ 38.780950] test_bpf: #172 ALU64_XOR_X: 5 ^ 6 = 3 jited:0 320 PASS [ 38.784540] test_bpf: #173 ALU64_XOR_X: 1 ^ 0xffffffff = 0xfffffffe jited:0 223 PASS [ 38.787037] test_bpf: #174 ALU_XOR_K: 5 ^ 6 = 3 jited:0 203 PASS [ 38.789359] test_bpf: #175 ALU_XOR_K: 1 ^ 0xffffffff = 0xfffffffe jited:0 205 PASS [ 38.791707] test_bpf: #176 ALU64_XOR_K: 5 ^ 6 = 3 jited:0 205 PASS [ 38.794045] test_bpf: #177 ALU64_XOR_K: 1 & 0xffffffff = 0xfffffffe jited:0 186 PASS [ 38.796180] test_bpf: #178 ALU64_XOR_K: 0x0000ffffffff0000 ^ 0x0 = 0x0000ffffffff0000 jited:0 352 PASS [ 38.800050] test_bpf: #179 ALU64_XOR_K: 0x0000ffffffff0000 ^ -1 = 0xffff00000000ffff jited:0 353 PASS [ 38.803970] test_bpf: #180 ALU64_XOR_K: 0x000000000000000 ^ -1 = 0xffffffffffffffff jited:0 362 PASS [ 38.808102] test_bpf: #181 ALU_LSH_X: 1 << 1 = 2 jited:0 211 PASS [ 38.810517] test_bpf: #182 ALU_LSH_X: 1 << 31 = 0x80000000 jited:0 216 PASS [ 38.812957] test_bpf: #183 ALU64_LSH_X: 1 << 1 = 2 jited:0 224 PASS [ 38.815480] test_bpf: #184 ALU64_LSH_X: 1 << 31 = 0x80000000 jited:0 223 PASS [ 38.818057] test_bpf: #185 ALU_LSH_K: 1 << 1 = 2 jited:0 208 PASS [ 38.820559] test_bpf: #186 ALU_LSH_K: 1 << 31 = 0x80000000 jited:0 210 PASS [ 38.823011] test_bpf: #187 ALU64_LSH_K: 1 << 1 = 2 jited:0 211 PASS [ 38.825737] test_bpf: #188 ALU64_LSH_K: 1 << 31 = 0x80000000 jited:0 182 PASS [ 38.828021] test_bpf: #189 ALU_RSH_X: 2 >> 1 = 1 jited:0 226 PASS [ 38.830655] test_bpf: #190 ALU_RSH_X: 0x80000000 >> 31 = 1 jited:0 225 PASS [ 38.833287] test_bpf: #191 ALU64_RSH_X: 2 >> 1 = 1 jited:0 289 PASS [ 38.836535] test_bpf: #192 ALU64_RSH_X: 0x80000000 >> 31 = 1 jited:0 253 PASS [ 38.839501] test_bpf: #193 ALU_RSH_K: 2 >> 1 = 1 jited:0 207 PASS [ 38.842025] test_bpf: #194 ALU_RSH_K: 0x80000000 >> 31 = 1 jited:0 210 PASS [ 38.844570] test_bpf: #195 ALU64_RSH_K: 2 >> 1 = 1 jited:0 232 PASS [ 38.847341] test_bpf: #196 ALU64_RSH_K: 0x80000000 >> 31 = 1 jited:0 208 PASS [ 38.849849] test_bpf: #197 ALU_ARSH_X: 0xff00ff0000000000 >> 40 = 0xffffffffffff00ff jited:0 252 PASS [ 38.852728] test_bpf: #198 ALU_ARSH_K: 0xff00ff0000000000 >> 40 = 0xffffffffffff00ff jited:0 197 PASS [ 38.855165] test_bpf: #199 ALU_NEG: -(3) = -3 jited:0 189 PASS [ 38.857410] test_bpf: #200 ALU_NEG: -(-3) = 3 jited:0 171 PASS [ 38.859380] test_bpf: #201 ALU64_NEG: -(3) = -3 jited:0 179 PASS [ 38.861411] test_bpf: #202 ALU64_NEG: -(-3) = 3 jited:0 180 PASS [ 38.863491] test_bpf: #203 ALU_END_FROM_BE 16: 0x0123456789abcdef -> 0xcdef jited:0 202 PASS [ 38.865978] test_bpf: #204 ALU_END_FROM_BE 32: 0x0123456789abcdef -> 0x89abcdef jited:0 368 PASS [ 38.869957] test_bpf: #205 ALU_END_FROM_BE 64: 0x0123456789abcdef -> 0x89abcdef jited:0 244 PASS [ 38.872708] test_bpf: #206 ALU_END_FROM_LE 16: 0x0123456789abcdef -> 0xefcd jited:0 274 PASS [ 38.875930] test_bpf: #207 ALU_END_FROM_LE 32: 0x0123456789abcdef -> 0xefcdab89 jited:0 319 PASS [ 38.879417] test_bpf: #208 ALU_END_FROM_LE 64: 0x0123456789abcdef -> 0x67452301 jited:0 193 PASS [ 38.881653] test_bpf: #209 ST_MEM_B: Store/Load byte: max negative jited:0 219 PASS [ 38.884143] test_bpf: #210 ST_MEM_B: Store/Load byte: max positive jited:0 227 PASS [ 38.886902] test_bpf: #211 STX_MEM_B: Store/Load byte: max negative jited:0 251 PASS [ 38.889691] test_bpf: #212 ST_MEM_H: Store/Load half word: max negative jited:0 218 PASS [ 38.892132] test_bpf: #213 ST_MEM_H: Store/Load half word: max positive jited:0 208 PASS [ 38.894448] test_bpf: #214 STX_MEM_H: Store/Load half word: max negative jited:0 259 PASS [ 38.897504] test_bpf: #215 ST_MEM_W: Store/Load word: max negative jited:0 253 PASS [ 38.900355] test_bpf: #216 ST_MEM_W: Store/Load word: max positive jited:0 244 PASS [ 38.903051] test_bpf: #217 STX_MEM_W: Store/Load word: max negative jited:0 297 PASS [ 38.906372] test_bpf: #218 ST_MEM_DW: Store/Load double word: max negative jited:0 257 PASS [ 38.909268] test_bpf: #219 ST_MEM_DW: Store/Load double word: max negative 2 jited:0 392 PASS [ 38.913520] test_bpf: #220 ST_MEM_DW: Store/Load double word: max positive jited:0 292 PASS [ 38.916792] test_bpf: #221 STX_MEM_DW: Store/Load double word: max negative jited:0 259 PASS [ 38.919654] test_bpf: #222 STX_XADD_W: Test: 0x12 + 0x10 = 0x22 jited:0 262 PASS [ 38.922517] test_bpf: #223 STX_XADD_W: Test side-effects, r10: 0x12 + 0x10 = 0x22 jited:0 PASS [ 38.922764] test_bpf: #224 STX_XADD_W: Test side-effects, r0: 0x12 + 0x10 = 0x22 jited:0 221 PASS [ 38.925373] test_bpf: #225 STX_XADD_W: X + 1 + 1 + 1 + ... jited:0 142719 PASS [ 40.352892] test_bpf: #226 STX_XADD_DW: Test: 0x12 + 0x10 = 0x22 jited:0 345 PASS [ 40.356940] test_bpf: #227 STX_XADD_DW: Test side-effects, r10: 0x12 + 0x10 = 0x22 jited:0 PASS [ 40.357188] test_bpf: #228 STX_XADD_DW: Test side-effects, r0: 0x12 + 0x10 = 0x22 jited:0 254 PASS [ 40.359954] test_bpf: #229 STX_XADD_DW: X + 1 + 1 + 1 + ... jited:0 349891 PASS [ 43.859287] test_bpf: #230 JMP_EXIT jited:0 127 PASS [ 43.861346] test_bpf: #231 JMP_JA: Unconditional jump: if (true) return 1 jited:0 194 PASS [ 43.863538] test_bpf: #232 JMP_JSGT_K: Signed jump: if (-1 > -2) return 1 jited:0 262 PASS [ 43.866400] test_bpf: #233 JMP_JSGT_K: Signed jump: if (-1 > -1) return 0 jited:0 249 PASS [ 43.869132] test_bpf: #234 JMP_JSGE_K: Signed jump: if (-1 >= -2) return 1 jited:0 262 PASS [ 43.872046] test_bpf: #235 JMP_JSGE_K: Signed jump: if (-1 >= -1) return 1 jited:0 260 PASS [ 43.874890] test_bpf: #236 JMP_JGT_K: if (3 > 2) return 1 jited:0 260 PASS [ 43.877701] test_bpf: #237 JMP_JGT_K: Unsigned jump: if (-1 > 1) return 1 jited:0 278 PASS [ 43.880801] test_bpf: #238 JMP_JGE_K: if (3 >= 2) return 1 jited:0 255 PASS [ 43.883637] test_bpf: #239 JMP_JGT_K: if (3 > 2) return 1 (jump backwards) jited:0 321 PASS [ 43.887202] test_bpf: #240 JMP_JGE_K: if (3 >= 3) return 1 jited:0 340 PASS [ 43.891306] test_bpf: #241 JMP_JNE_K: if (3 != 2) return 1 jited:0 310 PASS [ 43.895036] test_bpf: #242 JMP_JEQ_K: if (3 == 3) return 1 jited:0 310 PASS [ 43.898963] test_bpf: #243 JMP_JSET_K: if (0x3 & 0x2) return 1 jited:0 276 PASS [ 43.902034] test_bpf: #244 JMP_JSET_K: if (0x3 & 0xffffffff) return 1 jited:0 312 PASS [ 43.905679] test_bpf: #245 JMP_JSGT_X: Signed jump: if (-1 > -2) return 1 jited:0 346 PASS [ 43.909500] test_bpf: #246 JMP_JSGT_X: Signed jump: if (-1 > -1) return 0 jited:0 292 PASS [ 43.912696] test_bpf: #247 JMP_JSGE_X: Signed jump: if (-1 >= -2) return 1 jited:0 318 PASS [ 43.916115] test_bpf: #248 JMP_JSGE_X: Signed jump: if (-1 >= -1) return 1 jited:0 287 PASS [ 43.919236] test_bpf: #249 JMP_JGT_X: if (3 > 2) return 1 jited:0 316 PASS [ 43.922749] test_bpf: #250 JMP_JGT_X: Unsigned jump: if (-1 > 1) return 1 jited:0 400 PASS [ 43.927178] test_bpf: #251 JMP_JGE_X: if (3 >= 2) return 1 jited:0 287 PASS [ 43.930323] test_bpf: #252 JMP_JGE_X: if (3 >= 3) return 1 jited:0 287 PASS [ 43.933432] test_bpf: #253 JMP_JGE_X: ldimm64 test 1 jited:0 323 PASS [ 43.936912] test_bpf: #254 JMP_JGE_X: ldimm64 test 2 jited:0 298 PASS [ 43.940168] test_bpf: #255 JMP_JGE_X: ldimm64 test 3 jited:0 263 PASS [ 43.943062] test_bpf: #256 JMP_JNE_X: if (3 != 2) return 1 jited:0 313 PASS [ 43.946483] test_bpf: #257 JMP_JEQ_X: if (3 == 3) return 1 jited:0 308 PASS [ 43.949817] test_bpf: #258 JMP_JSET_X: if (0x3 & 0x2) return 1 jited:0 359 PASS [ 43.953715] test_bpf: #259 JMP_JSET_X: if (0x3 & 0xffffffff) return 1 jited:0 421 PASS [ 43.958350] test_bpf: #260 JMP_JA: Jump, gap, jump, ... jited:0 309 PASS [ 43.961783] test_bpf: #261 BPF_MAXINSNS: Maximum possible literals jited:0 251 PASS [ 43.969019] test_bpf: #262 BPF_MAXINSNS: Single literal jited:0 286 PASS [ 43.976250] test_bpf: #263 BPF_MAXINSNS: Run/add until end jited:0 254969 PASS [ 46.530754] test_bpf: #264 BPF_MAXINSNS: Too many instructions PASS [ 46.531227] test_bpf: #265 BPF_MAXINSNS: Very long jump jited:0 284 PASS [ 46.538925] test_bpf: #266 BPF_MAXINSNS: Ctx heavy transformations jited:0 548311 560800 PASS [ 57.635685] test_bpf: #267 BPF_MAXINSNS: Call heavy transformations jited:0 949505 881276 PASS [ 75.951893] test_bpf: #268 BPF_MAXINSNS: Jump heavy test jited:0 480796 PASS [ 80.765143] test_bpf: #269 BPF_MAXINSNS: Very long jump backwards jited:0 193 PASS [ 80.767750] test_bpf: #270 BPF_MAXINSNS: Edge hopping nuthouse jited:0 114304 PASS [ 81.911103] test_bpf: #271 BPF_MAXINSNS: Jump, gap, jump, ... jited:0 1884 PASS [ 81.935374] test_bpf: #272 BPF_MAXINSNS: ld_abs+get_processor_id jited:0 546269 PASS [ 87.405760] test_bpf: #273 BPF_MAXINSNS: ld_abs+vlan_push/pop jited:0 594906 PASS [ 93.356075] test_bpf: #274 LD_IND byte frag jited:0 695 PASS [ 93.364087] test_bpf: #275 LD_IND halfword frag jited:0 818 PASS [ 93.372861] test_bpf: #276 LD_IND word frag jited:0 837 PASS [ 93.381738] test_bpf: #277 LD_IND halfword mixed head/frag jited:0 1170 PASS [ 93.394096] test_bpf: #278 LD_IND word mixed head/frag jited:0 950 PASS [ 93.404149] test_bpf: #279 LD_ABS byte frag jited:0 953 PASS [ 93.414270] test_bpf: #280 LD_ABS halfword frag jited:0 754 PASS [ 93.422281] test_bpf: #281 LD_ABS word frag jited:0 1133 PASS [ 93.434166] test_bpf: #282 LD_ABS halfword mixed head/frag jited:0 1079 PASS [ 93.445353] test_bpf: #283 LD_ABS word mixed head/frag jited:0 718 PASS [ 93.452901] test_bpf: #284 LD_IND byte default X jited:0 297 PASS [ 93.456118] test_bpf: #285 LD_IND byte positive offset jited:0 300 PASS [ 93.459342] test_bpf: #286 LD_IND byte negative offset jited:0 296 PASS [ 93.462553] test_bpf: #287 LD_IND halfword positive offset jited:0 333 PASS [ 93.466116] test_bpf: #288 LD_IND halfword negative offset jited:0 306 PASS [ 93.469402] test_bpf: #289 LD_IND halfword unaligned jited:0 307 PASS [ 93.472711] test_bpf: #290 LD_IND word positive offset jited:0 337 PASS [ 93.476296] test_bpf: #291 LD_IND word negative offset jited:0 312 PASS [ 93.479676] test_bpf: #292 LD_IND word unaligned (addr & 3 == 2) jited:0 309 PASS [ 93.482987] test_bpf: #293 LD_IND word unaligned (addr & 3 == 1) jited:0 335 PASS [ 93.486601] test_bpf: #294 LD_IND word unaligned (addr & 3 == 3) jited:0 305 PASS [ 93.489878] test_bpf: #295 LD_ABS byte jited:0 269 PASS [ 93.492784] test_bpf: #296 LD_ABS halfword jited:0 294 PASS [ 93.495950] test_bpf: #297 LD_ABS halfword unaligned jited:0 271 PASS [ 93.498895] test_bpf: #298 LD_ABS word jited:0 265 PASS [ 93.501756] test_bpf: #299 LD_ABS word unaligned (addr & 3 == 2) jited:0 267 PASS [ 93.504667] test_bpf: #300 LD_ABS word unaligned (addr & 3 == 1) jited:0 269 PASS [ 93.507584] test_bpf: #301 LD_ABS word unaligned (addr & 3 == 3) jited:0 281 PASS [ 93.510665] test_bpf: #302 ADD default X jited:0 296 PASS [ 93.513830] test_bpf: #303 ADD default A jited:0 309 PASS [ 93.517144] test_bpf: #304 SUB default X jited:0 290 PASS [ 93.520249] test_bpf: #305 SUB default A jited:0 252 PASS [ 93.522974] test_bpf: #306 MUL default X jited:0 322 PASS [ 93.526403] test_bpf: #307 MUL default A jited:0 267 PASS [ 93.529277] test_bpf: #308 DIV default X jited:0 293 PASS [ 93.532414] test_bpf: #309 DIV default A jited:0 336 PASS [ 93.535988] test_bpf: #310 MOD default X jited:0 284 PASS [ 93.539032] test_bpf: #311 MOD default A jited:0 435 PASS [ 93.543608] test_bpf: #312 JMP EQ default A jited:0 352 PASS [ 93.547355] test_bpf: #313 JMP EQ default X jited:0 357 PASS [ 93.551176] test_bpf: Summary: 314 PASSED, 0 FAILED, [0/306 JIT'ed] 2) JIT enabled [root at vexpress modules]# insmod test_bpf.ko [ 53.785470] test_bpf: #0 TAX jited:1 234 171 195 PASS [ 53.794856] test_bpf: #1 TXA jited:1 81 79 77 PASS [ 53.803927] test_bpf: #2 ADD_SUB_MUL_K jited:1 89 PASS [ 53.805542] test_bpf: #3 DIV_MOD_KX jited:1 939 PASS [ 53.816227] test_bpf: #4 AND_OR_LSH_K jited:1 116 114 PASS [ 53.821088] test_bpf: #5 LD_IMM_0 jited:1 93 PASS [ 53.822900] test_bpf: #6 LD_IND jited:1 371 279 274 PASS [ 53.833030] test_bpf: #7 LD_ABS jited:1 408 402 272 PASS [ 53.844767] test_bpf: #8 LD_ABS_LL jited:1 387 346 PASS [ 53.852730] test_bpf: #9 LD_IND_LL jited:1 239 248 217 PASS [ 53.860410] test_bpf: #10 LD_ABS_NET jited:1 356 332 PASS [ 53.867897] test_bpf: #11 LD_IND_NET jited:1 223 212 320 PASS [ 53.876076] test_bpf: #12 LD_PKTTYPE jited:1 102 90 PASS [ 53.878660] test_bpf: #13 LD_MARK jited:1 80 80 PASS [ 53.880695] test_bpf: #14 LD_RXHASH jited:1 73 71 PASS [ 53.882488] test_bpf: #15 LD_QUEUE jited:1 120 121 PASS [ 53.885266] test_bpf: #16 LD_PROTOCOL jited:1 256 247 PASS [ 53.890918] test_bpf: #17 LD_VLAN_TAG jited:1 82 84 PASS [ 53.893002] test_bpf: #18 LD_VLAN_TAG_PRESENT jited:1 80 77 PASS [ 53.894946] test_bpf: #19 LD_IFINDEX jited:1 87 98 PASS [ 53.897261] test_bpf: #20 LD_HATYPE jited:1 95 90 PASS [ 53.899466] test_bpf: #21 LD_CPU [ 53.899663] bpf_jit: *** NOT YET: opcode 85 *** [ 53.899796] jited:0 722 837 PASS [ 53.915645] test_bpf: #22 LD_NLATTR jited:0 593 659 PASS [ 53.928662] test_bpf: #23 LD_NLATTR_NEST jited:0 2186 2964 PASS [ 53.980966] test_bpf: #24 LD_PAYLOAD_OFF jited:0 3891 5637 PASS [ 54.076878] test_bpf: #25 LD_ANC_XOR jited:1 86 100 PASS [ 54.079241] test_bpf: #26 SPILL_FILL jited:1 131 137 123 PASS [ 54.084092] test_bpf: #27 JEQ jited:1 266 189 216 PASS [ 54.091500] test_bpf: #28 JGT jited:1 301 211 192 PASS [ 54.099467] test_bpf: #29 JGE jited:1 191 200 223 PASS [ 54.106275] test_bpf: #30 JSET jited:1 211 210 214 PASS [ 54.113660] test_bpf: #31 tcpdump port 22 jited:1 314 722 711 PASS [ 54.131943] test_bpf: #32 tcpdump complex jited:1 291 707 1068 PASS [ 54.153409] test_bpf: #33 RET_A jited:1 83 88 PASS [ 54.155617] test_bpf: #34 INT: ADD trivial jited:1 162 PASS [ 54.158387] test_bpf: #35 INT: MUL_X jited:1 176 PASS [ 54.161075] test_bpf: #36 INT: MUL_X2 jited:1 84 PASS [ 54.162483] test_bpf: #37 INT: MUL32_X jited:1 99 PASS [ 54.163849] test_bpf: #38 INT: ADD 64-bit jited:1 1066 PASS [ 54.175468] test_bpf: #39 INT: ADD 32-bit jited:1 666 PASS [ 54.182860] test_bpf: #40 INT: SUB jited:1 3236 PASS [ 54.215932] test_bpf: #41 INT: XOR jited:1 308 PASS [ 54.219704] test_bpf: #42 INT: MUL jited:1 376 PASS [ 54.224452] test_bpf: #43 MOV REG64 jited:1 227 PASS [ 54.227383] test_bpf: #44 MOV REG32 jited:1 171 PASS [ 54.229618] test_bpf: #45 LD IMM64 jited:1 163 PASS [ 54.231875] test_bpf: #46 INT: ALU MIX jited:0 1277 PASS [ 54.245188] test_bpf: #47 INT: shifts by register jited:1 208 PASS [ 54.248151] test_bpf: #48 INT: DIV + ABS jited:1 659 601 PASS [ 54.261395] test_bpf: #49 INT: DIV by zero jited:1 317 169 PASS [ 54.266949] test_bpf: #50 check: missing ret PASS [ 54.267418] test_bpf: #51 check: div_k_0 PASS [ 54.267631] test_bpf: #52 check: unknown insn PASS [ 54.267804] test_bpf: #53 check: out of range spill/fill PASS [ 54.268008] test_bpf: #54 JUMPS + HOLES jited:1 358 PASS [ 54.272201] test_bpf: #55 check: RET X PASS [ 54.273054] test_bpf: #56 check: LDX + RET X PASS [ 54.273226] test_bpf: #57 M[]: alt STX + LDX jited:1 456 PASS [ 54.278359] test_bpf: #58 M[]: full STX + full LDX jited:1 438 PASS [ 54.283300] test_bpf: #59 check: SKF_AD_MAX PASS [ 54.283576] test_bpf: #60 LD [SKF_AD_OFF-1] jited:1 198 PASS [ 54.285812] test_bpf: #61 load 64-bit immediate jited:1 125 PASS [ 54.287556] test_bpf: #62 nmap reduced jited:1 1054 PASS [ 54.298630] test_bpf: #63 ALU_MOV_X: dst = 2 jited:1 81 PASS [ 54.300079] test_bpf: #64 ALU_MOV_X: dst = 4294967295 jited:1 85 PASS [ 54.301462] test_bpf: #65 ALU64_MOV_X: dst = 2 jited:1 96 PASS [ 54.303048] test_bpf: #66 ALU64_MOV_X: dst = 4294967295 jited:1 71 PASS [ 54.304115] test_bpf: #67 ALU_MOV_K: dst = 2 jited:1 70 PASS [ 54.305148] test_bpf: #68 ALU_MOV_K: dst = 4294967295 jited:1 71 PASS [ 54.306222] test_bpf: #69 ALU_MOV_K: 0x0000ffffffff0000 = 0x00000000ffffffff jited:1 97 PASS [ 54.307659] test_bpf: #70 ALU64_MOV_K: dst = 2 jited:1 75 PASS [ 54.308750] test_bpf: #71 ALU64_MOV_K: dst = 2147483647 jited:1 66 PASS [ 54.309773] test_bpf: #72 ALU64_OR_K: dst = 0x0 jited:1 92 PASS [ 54.311093] test_bpf: #73 ALU64_MOV_K: dst = -1 jited:1 94 PASS [ 54.312383] test_bpf: #74 ALU_ADD_X: 1 + 2 = 3 jited:1 66 PASS [ 54.313388] test_bpf: #75 ALU_ADD_X: 1 + 4294967294 = 4294967295 jited:1 66 PASS [ 54.314430] test_bpf: #76 ALU_ADD_X: 2 + 4294967294 = 0 jited:1 87 PASS [ 54.315756] test_bpf: #77 ALU64_ADD_X: 1 + 2 = 3 jited:1 77 PASS [ 54.316892] test_bpf: #78 ALU64_ADD_X: 1 + 4294967294 = 4294967295 jited:1 72 PASS [ 54.318015] test_bpf: #79 ALU64_ADD_X: 2 + 4294967294 = 4294967296 jited:1 79 PASS [ 54.319181] test_bpf: #80 ALU_ADD_K: 1 + 2 = 3 jited:1 75 PASS [ 54.320261] test_bpf: #81 ALU_ADD_K: 3 + 0 = 3 jited:1 71 PASS [ 54.321307] test_bpf: #82 ALU_ADD_K: 1 + 4294967294 = 4294967295 jited:1 67 PASS [ 54.322342] test_bpf: #83 ALU_ADD_K: 4294967294 + 2 = 0 jited:1 82 PASS [ 54.323600] test_bpf: #84 ALU_ADD_K: 0 + (-1) = 0x00000000ffffffff jited:1 86 PASS [ 54.325898] test_bpf: #85 ALU_ADD_K: 0 + 0xffff = 0xffff jited:1 99 PASS [ 54.327242] test_bpf: #86 ALU_ADD_K: 0 + 0x7fffffff = 0x7fffffff jited:1 113 PASS [ 54.328684] test_bpf: #87 ALU_ADD_K: 0 + 0x80000000 = 0x80000000 jited:1 123 PASS [ 54.330224] test_bpf: #88 ALU_ADD_K: 0 + 0x80008000 = 0x80008000 jited:1 85 PASS [ 54.331395] test_bpf: #89 ALU64_ADD_K: 1 + 2 = 3 jited:1 66 PASS [ 54.332375] test_bpf: #90 ALU64_ADD_K: 3 + 0 = 3 jited:1 66 PASS [ 54.333381] test_bpf: #91 ALU64_ADD_K: 1 + 2147483646 = 2147483647 jited:1 69 PASS [ 54.334397] test_bpf: #92 ALU64_ADD_K: 4294967294 + 2 = 4294967296 jited:1 109 PASS [ 54.335818] test_bpf: #93 ALU64_ADD_K: 2147483646 + -2147483647 = -1 jited:1 72 PASS [ 54.336873] test_bpf: #94 ALU64_ADD_K: 1 + 0 = 1 jited:1 126 PASS [ 54.338484] test_bpf: #95 ALU64_ADD_K: 0 + (-1) = 0xffffffffffffffff jited:1 107 PASS [ 54.340100] test_bpf: #96 ALU64_ADD_K: 0 + 0xffff = 0xffff jited:1 98 PASS [ 54.341569] test_bpf: #97 ALU64_ADD_K: 0 + 0x7fffffff = 0x7fffffff jited:1 87 PASS [ 54.342794] test_bpf: #98 ALU64_ADD_K: 0 + 0x80000000 = 0xffffffff80000000 jited:1 98 PASS [ 54.344142] test_bpf: #99 ALU_ADD_K: 0 + 0x80008000 = 0xffffffff80008000 jited:1 92 PASS [ 54.345399] test_bpf: #100 ALU_SUB_X: 3 - 1 = 2 jited:1 77 PASS [ 54.346726] test_bpf: #101 ALU_SUB_X: 4294967295 - 4294967294 = 1 jited:1 72 PASS [ 54.347794] test_bpf: #102 ALU64_SUB_X: 3 - 1 = 2 jited:1 72 PASS [ 54.348826] test_bpf: #103 ALU64_SUB_X: 4294967295 - 4294967294 = 1 jited:1 71 PASS [ 54.349843] test_bpf: #104 ALU_SUB_K: 3 - 1 = 2 jited:1 120 PASS [ 54.351486] test_bpf: #105 ALU_SUB_K: 3 - 0 = 3 jited:1 82 PASS [ 54.352814] test_bpf: #106 ALU_SUB_K: 4294967295 - 4294967294 = 1 jited:1 103 PASS [ 54.354550] test_bpf: #107 ALU64_SUB_K: 3 - 1 = 2 jited:1 140 PASS [ 54.356822] test_bpf: #108 ALU64_SUB_K: 3 - 0 = 3 jited:1 117 PASS [ 54.359156] test_bpf: #109 ALU64_SUB_K: 4294967294 - 4294967295 = -1 jited:1 83 PASS [ 54.360401] test_bpf: #110 ALU64_ADD_K: 2147483646 - 2147483647 = -1 jited:1 77 PASS [ 54.361515] test_bpf: #111 ALU_MUL_X: 2 * 3 = 6 jited:1 68 PASS [ 54.362528] test_bpf: #112 ALU_MUL_X: 2 * 0x7FFFFFF8 = 0xFFFFFFF0 jited:1 70 PASS [ 54.363572] test_bpf: #113 ALU_MUL_X: -1 * -1 = 1 jited:1 73 PASS [ 54.364644] test_bpf: #114 ALU64_MUL_X: 2 * 3 = 6 jited:1 70 PASS [ 54.365655] test_bpf: #115 ALU64_MUL_X: 1 * 2147483647 = 2147483647 jited:1 75 PASS [ 54.366719] test_bpf: #116 ALU_MUL_K: 2 * 3 = 6 jited:1 67 PASS [ 54.367707] test_bpf: #117 ALU_MUL_K: 3 * 1 = 3 jited:1 71 PASS [ 54.368726] test_bpf: #118 ALU_MUL_K: 2 * 0x7FFFFFF8 = 0xFFFFFFF0 jited:1 70 PASS [ 54.369733] test_bpf: #119 ALU_MUL_K: 1 * (-1) = 0x00000000ffffffff jited:1 153 PASS [ 54.371617] test_bpf: #120 ALU64_MUL_K: 2 * 3 = 6 jited:1 101 PASS [ 54.373505] test_bpf: #121 ALU64_MUL_K: 3 * 1 = 3 jited:1 108 PASS [ 54.375362] test_bpf: #122 ALU64_MUL_K: 1 * 2147483647 = 2147483647 jited:1 106 PASS [ 54.377242] test_bpf: #123 ALU64_MUL_K: 1 * -2147483647 = -2147483647 jited:1 92 PASS [ 54.379044] test_bpf: #124 ALU64_MUL_K: 1 * (-1) = 0xffffffffffffffff jited:1 122 PASS [ 54.380863] test_bpf: #125 ALU_DIV_X: 6 / 2 = 3 jited:1 220 PASS [ 54.383591] test_bpf: #126 ALU_DIV_X: 4294967295 / 4294967295 = 1 jited:1 208 PASS [ 54.386292] test_bpf: #127 ALU64_DIV_X: 6 / 2 = 3 jited:0 736 PASS [ 54.394242] test_bpf: #128 ALU64_DIV_X: 2147483647 / 2147483647 = 1 jited:0 464 PASS [ 54.399433] test_bpf: #129 ALU64_DIV_X: 0xffffffffffffffff / (-1) = 0x0000000000000001 jited:0 743 PASS [ 54.407799] test_bpf: #130 ALU_DIV_K: 6 / 2 = 3 jited:1 246 PASS [ 54.410964] test_bpf: #131 ALU_DIV_K: 3 / 1 = 3 jited:1 199 PASS [ 54.413410] test_bpf: #132 ALU_DIV_K: 4294967295 / 4294967295 = 1 jited:1 192 PASS [ 54.415782] test_bpf: #133 ALU_DIV_K: 0xffffffffffffffff / (-1) = 0x1 jited:1 215 PASS [ 54.418414] test_bpf: #134 ALU64_DIV_K: 6 / 2 = 3 jited:0 364 PASS [ 54.422379] test_bpf: #135 ALU64_DIV_K: 3 / 1 = 3 jited:0 369 PASS [ 54.426692] test_bpf: #136 ALU64_DIV_K: 2147483647 / 2147483647 = 1 jited:0 380 PASS [ 54.430875] test_bpf: #137 ALU64_DIV_K: 0xffffffffffffffff / (-1) = 0x0000000000000001 jited:0 623 PASS [ 54.437429] test_bpf: #138 ALU_MOD_X: 3 % 2 = 1 jited:1 235 PASS [ 54.440177] test_bpf: #139 ALU_MOD_X: 4294967295 % 4294967293 = 2 jited:1 262 PASS [ 54.443183] test_bpf: #140 ALU64_MOD_X: 3 % 2 = 1 jited:0 1524 PASS [ 54.458988] test_bpf: #141 ALU64_MOD_X: 2147483647 % 2147483645 = 2 jited:0 720 PASS [ 54.466677] test_bpf: #142 ALU_MOD_K: 3 % 2 = 1 jited:1 231 PASS [ 54.469383] test_bpf: #143 ALU_MOD_K: 3 % 1 = 0 jited:1 PASS [ 54.469685] test_bpf: #144 ALU_MOD_K: 4294967295 % 4294967293 = 2 jited:1 257 PASS [ 54.472650] test_bpf: #145 ALU64_MOD_K: 3 % 2 = 1 jited:0 481 PASS [ 54.477765] test_bpf: #146 ALU64_MOD_K: 3 % 1 = 0 jited:0 PASS [ 54.478042] test_bpf: #147 ALU64_MOD_K: 2147483647 % 2147483645 = 2 jited:0 513 PASS [ 54.483455] test_bpf: #148 ALU_AND_X: 3 & 2 = 2 jited:1 100 PASS [ 54.484786] test_bpf: #149 ALU_AND_X: 0xffffffff & 0xffffffff = 0xffffffff jited:1 106 PASS [ 54.486335] test_bpf: #150 ALU64_AND_X: 3 & 2 = 2 jited:1 86 PASS [ 54.487738] test_bpf: #151 ALU64_AND_X: 0xffffffff & 0xffffffff = 0xffffffff jited:1 118 PASS [ 54.489623] test_bpf: #152 ALU_AND_K: 3 & 2 = 2 jited:1 117 PASS [ 54.491645] test_bpf: #153 ALU_AND_K: 0xffffffff & 0xffffffff = 0xffffffff jited:1 72 PASS [ 54.493119] test_bpf: #154 ALU64_AND_K: 3 & 2 = 2 jited:1 72 PASS [ 54.494195] test_bpf: #155 ALU64_AND_K: 0xffffffff & 0xffffffff = 0xffffffff jited:1 70 PASS [ 54.495330] test_bpf: #156 ALU64_AND_K: 0x0000ffffffff0000 & 0x0 = 0x0000ffff00000000 jited:1 99 PASS [ 54.496721] test_bpf: #157 ALU64_AND_K: 0x0000ffffffff0000 & -1 = 0x0000ffffffffffff jited:1 97 PASS [ 54.498106] test_bpf: #158 ALU64_AND_K: 0xffffffffffffffff & -1 = 0xffffffffffffffff jited:1 86 PASS [ 54.499343] test_bpf: #159 ALU_OR_X: 1 | 2 = 3 jited:1 73 PASS [ 54.500447] test_bpf: #160 ALU_OR_X: 0x0 | 0xffffffff = 0xffffffff jited:1 72 PASS [ 54.501546] test_bpf: #161 ALU64_OR_X: 1 | 2 = 3 jited:1 89 PASS [ 54.502779] test_bpf: #162 ALU64_OR_X: 0 | 0xffffffff = 0xffffffff jited:1 91 PASS [ 54.504154] test_bpf: #163 ALU_OR_K: 1 | 2 = 3 jited:1 71 PASS [ 54.505223] test_bpf: #164 ALU_OR_K: 0 & 0xffffffff = 0xffffffff jited:1 116 PASS [ 54.506916] test_bpf: #165 ALU64_OR_K: 1 | 2 = 3 jited:1 77 PASS [ 54.508328] test_bpf: #166 ALU64_OR_K: 0 & 0xffffffff = 0xffffffff jited:1 80 PASS [ 54.509666] test_bpf: #167 ALU64_OR_K: 0x0000ffffffff0000 | 0x0 = 0x0000ffff00000000 jited:1 86 PASS [ 54.511012] test_bpf: #168 ALU64_OR_K: 0x0000ffffffff0000 | -1 = 0xffffffffffffffff jited:1 99 PASS [ 54.512432] test_bpf: #169 ALU64_OR_K: 0x000000000000000 | -1 = 0xffffffffffffffff jited:1 147 PASS [ 54.514401] test_bpf: #170 ALU_XOR_X: 5 ^ 6 = 3 jited:1 80 PASS [ 54.515668] test_bpf: #171 ALU_XOR_X: 0x1 ^ 0xffffffff = 0xfffffffe jited:1 73 PASS [ 54.516794] test_bpf: #172 ALU64_XOR_X: 5 ^ 6 = 3 jited:1 71 PASS [ 54.517879] test_bpf: #173 ALU64_XOR_X: 1 ^ 0xffffffff = 0xfffffffe jited:1 72 PASS [ 54.518998] test_bpf: #174 ALU_XOR_K: 5 ^ 6 = 3 jited:1 71 PASS [ 54.520120] test_bpf: #175 ALU_XOR_K: 1 ^ 0xffffffff = 0xfffffffe jited:1 67 PASS [ 54.521181] test_bpf: #176 ALU64_XOR_K: 5 ^ 6 = 3 jited:1 70 PASS [ 54.522292] test_bpf: #177 ALU64_XOR_K: 1 & 0xffffffff = 0xfffffffe jited:1 104 PASS [ 54.523741] test_bpf: #178 ALU64_XOR_K: 0x0000ffffffff0000 ^ 0x0 = 0x0000ffffffff0000 jited:1 96 PASS [ 54.525269] test_bpf: #179 ALU64_XOR_K: 0x0000ffffffff0000 ^ -1 = 0xffff00000000ffff jited:1 119 PASS [ 54.526875] test_bpf: #180 ALU64_XOR_K: 0x000000000000000 ^ -1 = 0xffffffffffffffff jited:1 116 PASS [ 54.528421] test_bpf: #181 ALU_LSH_X: 1 << 1 = 2 jited:1 100 PASS [ 54.529848] test_bpf: #182 ALU_LSH_X: 1 << 31 = 0x80000000 jited:1 73 PASS [ 54.530965] test_bpf: #183 ALU64_LSH_X: 1 << 1 = 2 jited:1 119 PASS [ 54.532667] test_bpf: #184 ALU64_LSH_X: 1 << 31 = 0x80000000 jited:1 110 PASS [ 54.534257] test_bpf: #185 ALU_LSH_K: 1 << 1 = 2 jited:1 147 PASS [ 54.536290] test_bpf: #186 ALU_LSH_K: 1 << 31 = 0x80000000 jited:1 116 PASS [ 54.538165] test_bpf: #187 ALU64_LSH_K: 1 << 1 = 2 jited:1 154 PASS [ 54.540668] test_bpf: #188 ALU64_LSH_K: 1 << 31 = 0x80000000 jited:1 92 PASS [ 54.542464] test_bpf: #189 ALU_RSH_X: 2 >> 1 = 1 jited:1 86 PASS [ 54.543937] test_bpf: #190 ALU_RSH_X: 0x80000000 >> 31 = 1 jited:1 148 PASS [ 54.545995] test_bpf: #191 ALU64_RSH_X: 2 >> 1 = 1 jited:1 108 PASS [ 54.547759] test_bpf: #192 ALU64_RSH_X: 0x80000000 >> 31 = 1 jited:1 96 PASS [ 54.549178] test_bpf: #193 ALU_RSH_K: 2 >> 1 = 1 jited:1 68 PASS [ 54.550175] test_bpf: #194 ALU_RSH_K: 0x80000000 >> 31 = 1 jited:1 74 PASS [ 54.551208] test_bpf: #195 ALU64_RSH_K: 2 >> 1 = 1 jited:1 66 PASS [ 54.552193] test_bpf: #196 ALU64_RSH_K: 0x80000000 >> 31 = 1 jited:1 95 PASS [ 54.553449] test_bpf: #197 ALU_ARSH_X: 0xff00ff0000000000 >> 40 = 0xffffffffffff00ff jited:1 74 PASS [ 54.554566] test_bpf: #198 ALU_ARSH_K: 0xff00ff0000000000 >> 40 = 0xffffffffffff00ff jited:1 96 PASS [ 54.555984] test_bpf: #199 ALU_NEG: -(3) = -3 jited:1 84 PASS [ 54.557335] test_bpf: #200 ALU_NEG: -(-3) = 3 jited:1 72 PASS [ 54.558442] test_bpf: #201 ALU64_NEG: -(3) = -3 jited:1 74 PASS [ 54.559596] test_bpf: #202 ALU64_NEG: -(-3) = 3 jited:1 68 PASS [ 54.560664] test_bpf: #203 ALU_END_FROM_BE 16: 0x0123456789abcdef -> 0xcdef jited:1 74 PASS [ 54.561814] test_bpf: #204 ALU_END_FROM_BE 32: 0x0123456789abcdef -> 0x89abcdef jited:1 101 PASS [ 54.563242] test_bpf: #205 ALU_END_FROM_BE 64: 0x0123456789abcdef -> 0x89abcdef jited:1 93 PASS [ 54.564578] test_bpf: #206 ALU_END_FROM_LE 16: 0x0123456789abcdef -> 0xefcd jited:1 73 PASS [ 54.565750] test_bpf: #207 ALU_END_FROM_LE 32: 0x0123456789abcdef -> 0xefcdab89 jited:1 76 PASS [ 54.566879] test_bpf: #208 ALU_END_FROM_LE 64: 0x0123456789abcdef -> 0x67452301 jited:1 78 PASS [ 54.568009] test_bpf: #209 ST_MEM_B: Store/Load byte: max negative jited:1 72 PASS [ 54.569258] test_bpf: #210 ST_MEM_B: Store/Load byte: max positive jited:1 79 PASS [ 54.570402] test_bpf: #211 STX_MEM_B: Store/Load byte: max negative jited:1 79 PASS [ 54.571541] test_bpf: #212 ST_MEM_H: Store/Load half word: max negative jited:1 81 PASS [ 54.572896] test_bpf: #213 ST_MEM_H: Store/Load half word: max positive jited:1 100 PASS [ 54.574521] test_bpf: #214 STX_MEM_H: Store/Load half word: max negative jited:1 110 PASS [ 54.576159] test_bpf: #215 ST_MEM_W: Store/Load word: max negative jited:1 75 PASS [ 54.577570] test_bpf: #216 ST_MEM_W: Store/Load word: max positive jited:1 89 PASS [ 54.579195] test_bpf: #217 STX_MEM_W: Store/Load word: max negative jited:1 122 PASS [ 54.581267] test_bpf: #218 ST_MEM_DW: Store/Load double word: max negative jited:1 85 PASS [ 54.582954] test_bpf: #219 ST_MEM_DW: Store/Load double word: max negative 2 jited:1 123 PASS [ 54.584677] test_bpf: #220 ST_MEM_DW: Store/Load double word: max positive jited:1 78 PASS [ 54.585879] test_bpf: #221 STX_MEM_DW: Store/Load double word: max negative jited:1 85 PASS [ 54.587106] test_bpf: #222 STX_XADD_W: Test: 0x12 + 0x10 = 0x22 jited:0 328 PASS [ 54.590869] test_bpf: #223 STX_XADD_W: Test side-effects, r10: 0x12 + 0x10 = 0x22 jited:0 PASS [ 54.591178] test_bpf: #224 STX_XADD_W: Test side-effects, r0: 0x12 + 0x10 = 0x22 jited:0 285 PASS [ 54.594489] test_bpf: #225 STX_XADD_W: X + 1 + 1 + 1 + ... jited:0 158746 PASS [ 56.182499] test_bpf: #226 STX_XADD_DW: Test: 0x12 + 0x10 = 0x22 jited:0 343 PASS [ 56.186642] test_bpf: #227 STX_XADD_DW: Test side-effects, r10: 0x12 + 0x10 = 0x22 jited:0 PASS [ 56.186926] test_bpf: #228 STX_XADD_DW: Test side-effects, r0: 0x12 + 0x10 = 0x22 jited:0 272 PASS [ 56.190021] test_bpf: #229 STX_XADD_DW: X + 1 + 1 + 1 + ... jited:0 194997 PASS [ 58.140569] test_bpf: #230 JMP_EXIT jited:1 82 PASS [ 58.142427] test_bpf: #231 JMP_JA: Unconditional jump: if (true) return 1 jited:1 86 PASS [ 58.155637] test_bpf: #232 JMP_JSGT_K: Signed jump: if (-1 > -2) return 1 jited:1 86 PASS [ 58.157334] test_bpf: #233 JMP_JSGT_K: Signed jump: if (-1 > -1) return 0 jited:1 82 PASS [ 58.158533] test_bpf: #234 JMP_JSGE_K: Signed jump: if (-1 >= -2) return 1 jited:1 72 PASS [ 58.159560] test_bpf: #235 JMP_JSGE_K: Signed jump: if (-1 >= -1) return 1 jited:1 73 PASS [ 58.160538] test_bpf: #236 JMP_JGT_K: if (3 > 2) return 1 jited:1 71 PASS [ 58.161457] test_bpf: #237 JMP_JGT_K: Unsigned jump: if (-1 > 1) return 1 jited:1 72 PASS [ 58.162407] test_bpf: #238 JMP_JGE_K: if (3 >= 2) return 1 jited:1 77 PASS [ 58.163411] test_bpf: #239 JMP_JGT_K: if (3 > 2) return 1 (jump backwards) jited:1 76 PASS [ 58.164416] test_bpf: #240 JMP_JGE_K: if (3 >= 3) return 1 jited:1 74 PASS [ 58.165391] test_bpf: #241 JMP_JNE_K: if (3 != 2) return 1 jited:1 74 PASS [ 58.166375] test_bpf: #242 JMP_JEQ_K: if (3 == 3) return 1 jited:1 78 PASS [ 58.167382] test_bpf: #243 JMP_JSET_K: if (0x3 & 0x2) return 1 jited:1 109 PASS [ 58.168822] test_bpf: #244 JMP_JSET_K: if (0x3 & 0xffffffff) return 1 jited:1 71 PASS [ 58.170396] test_bpf: #245 JMP_JSGT_X: Signed jump: if (-1 > -2) return 1 jited:1 75 PASS [ 58.171568] test_bpf: #246 JMP_JSGT_X: Signed jump: if (-1 > -1) return 0 jited:1 78 PASS [ 58.172804] test_bpf: #247 JMP_JSGE_X: Signed jump: if (-1 >= -2) return 1 jited:1 134 PASS [ 58.175486] test_bpf: #248 JMP_JSGE_X: Signed jump: if (-1 >= -1) return 1 jited:1 102 PASS [ 58.177403] test_bpf: #249 JMP_JGT_X: if (3 > 2) return 1 jited:1 83 PASS [ 58.178806] test_bpf: #250 JMP_JGT_X: Unsigned jump: if (-1 > 1) return 1 jited:1 80 PASS [ 58.180104] test_bpf: #251 JMP_JGE_X: if (3 >= 2) return 1 jited:1 78 PASS [ 58.181230] test_bpf: #252 JMP_JGE_X: if (3 >= 3) return 1 jited:1 116 PASS [ 58.182751] test_bpf: #253 JMP_JGE_X: ldimm64 test 1 jited:1 81 PASS [ 58.183951] test_bpf: #254 JMP_JGE_X: ldimm64 test 2 jited:1 79 PASS [ 58.185334] test_bpf: #255 JMP_JGE_X: ldimm64 test 3 jited:1 78 PASS [ 58.186505] test_bpf: #256 JMP_JNE_X: if (3 != 2) return 1 jited:1 108 PASS [ 58.187991] test_bpf: #257 JMP_JEQ_X: if (3 == 3) return 1 jited:1 102 PASS [ 58.189496] test_bpf: #258 JMP_JSET_X: if (0x3 & 0x2) return 1 jited:1 133 PASS [ 58.191644] test_bpf: #259 JMP_JSET_X: if (0x3 & 0xffffffff) return 1 jited:1 128 PASS [ 58.193631] test_bpf: #260 JMP_JA: Jump, gap, jump, ... jited:1 108 PASS [ 58.195981] test_bpf: #261 BPF_MAXINSNS: Maximum possible literals jited:1 111 PASS [ 58.211020] test_bpf: #262 BPF_MAXINSNS: Single literal jited:1 115 PASS [ 58.226185] test_bpf: #263 BPF_MAXINSNS: Run/add until end jited:1 8481 PASS [ 58.322910] test_bpf: #264 BPF_MAXINSNS: Too many instructions PASS [ 58.323076] test_bpf: #265 BPF_MAXINSNS: Very long jump jited:1 123 PASS [ 58.339381] test_bpf: #266 BPF_MAXINSNS: Ctx heavy transformations jited:1 28166 29032 PASS [ 58.931050] test_bpf: #267 BPF_MAXINSNS: Call heavy transformations jited:0 903498 894192 PASS [ 76.916296] test_bpf: #268 BPF_MAXINSNS: Jump heavy test jited:1 132663 PASS [ 78.260490] test_bpf: #269 BPF_MAXINSNS: Very long jump backwards jited:1 148 PASS [ 78.269590] test_bpf: #270 BPF_MAXINSNS: Edge hopping nuthouse jited:1 277097 PASS [ 81.046383] test_bpf: #271 BPF_MAXINSNS: Jump, gap, jump, ... jited:1 1041 PASS [ 81.076916] test_bpf: #272 BPF_MAXINSNS: ld_abs+get_processor_id jited:0 566894 PASS [ 86.754024] test_bpf: #273 BPF_MAXINSNS: ld_abs+vlan_push/pop jited:0 602040 PASS [ 92.775504] test_bpf: #274 LD_IND byte frag jited:1 574 PASS [ 92.782876] test_bpf: #275 LD_IND halfword frag jited:1 641 PASS [ 92.790062] test_bpf: #276 LD_IND word frag jited:1 731 PASS [ 92.798321] test_bpf: #277 LD_IND halfword mixed head/frag jited:1 741 PASS [ 92.806601] test_bpf: #278 LD_IND word mixed head/frag jited:1 972 PASS [ 92.817542] test_bpf: #279 LD_ABS byte frag jited:1 601 PASS [ 92.824156] test_bpf: #280 LD_ABS halfword frag jited:1 603 PASS [ 92.830806] test_bpf: #281 LD_ABS word frag jited:1 688 PASS [ 92.838273] test_bpf: #282 LD_ABS halfword mixed head/frag jited:1 657 PASS [ 92.845562] test_bpf: #283 LD_ABS word mixed head/frag jited:1 748 PASS [ 92.853678] test_bpf: #284 LD_IND byte default X jited:1 178 PASS [ 92.856290] test_bpf: #285 LD_IND byte positive offset jited:1 187 PASS [ 92.858954] test_bpf: #286 LD_IND byte negative offset jited:1 178 PASS [ 92.861592] test_bpf: #287 LD_IND halfword positive offset jited:1 161 PASS [ 92.863726] test_bpf: #288 LD_IND halfword negative offset jited:1 195 PASS [ 92.866372] test_bpf: #289 LD_IND halfword unaligned jited:1 183 PASS [ 92.868821] test_bpf: #290 LD_IND word positive offset jited:1 170 PASS [ 92.871096] test_bpf: #291 LD_IND word negative offset jited:1 198 PASS [ 92.873832] test_bpf: #292 LD_IND word unaligned (addr & 3 == 2) jited:1 281 PASS [ 92.877321] test_bpf: #293 LD_IND word unaligned (addr & 3 == 1) jited:1 172 PASS [ 92.879493] test_bpf: #294 LD_IND word unaligned (addr & 3 == 3) jited:1 171 PASS [ 92.881590] test_bpf: #295 LD_ABS byte jited:1 162 PASS [ 92.883535] test_bpf: #296 LD_ABS halfword jited:1 160 PASS [ 92.885486] test_bpf: #297 LD_ABS halfword unaligned jited:1 180 PASS [ 92.887650] test_bpf: #298 LD_ABS word jited:1 166 PASS [ 92.889661] test_bpf: #299 LD_ABS word unaligned (addr & 3 == 2) jited:1 157 PASS [ 92.891595] test_bpf: #300 LD_ABS word unaligned (addr & 3 == 1) jited:1 170 PASS [ 92.893662] test_bpf: #301 LD_ABS word unaligned (addr & 3 == 3) jited:1 163 PASS [ 92.895660] test_bpf: #302 ADD default X jited:1 84 PASS [ 92.896895] test_bpf: #303 ADD default A jited:1 79 PASS [ 92.898143] test_bpf: #304 SUB default X jited:1 82 PASS [ 92.899284] test_bpf: #305 SUB default A jited:1 85 PASS [ 92.900529] test_bpf: #306 MUL default X jited:1 76 PASS [ 92.901642] test_bpf: #307 MUL default A jited:1 83 PASS [ 92.903045] test_bpf: #308 DIV default X jited:1 93 PASS [ 92.904524] test_bpf: #309 DIV default A jited:1 203 PASS [ 92.906955] test_bpf: #310 MOD default X jited:1 100 PASS [ 92.908398] test_bpf: #311 MOD default A jited:1 249 PASS [ 92.911232] test_bpf: #312 JMP EQ default A jited:1 83 PASS [ 92.912593] test_bpf: #313 JMP EQ default X jited:1 95 PASS [ 92.913931] test_bpf: Summary: 314 PASSED, 0 FAILED, [278/306 JIT'ed] 3) JIT + blinding enabled: [root at vexpress modules]# insmod test_bpf.ko [ 56.044720] test_bpf: #0 TAX jited:1 239 218 229 PASS [ 56.054736] test_bpf: #1 TXA jited:1 89 119 85 PASS [ 56.064598] test_bpf: #2 ADD_SUB_MUL_K jited:1 213 PASS [ 56.067415] test_bpf: #3 DIV_MOD_KX jited:1 1190 PASS [ 56.080569] test_bpf: #4 AND_OR_LSH_K jited:1 200 149 PASS [ 56.084764] test_bpf: #5 LD_IMM_0 jited:1 101 PASS [ 56.086832] test_bpf: #6 LD_IND jited:1 314 310 283 PASS [ 56.096521] test_bpf: #7 LD_ABS jited:1 376 460 397 PASS [ 56.109604] test_bpf: #8 LD_ABS_LL jited:1 608 415 PASS [ 56.120753] test_bpf: #9 LD_IND_LL jited:1 248 256 268 PASS [ 56.129296] test_bpf: #10 LD_ABS_NET jited:1 435 420 PASS [ 56.138666] test_bpf: #11 LD_IND_NET jited:1 240 228 215 PASS [ 56.146039] test_bpf: #12 LD_PKTTYPE jited:1 211 274 PASS [ 56.151632] test_bpf: #13 LD_MARK jited:1 119 76 PASS [ 56.154522] test_bpf: #14 LD_RXHASH jited:1 78 70 PASS [ 56.156535] test_bpf: #15 LD_QUEUE jited:1 77 73 PASS [ 56.158482] test_bpf: #16 LD_PROTOCOL jited:1 326 320 PASS [ 56.165778] test_bpf: #17 LD_VLAN_TAG jited:1 129 86 PASS [ 56.168783] test_bpf: #18 LD_VLAN_TAG_PRESENT jited:1 87 88 PASS [ 56.170990] test_bpf: #19 LD_IFINDEX jited:1 97 95 PASS [ 56.173444] test_bpf: #20 LD_HATYPE jited:1 94 118 PASS [ 56.176033] test_bpf: #21 LD_CPU [ 56.176329] bpf_jit: *** NOT YET: opcode 85 *** [ 56.176565] jited:0 2639 702 PASS [ 56.210242] test_bpf: #22 LD_NLATTR jited:0 685 2101 PASS [ 56.238881] test_bpf: #23 LD_NLATTR_NEST jited:0 2323 3752 PASS [ 56.300600] test_bpf: #24 LD_PAYLOAD_OFF jited:0 4543 6842 PASS [ 56.415022] test_bpf: #25 LD_ANC_XOR jited:1 168 156 PASS [ 56.419429] test_bpf: #26 SPILL_FILL jited:1 232 212 219 PASS [ 56.427785] test_bpf: #27 JEQ jited:1 362 352 230 PASS [ 56.438180] test_bpf: #28 JGT jited:1 334 236 197 PASS [ 56.446672] test_bpf: #29 JGE jited:1 260 318 307 PASS [ 56.456301] test_bpf: #30 JSET jited:1 274 339 410 PASS [ 56.467681] test_bpf: #31 tcpdump port 22 jited:1 355 951 968 PASS [ 56.492091] test_bpf: #32 tcpdump complex jited:1 318 798 1308 PASS [ 56.517843] test_bpf: #33 RET_A jited:1 83 76 PASS [ 56.520000] test_bpf: #34 INT: ADD trivial jited:1 152 PASS [ 56.522183] test_bpf: #35 INT: MUL_X jited:1 192 PASS [ 56.524626] test_bpf: #36 INT: MUL_X2 jited:1 165 PASS [ 56.526762] test_bpf: #37 INT: MUL32_X jited:1 163 PASS [ 56.528828] test_bpf: #38 INT: ADD 64-bit jited:1 1507 PASS [ 56.544862] test_bpf: #39 INT: ADD 32-bit jited:1 954 PASS [ 56.555409] test_bpf: #40 INT: SUB jited:1 1159 PASS [ 56.567960] test_bpf: #41 INT: XOR jited:1 480 PASS [ 56.573431] test_bpf: #42 INT: MUL jited:1 486 PASS [ 56.579305] test_bpf: #43 MOV REG64 jited:1 274 PASS [ 56.583045] test_bpf: #44 MOV REG32 jited:1 253 PASS [ 56.586138] test_bpf: #45 LD IMM64 jited:1 578 PASS [ 56.592580] test_bpf: #46 INT: ALU MIX jited:0 1199 PASS [ 56.605346] test_bpf: #47 INT: shifts by register jited:1 381 PASS [ 56.610159] test_bpf: #48 INT: DIV + ABS jited:1 588 482 PASS [ 56.621545] test_bpf: #49 INT: DIV by zero jited:1 276 199 PASS [ 56.626894] test_bpf: #50 check: missing ret PASS [ 56.627249] test_bpf: #51 check: div_k_0 PASS [ 56.627403] test_bpf: #52 check: unknown insn PASS [ 56.627518] test_bpf: #53 check: out of range spill/fill PASS [ 56.627639] test_bpf: #54 JUMPS + HOLES jited:1 371 PASS [ 56.632295] test_bpf: #55 check: RET X PASS [ 56.632615] test_bpf: #56 check: LDX + RET X PASS [ 56.632748] test_bpf: #57 M[]: alt STX + LDX jited:1 621 PASS [ 56.639774] test_bpf: #58 M[]: full STX + full LDX jited:1 586 PASS [ 56.646535] test_bpf: #59 check: SKF_AD_MAX PASS [ 56.646837] test_bpf: #60 LD [SKF_AD_OFF-1] jited:1 195 PASS [ 56.649245] test_bpf: #61 load 64-bit immediate jited:1 220 PASS [ 56.652259] test_bpf: #62 nmap reduced jited:1 816 PASS [ 56.661508] test_bpf: #63 ALU_MOV_X: dst = 2 jited:1 76 PASS [ 56.662760] test_bpf: #64 ALU_MOV_X: dst = 4294967295 jited:1 79 PASS [ 56.663905] test_bpf: #65 ALU64_MOV_X: dst = 2 jited:1 80 PASS [ 56.665158] test_bpf: #66 ALU64_MOV_X: dst = 4294967295 jited:1 79 PASS [ 56.666297] test_bpf: #67 ALU_MOV_K: dst = 2 jited:1 75 PASS [ 56.667389] test_bpf: #68 ALU_MOV_K: dst = 4294967295 jited:1 73 PASS [ 56.668504] test_bpf: #69 ALU_MOV_K: 0x0000ffffffff0000 = 0x00000000ffffffff jited:1 195 PASS [ 56.670934] test_bpf: #70 ALU64_MOV_K: dst = 2 jited:1 77 PASS [ 56.672115] test_bpf: #71 ALU64_MOV_K: dst = 2147483647 jited:1 104 PASS [ 56.673550] test_bpf: #72 ALU64_OR_K: dst = 0x0 jited:1 215 PASS [ 56.676139] test_bpf: #73 ALU64_MOV_K: dst = -1 jited:1 173 PASS [ 56.687141] test_bpf: #74 ALU_ADD_X: 1 + 2 = 3 jited:1 114 PASS [ 56.688839] test_bpf: #75 ALU_ADD_X: 1 + 4294967294 = 4294967295 jited:1 112 PASS [ 56.690248] test_bpf: #76 ALU_ADD_X: 2 + 4294967294 = 0 jited:1 186 PASS [ 56.692428] test_bpf: #77 ALU64_ADD_X: 1 + 2 = 3 jited:1 159 PASS [ 56.694388] test_bpf: #78 ALU64_ADD_X: 1 + 4294967294 = 4294967295 jited:1 109 PASS [ 56.696115] test_bpf: #79 ALU64_ADD_X: 2 + 4294967294 = 4294967296 jited:1 218 PASS [ 56.698754] test_bpf: #80 ALU_ADD_K: 1 + 2 = 3 jited:1 120 PASS [ 56.700479] test_bpf: #81 ALU_ADD_K: 3 + 0 = 3 jited:1 118 PASS [ 56.702378] test_bpf: #82 ALU_ADD_K: 1 + 4294967294 = 4294967295 jited:1 121 PASS [ 56.704284] test_bpf: #83 ALU_ADD_K: 4294967294 + 2 = 0 jited:1 139 PASS [ 56.706363] test_bpf: #84 ALU_ADD_K: 0 + (-1) = 0x00000000ffffffff jited:1 176 PASS [ 56.708715] test_bpf: #85 ALU_ADD_K: 0 + 0xffff = 0xffff jited:1 190 PASS [ 56.711155] test_bpf: #86 ALU_ADD_K: 0 + 0x7fffffff = 0x7fffffff jited:1 228 PASS [ 56.713878] test_bpf: #87 ALU_ADD_K: 0 + 0x80000000 = 0x80000000 jited:1 198 PASS [ 56.716318] test_bpf: #88 ALU_ADD_K: 0 + 0x80008000 = 0x80008000 jited:1 189 PASS [ 56.718657] test_bpf: #89 ALU64_ADD_K: 1 + 2 = 3 jited:1 112 PASS [ 56.720152] test_bpf: #90 ALU64_ADD_K: 3 + 0 = 3 jited:1 111 PASS [ 56.721639] test_bpf: #91 ALU64_ADD_K: 1 + 2147483646 = 2147483647 jited:1 138 PASS [ 56.723403] test_bpf: #92 ALU64_ADD_K: 4294967294 + 2 = 4294967296 jited:1 151 PASS [ 56.725349] test_bpf: #93 ALU64_ADD_K: 2147483646 + -2147483647 = -1 jited:1 115 PASS [ 56.726923] test_bpf: #94 ALU64_ADD_K: 1 + 0 = 1 jited:1 206 PASS [ 56.729436] test_bpf: #95 ALU64_ADD_K: 0 + (-1) = 0xffffffffffffffff jited:1 211 PASS [ 56.731988] test_bpf: #96 ALU64_ADD_K: 0 + 0xffff = 0xffff jited:1 250 PASS [ 56.735291] test_bpf: #97 ALU64_ADD_K: 0 + 0x7fffffff = 0x7fffffff jited:1 199 PASS [ 56.737871] test_bpf: #98 ALU64_ADD_K: 0 + 0x80000000 = 0xffffffff80000000 jited:1 177 PASS [ 56.740193] test_bpf: #99 ALU_ADD_K: 0 + 0x80008000 = 0xffffffff80008000 jited:1 243 PASS [ 56.743126] test_bpf: #100 ALU_SUB_X: 3 - 1 = 2 jited:1 108 PASS [ 56.744676] test_bpf: #101 ALU_SUB_X: 4294967295 - 4294967294 = 1 jited:1 133 PASS [ 56.746386] test_bpf: #102 ALU64_SUB_X: 3 - 1 = 2 jited:1 110 PASS [ 56.747835] test_bpf: #103 ALU64_SUB_X: 4294967295 - 4294967294 = 1 jited:1 111 PASS [ 56.749292] test_bpf: #104 ALU_SUB_K: 3 - 1 = 2 jited:1 110 PASS [ 56.750766] test_bpf: #105 ALU_SUB_K: 3 - 0 = 3 jited:1 123 PASS [ 56.752371] test_bpf: #106 ALU_SUB_K: 4294967295 - 4294967294 = 1 jited:1 124 PASS [ 56.754095] test_bpf: #107 ALU64_SUB_K: 3 - 1 = 2 jited:1 116 PASS [ 56.755687] test_bpf: #108 ALU64_SUB_K: 3 - 0 = 3 jited:1 133 PASS [ 56.757418] test_bpf: #109 ALU64_SUB_K: 4294967294 - 4294967295 = -1 jited:1 148 PASS [ 56.759295] test_bpf: #110 ALU64_ADD_K: 2147483646 - 2147483647 = -1 jited:1 145 PASS [ 56.761137] test_bpf: #111 ALU_MUL_X: 2 * 3 = 6 jited:1 172 PASS [ 56.763380] test_bpf: #112 ALU_MUL_X: 2 * 0x7FFFFFF8 = 0xFFFFFFF0 jited:1 117 PASS [ 56.764943] test_bpf: #113 ALU_MUL_X: -1 * -1 = 1 jited:1 109 PASS [ 56.766424] test_bpf: #114 ALU64_MUL_X: 2 * 3 = 6 jited:1 115 PASS [ 56.767999] test_bpf: #115 ALU64_MUL_X: 1 * 2147483647 = 2147483647 jited:1 119 PASS [ 56.769584] test_bpf: #116 ALU_MUL_K: 2 * 3 = 6 jited:1 111 PASS [ 56.771124] test_bpf: #117 ALU_MUL_K: 3 * 1 = 3 jited:1 118 PASS [ 56.772961] test_bpf: #118 ALU_MUL_K: 2 * 0x7FFFFFF8 = 0xFFFFFFF0 jited:1 109 PASS [ 56.774431] test_bpf: #119 ALU_MUL_K: 1 * (-1) = 0x00000000ffffffff jited:1 201 PASS [ 56.776888] test_bpf: #120 ALU64_MUL_K: 2 * 3 = 6 jited:1 116 PASS [ 56.778460] test_bpf: #121 ALU64_MUL_K: 3 * 1 = 3 jited:1 115 PASS [ 56.779993] test_bpf: #122 ALU64_MUL_K: 1 * 2147483647 = 2147483647 jited:1 278 PASS [ 56.783229] test_bpf: #123 ALU64_MUL_K: 1 * -2147483647 = -2147483647 jited:1 125 PASS [ 56.785228] test_bpf: #124 ALU64_MUL_K: 1 * (-1) = 0xffffffffffffffff jited:1 208 PASS [ 56.787912] test_bpf: #125 ALU_DIV_X: 6 / 2 = 3 jited:1 246 PASS [ 56.790983] test_bpf: #126 ALU_DIV_X: 4294967295 / 4294967295 = 1 jited:1 291 PASS [ 56.794583] test_bpf: #127 ALU64_DIV_X: 6 / 2 = 3 jited:0 449 PASS [ 56.799521] test_bpf: #128 ALU64_DIV_X: 2147483647 / 2147483647 = 1 jited:0 462 PASS [ 56.804433] test_bpf: #129 ALU64_DIV_X: 0xffffffffffffffff / (-1) = 0x0000000000000001 jited:0 602 PASS [ 56.810815] test_bpf: #130 ALU_DIV_K: 6 / 2 = 3 jited:1 234 PASS [ 56.813585] test_bpf: #131 ALU_DIV_K: 3 / 1 = 3 jited:1 240 PASS [ 56.816466] test_bpf: #132 ALU_DIV_K: 4294967295 / 4294967295 = 1 jited:1 276 PASS [ 56.819790] test_bpf: #133 ALU_DIV_K: 0xffffffffffffffff / (-1) = 0x1 jited:1 373 PASS [ 56.824311] test_bpf: #134 ALU64_DIV_K: 6 / 2 = 3 jited:0 367 PASS [ 56.828509] test_bpf: #135 ALU64_DIV_K: 3 / 1 = 3 jited:0 354 PASS [ 56.832439] test_bpf: #136 ALU64_DIV_K: 2147483647 / 2147483647 = 1 jited:0 358 PASS [ 56.836360] test_bpf: #137 ALU64_DIV_K: 0xffffffffffffffff / (-1) = 0x0000000000000001 jited:0 563 PASS [ 56.842408] test_bpf: #138 ALU_MOD_X: 3 % 2 = 1 jited:1 293 PASS [ 56.845744] test_bpf: #139 ALU_MOD_X: 4294967295 % 4294967293 = 2 jited:1 289 PASS [ 56.849070] test_bpf: #140 ALU64_MOD_X: 3 % 2 = 1 jited:0 660 PASS [ 56.856100] test_bpf: #141 ALU64_MOD_X: 2147483647 % 2147483645 = 2 jited:0 692 PASS [ 56.863515] test_bpf: #142 ALU_MOD_K: 3 % 2 = 1 jited:1 311 PASS [ 56.867145] test_bpf: #143 ALU_MOD_K: 3 % 1 = 0 jited:1 PASS [ 56.867640] test_bpf: #144 ALU_MOD_K: 4294967295 % 4294967293 = 2 jited:1 319 PASS [ 56.871208] test_bpf: #145 ALU64_MOD_K: 3 % 2 = 1 jited:0 539 PASS [ 56.876982] test_bpf: #146 ALU64_MOD_K: 3 % 1 = 0 jited:0 PASS [ 56.877292] test_bpf: #147 ALU64_MOD_K: 2147483647 % 2147483645 = 2 jited:0 499 PASS [ 56.882591] test_bpf: #148 ALU_AND_X: 3 & 2 = 2 jited:1 109 PASS [ 56.884070] test_bpf: #149 ALU_AND_X: 0xffffffff & 0xffffffff = 0xffffffff jited:1 130 PASS [ 56.885807] test_bpf: #150 ALU64_AND_X: 3 & 2 = 2 jited:1 106 PASS [ 56.887288] test_bpf: #151 ALU64_AND_X: 0xffffffff & 0xffffffff = 0xffffffff jited:1 102 PASS [ 56.888746] test_bpf: #152 ALU_AND_K: 3 & 2 = 2 jited:1 114 PASS [ 56.890232] test_bpf: #153 ALU_AND_K: 0xffffffff & 0xffffffff = 0xffffffff jited:1 138 PASS [ 56.891967] test_bpf: #154 ALU64_AND_K: 3 & 2 = 2 jited:1 110 PASS [ 56.893502] test_bpf: #155 ALU64_AND_K: 0xffffffff & 0xffffffff = 0xffffffff jited:1 148 PASS [ 56.895413] test_bpf: #156 ALU64_AND_K: 0x0000ffffffff0000 & 0x0 = 0x0000ffff00000000 jited:1 206 PASS [ 56.897993] test_bpf: #157 ALU64_AND_K: 0x0000ffffffff0000 & -1 = 0x0000ffffffffffff jited:1 176 PASS [ 56.900294] test_bpf: #158 ALU64_AND_K: 0xffffffffffffffff & -1 = 0xffffffffffffffff jited:1 271 PASS [ 56.903712] test_bpf: #159 ALU_OR_X: 1 | 2 = 3 jited:1 108 PASS [ 56.905547] test_bpf: #160 ALU_OR_X: 0x0 | 0xffffffff = 0xffffffff jited:1 118 PASS [ 56.907467] test_bpf: #161 ALU64_OR_X: 1 | 2 = 3 jited:1 103 PASS [ 56.909247] test_bpf: #162 ALU64_OR_X: 0 | 0xffffffff = 0xffffffff jited:1 143 PASS [ 56.911219] test_bpf: #163 ALU_OR_K: 1 | 2 = 3 jited:1 123 PASS [ 56.913042] test_bpf: #164 ALU_OR_K: 0 & 0xffffffff = 0xffffffff jited:1 110 PASS [ 56.914579] test_bpf: #165 ALU64_OR_K: 1 | 2 = 3 jited:1 120 PASS [ 56.916390] test_bpf: #166 ALU64_OR_K: 0 & 0xffffffff = 0xffffffff jited:1 119 PASS [ 56.918118] test_bpf: #167 ALU64_OR_K: 0x0000ffffffff0000 | 0x0 = 0x0000ffff00000000 jited:1 212 PASS [ 56.920808] test_bpf: #168 ALU64_OR_K: 0x0000ffffffff0000 | -1 = 0xffffffffffffffff jited:1 221 PASS [ 56.923458] test_bpf: #169 ALU64_OR_K: 0x000000000000000 | -1 = 0xffffffffffffffff jited:1 198 PASS [ 56.925881] test_bpf: #170 ALU_XOR_X: 5 ^ 6 = 3 jited:1 138 PASS [ 56.927678] test_bpf: #171 ALU_XOR_X: 0x1 ^ 0xffffffff = 0xfffffffe jited:1 130 PASS [ 56.929353] test_bpf: #172 ALU64_XOR_X: 5 ^ 6 = 3 jited:1 114 PASS [ 56.930850] test_bpf: #173 ALU64_XOR_X: 1 ^ 0xffffffff = 0xfffffffe jited:1 106 PASS [ 56.932277] test_bpf: #174 ALU_XOR_K: 5 ^ 6 = 3 jited:1 112 PASS [ 56.933790] test_bpf: #175 ALU_XOR_K: 1 ^ 0xffffffff = 0xfffffffe jited:1 116 PASS [ 56.935371] test_bpf: #176 ALU64_XOR_K: 5 ^ 6 = 3 jited:1 114 PASS [ 56.936942] test_bpf: #177 ALU64_XOR_K: 1 & 0xffffffff = 0xfffffffe jited:1 112 PASS [ 56.938503] test_bpf: #178 ALU64_XOR_K: 0x0000ffffffff0000 ^ 0x0 = 0x0000ffffffff0000 jited:1 201 PASS [ 56.940978] test_bpf: #179 ALU64_XOR_K: 0x0000ffffffff0000 ^ -1 = 0xffff00000000ffff jited:1 242 PASS [ 56.943908] test_bpf: #180 ALU64_XOR_K: 0x000000000000000 ^ -1 = 0xffffffffffffffff jited:1 208 PASS [ 56.946575] test_bpf: #181 ALU_LSH_X: 1 << 1 = 2 jited:1 112 PASS [ 56.948252] test_bpf: #182 ALU_LSH_X: 1 << 31 = 0x80000000 jited:1 137 PASS [ 56.950466] test_bpf: #183 ALU64_LSH_X: 1 << 1 = 2 jited:1 163 PASS [ 56.953176] test_bpf: #184 ALU64_LSH_X: 1 << 31 = 0x80000000 jited:1 145 PASS [ 56.955105] test_bpf: #185 ALU_LSH_K: 1 << 1 = 2 jited:1 92 PASS [ 56.956400] test_bpf: #186 ALU_LSH_K: 1 << 31 = 0x80000000 jited:1 94 PASS [ 56.957700] test_bpf: #187 ALU64_LSH_K: 1 << 1 = 2 jited:1 94 PASS [ 56.959086] test_bpf: #188 ALU64_LSH_K: 1 << 31 = 0x80000000 jited:1 127 PASS [ 56.960779] test_bpf: #189 ALU_RSH_X: 2 >> 1 = 1 jited:1 135 PASS [ 56.962532] test_bpf: #190 ALU_RSH_X: 0x80000000 >> 31 = 1 jited:1 109 PASS [ 56.964027] test_bpf: #191 ALU64_RSH_X: 2 >> 1 = 1 jited:1 123 PASS [ 56.965961] test_bpf: #192 ALU64_RSH_X: 0x80000000 >> 31 = 1 jited:1 117 PASS [ 56.967517] test_bpf: #193 ALU_RSH_K: 2 >> 1 = 1 jited:1 95 PASS [ 56.968874] test_bpf: #194 ALU_RSH_K: 0x80000000 >> 31 = 1 jited:1 103 PASS [ 56.970261] test_bpf: #195 ALU64_RSH_K: 2 >> 1 = 1 jited:1 124 PASS [ 56.971879] test_bpf: #196 ALU64_RSH_K: 0x80000000 >> 31 = 1 jited:1 107 PASS [ 56.973346] test_bpf: #197 ALU_ARSH_X: 0xff00ff0000000000 >> 40 = 0xffffffffffff00ff jited:1 125 PASS [ 56.975022] test_bpf: #198 ALU_ARSH_K: 0xff00ff0000000000 >> 40 = 0xffffffffffff00ff jited:1 105 PASS [ 56.976479] test_bpf: #199 ALU_NEG: -(3) = -3 jited:1 76 PASS [ 56.977591] test_bpf: #200 ALU_NEG: -(-3) = 3 jited:1 106 PASS [ 56.979068] test_bpf: #201 ALU64_NEG: -(3) = -3 jited:1 104 PASS [ 56.980508] test_bpf: #202 ALU64_NEG: -(-3) = 3 jited:1 135 PASS [ 56.982223] test_bpf: #203 ALU_END_FROM_BE 16: 0x0123456789abcdef -> 0xcdef jited:1 115 PASS [ 56.984458] test_bpf: #204 ALU_END_FROM_BE 32: 0x0123456789abcdef -> 0x89abcdef jited:1 101 PASS [ 56.985991] test_bpf: #205 ALU_END_FROM_BE 64: 0x0123456789abcdef -> 0x89abcdef jited:1 103 PASS [ 56.987477] test_bpf: #206 ALU_END_FROM_LE 16: 0x0123456789abcdef -> 0xefcd jited:1 107 PASS [ 56.988937] test_bpf: #207 ALU_END_FROM_LE 32: 0x0123456789abcdef -> 0xefcdab89 jited:1 93 PASS [ 56.990256] test_bpf: #208 ALU_END_FROM_LE 64: 0x0123456789abcdef -> 0x67452301 jited:1 108 PASS [ 56.991728] test_bpf: #209 ST_MEM_B: Store/Load byte: max negative jited:1 168 PASS [ 56.993878] test_bpf: #210 ST_MEM_B: Store/Load byte: max positive jited:1 105 PASS [ 56.995386] test_bpf: #211 STX_MEM_B: Store/Load byte: max negative jited:1 140 PASS [ 56.997188] test_bpf: #212 ST_MEM_H: Store/Load half word: max negative jited:1 98 PASS [ 56.998563] test_bpf: #213 ST_MEM_H: Store/Load half word: max positive jited:1 109 PASS [ 57.000045] test_bpf: #214 STX_MEM_H: Store/Load half word: max negative jited:1 134 PASS [ 57.001803] test_bpf: #215 ST_MEM_W: Store/Load word: max negative jited:1 148 PASS [ 57.003666] test_bpf: #216 ST_MEM_W: Store/Load word: max positive jited:1 136 PASS [ 57.006376] test_bpf: #217 STX_MEM_W: Store/Load word: max negative jited:1 205 PASS [ 57.009004] test_bpf: #218 ST_MEM_DW: Store/Load double word: max negative jited:1 124 PASS [ 57.011164] test_bpf: #219 ST_MEM_DW: Store/Load double word: max negative 2 jited:1 222 PASS [ 57.014281] test_bpf: #220 ST_MEM_DW: Store/Load double word: max positive jited:1 110 PASS [ 57.016138] test_bpf: #221 STX_MEM_DW: Store/Load double word: max negative jited:1 194 PASS [ 57.018614] test_bpf: #222 STX_XADD_W: Test: 0x12 + 0x10 = 0x22 jited:0 292 PASS [ 57.022064] test_bpf: #223 STX_XADD_W: Test side-effects, r10: 0x12 + 0x10 = 0x22 jited:0 PASS [ 57.022356] test_bpf: #224 STX_XADD_W: Test side-effects, r0: 0x12 + 0x10 = 0x22 jited:0 241 PASS [ 57.025099] test_bpf: #225 STX_XADD_W: X + 1 + 1 + 1 + ... jited:0 142752 PASS [ 58.454867] test_bpf: #226 STX_XADD_DW: Test: 0x12 + 0x10 = 0x22 jited:0 370 PASS [ 58.459675] test_bpf: #227 STX_XADD_DW: Test side-effects, r10: 0x12 + 0x10 = 0x22 jited:0 PASS [ 58.460082] test_bpf: #228 STX_XADD_DW: Test side-effects, r0: 0x12 + 0x10 = 0x22 jited:0 268 PASS [ 58.463093] test_bpf: #229 STX_XADD_DW: X + 1 + 1 + 1 + ... jited:0 224885 PASS [ 60.713635] test_bpf: #230 JMP_EXIT jited:1 77 PASS [ 60.715476] test_bpf: #231 JMP_JA: Unconditional jump: if (true) return 1 jited:1 84 PASS [ 60.716748] test_bpf: #232 JMP_JSGT_K: Signed jump: if (-1 > -2) return 1 jited:1 128 PASS [ 60.718617] test_bpf: #233 JMP_JSGT_K: Signed jump: if (-1 > -1) return 0 jited:1 126 PASS [ 60.720303] test_bpf: #234 JMP_JSGE_K: Signed jump: if (-1 >= -2) return 1 jited:1 179 PASS [ 60.722889] test_bpf: #235 JMP_JSGE_K: Signed jump: if (-1 >= -1) return 1 jited:1 125 PASS [ 60.724674] test_bpf: #236 JMP_JGT_K: if (3 > 2) return 1 jited:1 142 PASS [ 60.726577] test_bpf: #237 JMP_JGT_K: Unsigned jump: if (-1 > 1) return 1 jited:1 161 PASS [ 60.728695] test_bpf: #238 JMP_JGE_K: if (3 >= 2) return 1 jited:1 163 PASS [ 60.730807] test_bpf: #239 JMP_JGT_K: if (3 > 2) return 1 (jump backwards) jited:1 143 PASS [ 60.733042] test_bpf: #240 JMP_JGE_K: if (3 >= 3) return 1 jited:1 179 PASS [ 60.735513] test_bpf: #241 JMP_JNE_K: if (3 != 2) return 1 jited:1 144 PASS [ 60.737586] test_bpf: #242 JMP_JEQ_K: if (3 == 3) return 1 jited:1 144 PASS [ 60.739896] test_bpf: #243 JMP_JSET_K: if (0x3 & 0x2) return 1 jited:1 149 PASS [ 60.741813] test_bpf: #244 JMP_JSET_K: if (0x3 & 0xffffffff) return 1 jited:1 153 PASS [ 60.743773] test_bpf: #245 JMP_JSGT_X: Signed jump: if (-1 > -2) return 1 jited:1 162 PASS [ 60.745798] test_bpf: #246 JMP_JSGT_X: Signed jump: if (-1 > -1) return 0 jited:1 162 PASS [ 60.747921] test_bpf: #247 JMP_JSGE_X: Signed jump: if (-1 >= -2) return 1 jited:1 178 PASS [ 60.750577] test_bpf: #248 JMP_JSGE_X: Signed jump: if (-1 >= -1) return 1 jited:1 192 PASS [ 60.753315] test_bpf: #249 JMP_JGT_X: if (3 > 2) return 1 jited:1 205 PASS [ 60.756115] test_bpf: #250 JMP_JGT_X: Unsigned jump: if (-1 > 1) return 1 jited:1 154 PASS [ 60.758287] test_bpf: #251 JMP_JGE_X: if (3 >= 2) return 1 jited:1 177 PASS [ 60.760611] test_bpf: #252 JMP_JGE_X: if (3 >= 3) return 1 jited:1 160 PASS [ 60.762901] test_bpf: #253 JMP_JGE_X: ldimm64 test 1 jited:1 204 PASS [ 60.765394] test_bpf: #254 JMP_JGE_X: ldimm64 test 2 jited:1 201 PASS [ 60.767884] test_bpf: #255 JMP_JGE_X: ldimm64 test 3 jited:1 184 PASS [ 60.770228] test_bpf: #256 JMP_JNE_X: if (3 != 2) return 1 jited:1 168 PASS [ 60.772331] test_bpf: #257 JMP_JEQ_X: if (3 == 3) return 1 jited:1 197 PASS [ 60.774754] test_bpf: #258 JMP_JSET_X: if (0x3 & 0x2) return 1 jited:1 192 PASS [ 60.777384] test_bpf: #259 JMP_JSET_X: if (0x3 & 0xffffffff) return 1 jited:1 181 PASS [ 60.779641] test_bpf: #260 JMP_JA: Jump, gap, jump, ... jited:1 97 PASS [ 60.781022] test_bpf: #261 BPF_MAXINSNS: Maximum possible literals jited:1 125 PASS [ 61.242879] test_bpf: #262 BPF_MAXINSNS: Single literal jited:1 105 PASS [ 61.835125] test_bpf: #263 BPF_MAXINSNS: Run/add until end jited:1 121315 PASS [ 63.362129] test_bpf: #264 BPF_MAXINSNS: Too many instructions PASS [ 63.362231] test_bpf: #265 BPF_MAXINSNS: Very long jump jited:1 131 PASS [ 63.879679] test_bpf: #266 BPF_MAXINSNS: Ctx heavy transformations jited:1 217030 181848 PASS [ 68.492725] test_bpf: #267 BPF_MAXINSNS: Call heavy transformations jited:0 1018683 930359 PASS [ 88.007480] test_bpf: #268 BPF_MAXINSNS: Jump heavy test jited:1 440621 PASS [ 93.074379] test_bpf: #269 BPF_MAXINSNS: Very long jump backwards jited:1 154 PASS [ 93.358458] test_bpf: #270 BPF_MAXINSNS: Edge hopping nuthouse jited:1 302835 PASS [ 96.392483] test_bpf: #271 BPF_MAXINSNS: Jump, gap, jump, ... jited:1 1008 PASS [ 96.501153] test_bpf: #272 BPF_MAXINSNS: ld_abs+get_processor_id jited:0 597855 PASS [ 102.759854] test_bpf: #273 BPF_MAXINSNS: ld_abs+vlan_push/pop jited:0 626616 PASS [ 109.247312] test_bpf: #274 LD_IND byte frag jited:1 1453 PASS [ 109.263829] test_bpf: #275 LD_IND halfword frag jited:1 600 PASS [ 109.270433] test_bpf: #276 LD_IND word frag jited:1 719 PASS [ 109.278159] test_bpf: #277 LD_IND halfword mixed head/frag jited:1 705 PASS [ 109.285898] test_bpf: #278 LD_IND word mixed head/frag jited:1 732 PASS [ 109.293879] test_bpf: #279 LD_ABS byte frag jited:1 683 PASS [ 109.301360] test_bpf: #280 LD_ABS halfword frag jited:1 595 PASS [ 109.307841] test_bpf: #281 LD_ABS word frag jited:1 672 PASS [ 109.315579] test_bpf: #282 LD_ABS halfword mixed head/frag jited:1 775 PASS [ 109.323890] test_bpf: #283 LD_ABS word mixed head/frag jited:1 725 PASS [ 109.331927] test_bpf: #284 LD_IND byte default X jited:1 274 PASS [ 109.335451] test_bpf: #285 LD_IND byte positive offset jited:1 302 PASS [ 109.339511] test_bpf: #286 LD_IND byte negative offset jited:1 311 PASS [ 109.343448] test_bpf: #287 LD_IND halfword positive offset jited:1 218 PASS [ 109.346282] test_bpf: #288 LD_IND halfword negative offset jited:1 193 PASS [ 109.348832] test_bpf: #289 LD_IND halfword unaligned jited:1 190 PASS [ 109.351330] test_bpf: #290 LD_IND word positive offset jited:1 200 PASS [ 109.353993] test_bpf: #291 LD_IND word negative offset jited:1 216 PASS [ 109.356739] test_bpf: #292 LD_IND word unaligned (addr & 3 == 2) jited:1 195 PASS [ 109.359225] test_bpf: #293 LD_IND word unaligned (addr & 3 == 1) jited:1 196 PASS [ 109.361713] test_bpf: #294 LD_IND word unaligned (addr & 3 == 3) jited:1 221 PASS [ 109.364417] test_bpf: #295 LD_ABS byte jited:1 195 PASS [ 109.366896] test_bpf: #296 LD_ABS halfword jited:1 170 PASS [ 109.369093] test_bpf: #297 LD_ABS halfword unaligned jited:1 167 PASS [ 109.371399] test_bpf: #298 LD_ABS word jited:1 182 PASS [ 109.373724] test_bpf: #299 LD_ABS word unaligned (addr & 3 == 2) jited:1 185 PASS [ 109.376064] test_bpf: #300 LD_ABS word unaligned (addr & 3 == 1) jited:1 162 PASS [ 109.381701] test_bpf: #301 LD_ABS word unaligned (addr & 3 == 3) jited:1 231 PASS [ 109.384839] test_bpf: #302 ADD default X jited:1 105 PASS [ 109.386839] test_bpf: #303 ADD default A jited:1 101 PASS [ 109.388677] test_bpf: #304 SUB default X jited:1 106 PASS [ 109.390267] test_bpf: #305 SUB default A jited:1 119 PASS [ 109.391992] test_bpf: #306 MUL default X jited:1 131 PASS [ 109.394020] test_bpf: #307 MUL default A jited:1 116 PASS [ 109.395766] test_bpf: #308 DIV default X jited:1 116 PASS [ 109.397706] test_bpf: #309 DIV default A jited:1 227 PASS [ 109.406156] test_bpf: #310 MOD default X jited:1 98 PASS [ 109.407645] test_bpf: #311 MOD default A jited:1 265 PASS [ 109.410774] test_bpf: #312 JMP EQ default A jited:1 134 PASS [ 109.412679] test_bpf: #313 JMP EQ default X jited:1 108 PASS [ 109.414506] test_bpf: Summary: 314 PASSED, 0 FAILED, [278/306 JIT'ed] These all benchmarks are for ARMv7. Best, Shubham Bansal On Mon, May 22, 2017 at 6:31 PM, Daniel Borkmann [off-list ref] wrote:
On 05/20/2017 10:01 PM, Shubham Bansal wrote: [...]quoted
Before I send the patch, I have tested the JIT compiler on ARMv7 but not on ARMv5 or ARMv6. So can you tell me which arch versions I should test it for? Also for my testing, CONFIG_FRAME_POINTER and CONFIG_CPU_BIG_ENDIAN are both disabled. But I need to test JIT with these flags as well. Whenever I put these flags in .config file, the arm kernel is not getting compiler with these flags. Can you tell me why? If you need more information regarding this, please let me know.Maybe Mircea, Kees or someone from linux-arm-kernel can help you out on that. With regards to the below benchmark, I was mentioning how it compares to the interpreter. With only the numbers for jit it's hard to compare. So would be great to see the output for the following three cases: 1) Interpreter: echo 0 > /proc/sys/net/core/bpf_jit_enable 2) JIT enabled: echo 1 > /proc/sys/net/core/bpf_jit_enable 3) JIT + blinding enabled: echo 1 > /proc/sys/net/core/bpf_jit_enable echo 2 > /proc/sys/net/core/bpf_jit_hardenquoted
With current config for ARMv7, benchmarks are : [root at vexpress modules]# insmod test_bpf.ko [ 25.797766] test_bpf: #0 TAX jited:1 180 170 169 PASS [ 25.811395] test_bpf: #1 TXA jited:1 93 89 111 PASS [ 25.815073] test_bpf: #2 ADD_SUB_MUL_K jited:1 94 PASS [ 25.816779] test_bpf: #3 DIV_MOD_KX jited:1 983 PASS [ 25.827310] test_bpf: #4 AND_OR_LSH_K jited:1 94 93 PASS [ 25.829843] test_bpf: #5 LD_IMM_0 jited:1 83 PASS [ 25.831260] test_bpf: #6 LD_IND jited:1 338 266 305 PASS[...] Thanks, Daniel