On 06/08/2017 06:45 PM, Alexei Starovoitov wrote: [...]
I think Daniel will be happy to test your next rev of the patches. I'll test them as well. At least 'insn_processed' from C code in tools/testing/selftests/bpf/ is a good estimate of how these changes affect pruning.
Without having looked more deeply (yet), I ran couple of tests with the cilium test suite to track complexity. Overall programs load with the set applied, worst case increase I've seen for some of the current progs was by ~80% from ~33k to ~60k insns. Will still go over the code for an initial review either today or tomorrow.
btw, I'm working on bpf_call support and also refactoring verifier quite a bit, but my stuff is far from ready and I'll wait for your rewrite to land first. One of the things I'm working on is trying to get rid of state pruning heuristics and use register+stack liveness information instead. It's all experimental so far.
Thanks, Daniel