From: Alexei Starovoitov <firstname.lastname@example.org> To: Jiong Wang <email@example.com> Cc: "Naveen N. Rao" <firstname.lastname@example.org>, Daniel Borkmann <email@example.com>, bpf <firstname.lastname@example.org>, Network Development <email@example.com>, Michael Ellerman <firstname.lastname@example.org>, Jakub Kicinski <email@example.com> Subject: Re: [PATCH] bpf: optimize constant blinding Date: Wed, 12 Jun 2019 08:28:22 -0700 Message-ID: <CAADnVQJZkJu60jy8QoomVssC=z3NE4402bMnfobaWNE_ANC6sg@mail.gmail.com> (raw) In-Reply-To: <firstname.lastname@example.org> On Wed, Jun 12, 2019 at 8:25 AM Jiong Wang <email@example.com> wrote: > > > Jiong Wang writes: > > > Alexei Starovoitov writes: > > > >> On Wed, Jun 12, 2019 at 4:32 AM Naveen N. Rao > >> <firstname.lastname@example.org> wrote: > >>> > >>> Currently, for constant blinding, we re-allocate the bpf program to > >>> account for its new size and adjust all branches to accommodate the > >>> same, for each BPF instruction that needs constant blinding. This is > >>> inefficient and can lead to soft lockup with sufficiently large > >>> programs, such as the new verifier scalability test (ld_dw: xor > >>> semi-random 64 bit imms, test 5 -- with net.core.bpf_jit_harden=2) > >> > >> Slowdown you see is due to patch_insn right? > >> In such case I prefer to fix the scaling issue of patch_insn instead. > >> This specific fix for blinding only is not addressing the core of the problem. > >> Jiong, > >> how is the progress on fixing patch_insn? > > And what I have done is I have digested your conversion with Edward, and is > slightly incline to the BB based approach as it also exposes the inserted > insn to later pass in a natural way, then was trying to find a way that > could create BB info in little extra code based on current verifier code, > for example as a side effect of check_subprogs which is doing two insn > traversal already. (I had some such code before in the historical > wip/bpf-loop-detection branch, but feel it might be still too heavy for > just improving insn patching) BB - basic block? I'm not sure that was necessary. The idea was that patching is adding stuff to linked list instead and single pass at the end to linearize it.
next prev parent reply index Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-06-12 11:32 Naveen N. Rao 2019-06-12 14:47 ` Alexei Starovoitov 2019-06-12 15:04 ` Jiong Wang 2019-06-12 15:25 ` Jiong Wang 2019-06-12 15:28 ` Alexei Starovoitov [this message] 2019-06-14 15:13 ` Jiong Wang 2019-06-14 17:05 ` Alexei Starovoitov 2019-06-14 22:28 ` Andrii Nakryiko 2019-06-17 19:47 ` Edward Cree 2019-06-17 19:59 ` Jiong Wang 2019-06-17 20:11 ` Edward Cree 2019-06-17 20:40 ` Jiong Wang 2019-06-17 20:53 ` Alexei Starovoitov 2019-06-17 21:01 ` Jiong Wang 2019-06-17 21:16 ` Edward Cree 2019-06-19 20:45 ` Jiong Wang 2019-06-14 4:30 ` kbuild test robot
Reply instructions: You may reply publically to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='CAADnVQJZkJu60jy8QoomVssC=z3NE4402bMnfobaWNE_ANC6sg@mail.gmail.com' \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Netdev Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/netdev/0 netdev/git/0.git git clone --mirror https://lore.kernel.org/netdev/1 netdev/git/1.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 netdev netdev/ https://lore.kernel.org/netdev \ email@example.com firstname.lastname@example.org public-inbox-index netdev Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.netdev AGPL code for this site: git clone https://public-inbox.org/ public-inbox