arch: arm: bpf: Converting cBPF to eBPF for arm 32 bit
Shubham Bansal
illusionist.neo at gmail.com
Mon May 22 10:04:41 PDT 2017
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 <daniel at iogearbox.net> wrote:
> On 05/20/2017 10:01 PM, Shubham Bansal wrote:
> [...]
>>
>> 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_harden
>
>> 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
More information about the linux-arm-kernel
mailing list