Re: [oss-drivers] Re: [PATCH bpf] bpf: verifier: make sure callees don't prune with caller differences

2018-12-13 Thread Alexei Starovoitov
On Thu, Dec 13, 2018 at 04:40:06PM +, Edward Cree wrote: > On 13/12/18 10:52, Jiong Wang wrote: > > Because there is inter-procedure register allocation support in LLVM > > (-enable-ipra), which could effectively eliminate register save/restore for > > one caller-saved register across function

Re: [oss-drivers] Re: [PATCH bpf] bpf: verifier: make sure callees don't prune with caller differences

2018-12-13 Thread Edward Cree
On 13/12/18 10:52, Jiong Wang wrote: > Because there is inter-procedure register allocation support in LLVM > (-enable-ipra), which could effectively eliminate register save/restore for > one caller-saved register across function call if the compiler can prove > callee or any other childs on the ca

Re: [oss-drivers] Re: [PATCH bpf] bpf: verifier: make sure callees don't prune with caller differences

2018-12-13 Thread Jiong Wang
Jakub Kicinski writes: >> Is that just an optimisation that we can do because we know caller's >> r1-r5 were scratched by the call? (resent, got a bounce back from netdev mailing list for previous email) I had been pondering whether it is really necessary to mark caller saved registers as sc

Re: [PATCH bpf] bpf: verifier: make sure callees don't prune with caller differences

2018-12-12 Thread Jakub Kicinski
On Wed, 12 Dec 2018 20:28:07 +, Edward Cree wrote: > On 10/12/18 19:35, Jakub Kicinski wrote: > > Currently for liveness and state pruning the register parentage > > chains don't include states of the callee. This makes some sense > > as the callee can't access those registers. However, this

Re: [PATCH bpf] bpf: verifier: make sure callees don't prune with caller differences

2018-12-12 Thread Edward Cree
On 10/12/18 19:35, Jakub Kicinski wrote: > Currently for liveness and state pruning the register parentage > chains don't include states of the callee. This makes some sense > as the callee can't access those registers. However, this means > that READs done after the callee returns will not propa

Re: [PATCH bpf] bpf: verifier: make sure callees don't prune with caller differences

2018-12-11 Thread Alexei Starovoitov
On Mon, Dec 10, 2018 at 11:35:12AM -0800, Jakub Kicinski wrote: > Currently for liveness and state pruning the register parentage > chains don't include states of the callee. This makes some sense > as the callee can't access those registers. However, this means > that READs done after the callee

Re: [PATCH bpf] bpf: verifier: make sure callees don't prune with caller differences

2018-12-10 Thread Jakub Kicinski
On Mon, 10 Dec 2018 11:35:12 -0800, Jakub Kicinski wrote: > Currently for liveness and state pruning the register parentage > chains don't include states of the callee. This makes some sense > as the callee can't access those registers. However, this means > that READs done after the callee retur

[PATCH bpf] bpf: verifier: make sure callees don't prune with caller differences

2018-12-10 Thread Jakub Kicinski
Currently for liveness and state pruning the register parentage chains don't include states of the callee. This makes some sense as the callee can't access those registers. However, this means that READs done after the callee returns will not propagate into the states of the callee. Callee will