Re: [PATCH bpf-next v4 01/16] bpf: implement lookup-free direct value access for maps

2019-04-07 Thread Daniel Borkmann
On 04/07/2019 04:57 AM, Alexei Starovoitov wrote: [...] > I don't get this shadow vs normal .data idea. > The more we talk the more I'm convinced that this is not a good api. > Say in the future we indeed have these shadow + normal .data > then just use the same insn->imm field to refer to shadow p

Re: [PATCH bpf-next v4 01/16] bpf: implement lookup-free direct value access for maps

2019-04-06 Thread Alexei Starovoitov
On Sun, Apr 07, 2019 at 01:55:14AM +0200, Daniel Borkmann wrote: > On 04/06/2019 06:54 PM, Alexei Starovoitov wrote: > > On Sat, Apr 06, 2019 at 12:58:23PM +0200, Daniel Borkmann wrote: > >> On 04/06/2019 03:56 AM, Alexei Starovoitov wrote: > >>> On Fri, Apr 05, 2019 at 10:59:27PM +0200, Daniel Bor

Re: [PATCH bpf-next v4 01/16] bpf: implement lookup-free direct value access for maps

2019-04-06 Thread Daniel Borkmann
On 04/06/2019 06:54 PM, Alexei Starovoitov wrote: > On Sat, Apr 06, 2019 at 12:58:23PM +0200, Daniel Borkmann wrote: >> On 04/06/2019 03:56 AM, Alexei Starovoitov wrote: >>> On Fri, Apr 05, 2019 at 10:59:27PM +0200, Daniel Borkmann wrote: -/* when bpf_ldimm64->src_reg == BPF_PSEUDO_MAP_

Re: [PATCH bpf-next v4 01/16] bpf: implement lookup-free direct value access for maps

2019-04-06 Thread Alexei Starovoitov
On Sat, Apr 06, 2019 at 12:58:23PM +0200, Daniel Borkmann wrote: > On 04/06/2019 03:56 AM, Alexei Starovoitov wrote: > > On Fri, Apr 05, 2019 at 10:59:27PM +0200, Daniel Borkmann wrote: > >> > >> -/* when bpf_ldimm64->src_reg == BPF_PSEUDO_MAP_FD, bpf_ldimm64->imm == fd > >> */ > >> +/* When BPF

Re: [PATCH bpf-next v4 01/16] bpf: implement lookup-free direct value access for maps

2019-04-06 Thread Daniel Borkmann
On 04/06/2019 03:56 AM, Alexei Starovoitov wrote: > On Fri, Apr 05, 2019 at 10:59:27PM +0200, Daniel Borkmann wrote: >> >> -/* when bpf_ldimm64->src_reg == BPF_PSEUDO_MAP_FD, bpf_ldimm64->imm == fd */ >> +/* When BPF ldimm64's insn[0].src_reg != 0 then this can have >> + * two extensions: >> + *

Re: [PATCH bpf-next v4 01/16] bpf: implement lookup-free direct value access for maps

2019-04-05 Thread Alexei Starovoitov
On Fri, Apr 05, 2019 at 10:59:27PM +0200, Daniel Borkmann wrote: > > -/* when bpf_ldimm64->src_reg == BPF_PSEUDO_MAP_FD, bpf_ldimm64->imm == fd */ > +/* When BPF ldimm64's insn[0].src_reg != 0 then this can have > + * two extensions: > + * > + * insn[0].src_reg: BPF_PSEUDO_MAP_FD BPF_PSEUDO_MA

[PATCH bpf-next v4 01/16] bpf: implement lookup-free direct value access for maps

2019-04-05 Thread Daniel Borkmann
This generic extension to BPF maps allows for directly loading an address residing inside a BPF map value as a single BPF ldimm64 instruction! The idea is similar to what BPF_PSEUDO_MAP_FD does today, which is a special src_reg flag for ldimm64 instruction that indicates that inside the first part