From: Alexei Starovoitov <ast@plumgrid.com>
To: Andy Lutomirski <luto@amacapital.net>
Cc: "David S. Miller" <davem@davemloft.net>,
Ingo Molnar <mingo@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Michael Holzheu <holzheu@linux.vnet.ibm.com>,
Zi Shen Lim <zlim.lnx@gmail.com>,
Linux API <linux-api@vger.kernel.org>,
Network Development <netdev@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH net-next 1/4] bpf: allow bpf programs to tail-call other bpf programs
Date: Tue, 19 May 2015 17:18:44 -0700 [thread overview]
Message-ID: <555BD2E4.5050608@plumgrid.com> (raw)
In-Reply-To: <CALCETrVP=7sCM12cCZVZCCMozGcHyqTsOFvjv7cEpc7Frxj4Xg@mail.gmail.com>
On 5/19/15 5:13 PM, Andy Lutomirski wrote:
>
> IMO this is starting to get a bit ugly. Would it be possible to have
> the program dereference the subprogram reference itself from the jump
> table? There would have to be a verifier type that represents a
> reference to a program tail-call entry point, but that seems better
> than having this weird indirection.
Which part? I don't think you've looked at examples yet.
network parser has to call itself. Otherwise we cannot parse 10 mpls
labels or TLVs.
Indirection via jump_table also has to be there.
We need to dynamically add and remove programs form this jump table.
It cannot be all static.
next prev parent reply other threads:[~2015-05-20 0:18 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-19 23:59 [PATCH net-next 0/4] bpf: introduce bpf_tail_call() helper Alexei Starovoitov
2015-05-19 23:59 ` Alexei Starovoitov
[not found] ` <1432079946-9878-1-git-send-email-ast-uqk4Ao+rVK5Wk0Htik3J/w@public.gmane.org>
2015-05-19 23:59 ` [PATCH net-next 1/4] bpf: allow bpf programs to tail-call other bpf programs Alexei Starovoitov
2015-05-19 23:59 ` Alexei Starovoitov
[not found] ` <1432079946-9878-2-git-send-email-ast-uqk4Ao+rVK5Wk0Htik3J/w@public.gmane.org>
2015-05-20 0:13 ` Andy Lutomirski
2015-05-20 0:13 ` Andy Lutomirski
2015-05-20 0:18 ` Alexei Starovoitov [this message]
[not found] ` <555BD2E4.5050608-uqk4Ao+rVK5Wk0Htik3J/w@public.gmane.org>
2015-05-21 16:20 ` Andy Lutomirski
2015-05-21 16:20 ` Andy Lutomirski
2015-05-21 16:40 ` Alexei Starovoitov
2015-05-21 16:43 ` Andy Lutomirski
[not found] ` <CALCETrX7xAuRoRv7WV+LS-r_pOknQdXPpBEbFy5TqB_6eGTD5Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-21 16:53 ` Alexei Starovoitov
2015-05-21 16:53 ` Alexei Starovoitov
2015-05-21 16:57 ` Andy Lutomirski
[not found] ` <CALCETrWLpL8o9=P0sDGXUgcQ_LOkgJGrVdv0R6eaec=+WHPfkg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-21 17:16 ` Alexei Starovoitov
2015-05-21 17:16 ` Alexei Starovoitov
2015-05-21 16:17 ` Daniel Borkmann
2015-05-21 16:17 ` Daniel Borkmann
2015-05-21 21:08 ` [PATCH net-next 0/4] bpf: introduce bpf_tail_call() helper David Miller
2015-05-21 21:08 ` David Miller
2015-05-19 23:59 ` [PATCH net-next 2/4] x86: bpf_jit: implement " Alexei Starovoitov
2015-05-20 0:11 ` Andy Lutomirski
2015-05-20 0:14 ` Alexei Starovoitov
[not found] ` <555BD1E9.5000000-uqk4Ao+rVK5Wk0Htik3J/w@public.gmane.org>
2015-05-20 16:05 ` Andy Lutomirski
2015-05-20 16:05 ` Andy Lutomirski
[not found] ` <CALCETrV8CStuwvDXDPp5zsZw5FsSpYWBDXMYjLh6Qq703a=cgQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-20 16:29 ` Alexei Starovoitov
2015-05-20 16:29 ` Alexei Starovoitov
2015-05-19 23:59 ` [PATCH net-next 3/4] samples/bpf: bpf_tail_call example for tracing Alexei Starovoitov
2015-05-19 23:59 ` [PATCH net-next 4/4] samples/bpf: bpf_tail_call example for networking Alexei Starovoitov
Reply instructions:
You may reply publicly 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=555BD2E4.5050608@plumgrid.com \
--to=ast@plumgrid.com \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=holzheu@linux.vnet.ibm.com \
--cc=linux-api@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@amacapital.net \
--cc=mingo@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=zlim.lnx@gmail.com \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.