[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAADnVQKpJDD-bG1GnhGwMKfk6rdshGmRY6UrfXtfkqD0V5Sb9A@mail.gmail.com>
Date: Fri, 22 Nov 2019 18:22:58 -0800
From: Alexei Starovoitov <alexei.starovoitov@...il.com>
To: Daniel Borkmann <daniel@...earbox.net>
Cc: Alexei Starovoitov <ast@...nel.org>,
John Fastabend <john.fastabend@...il.com>,
Andrii Nakryiko <andrii.nakryiko@...il.com>,
Network Development <netdev@...r.kernel.org>,
bpf <bpf@...r.kernel.org>
Subject: Re: [PATCH bpf-next v2 0/8] Optimize BPF tail calls for direct jumps
On Fri, Nov 22, 2019 at 12:08 PM Daniel Borkmann <daniel@...earbox.net> wrote:
>
> This gets rid of indirect jumps for BPF tail calls whenever possible.
> The series adds emission for *direct* jumps for tail call maps in order
> to avoid the retpoline overhead from a493a87f38cf ("bpf, x64: implement
> retpoline for tail call") for situations that allow for it, meaning,
> for known constant keys at verification time which are used as index
> into the tail call map. See patch 7/8 for more general details.
>
> Thanks!
>
> v1 -> v2:
> - added more test cases
> - u8 ip_stable -> bool (Andrii)
> - removed bpf_map_poke_{un,}lock and simplified the code (Andrii)
> - added break into prog_array_map_poke_untrack since there's just
> one prog (Andrii)
> - fixed typo: for for in commit msg (Andrii)
> - reworked __bpf_arch_text_poke (Andrii)
> - added subtests, and comment on tests themselves, NULL-NULL
> transistion (Andrii)
> - in constant map key tracking I've moved the map_poke_track callback
> to once we've finished creating the poke tab as otherwise concurrent
> access from tail call map would blow up (since we realloc the table)
> rfc -> v1:
> - Applied Alexei's and Andrii's feeback from
> https://lore.kernel.org/bpf/cover.1573779287.git.daniel@iogearbox.net/T/#t
Applied. Thanks!
Powered by blists - more mailing lists