[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20190124014204.imqepptxqj7ufx5h@ast-mbp.dhcp.thefacebook.com>
Date: Wed, 23 Jan 2019 17:42:06 -0800
From: Alexei Starovoitov <alexei.starovoitov@...il.com>
To: Jakub Kicinski <jakub.kicinski@...ronome.com>
Cc: daniel@...earbox.net, yhs@...com, netdev@...r.kernel.org,
oss-drivers@...ronome.com, kafai@...com
Subject: Re: [PATCH bpf-next v5 00/12] bpf: dead code elimination
On Tue, Jan 22, 2019 at 10:45:17PM -0800, Jakub Kicinski wrote:
> Hi!
>
> This set adds support for complete removal of dead code.
>
> Patch 3 contains all the code removal logic, patches 2 and 4
> additionally optimize branches around and to dead code.
>
> Patches 6 and 7 allow offload JITs to take advantage of the
> optimization. After a few small clean ups (8, 9, 10) nfp
> support is added (11, 12).
>
> Removing code directly in the verifier makes it easy to adjust
> the relevant metadata (line info, subprogram info). JITs for
> code store constrained architectures would have hard time
> performing such adjustments at JIT level. Removing subprograms
> or line info is very hard once BPF core finished the verification.
> For user space to perform dead code removal it would have to perform
> the execution simulation/analysis similar to what the verifier does.
>
> v3:
> - fix uninitilized var warning in GCC 6 (buildbot).
> v4:
> - simplify the linfo-keeping logic (Yonghong). Instead of
> trying to figure out that we are removing first instruction
> of a subprogram, just always keep last dead line info, if
> first live instruction doesn't have one.
> v5:
> - improve comments (Martin Lau).
The verifier is taking a page from the dragon book.
Applied to bpf-next.
Thanks!
Powered by blists - more mailing lists