• Alexei Starovoitov's avatar
    selftests/bpf: add realistic loop tests · b061017f
    Alexei Starovoitov authored
    Add a bunch of loop tests. Most of them are created by replacing
    '#pragma unroll' with '#pragma clang loop unroll(disable)'
    
    Several tests are artificially large:
      /* partial unroll. llvm will unroll loop ~150 times.
       * C loop count -> 600.
       * Asm loop count -> 4.
       * 16k insns in loop body.
       * Total of 5 such loops. Total program size ~82k insns.
       */
      "./pyperf600.o",
    
      /* no unroll at all.
       * C loop count -> 600.
       * ASM loop count -> 600.
       * ~110 insns in loop body.
       * Total of 5 such loops. Total program size ~1500 insns.
       */
      "./pyperf600_nounroll.o",
    
      /* partial unroll. 19k insn in a loop.
       * Total program size 20.8k insn.
       * ~350k processed_insns
       */
      "./strobemeta.o",
    Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
    Acked-by: default avatarAndrii Nakryiko <andriin@fb.com>
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    b061017f
loop3.c 451 Bytes