On 04/07/17 20:22, Edward Cree wrote: > I don't know why test_l4lb has to process _fewer_ insns with my patches; > if anything I'm worrying that I may be incorrectly pruning branches. > (I've spotted a possible bug in that I'm not looking at 'id' which, > although it doesn't have to match, if two regs in the old state had the > same id as each other, then those regs in the new state have to have > the same id as each other too.) I've now fixed that bug, and also changing it to not fill in 'id' on pointers other than PTR_TO_PACKET when doing arithmetic (because it's only used for 'range' sharing and only PTR_TO_PACKET have that. Of course PTR_TO_MAP_VALUE_OR_NULL still use id, but they don't get it from arithmetic). Changes will be in next version of patch series, but for now: Program net-next short full new test_pkt_access 78 79 79 79 test_xdp 386 411 407 389 test_l4lb 6438 4154 4154 4062 test_tcp_estats 435 436 435 435 test_bpf_obj_id 8 8 8 8 test_pkt_md_access 41 42 42 42 As you can see, the #insns has gone down even further.
-Ed