Subject: Re: arch: arm: bpf: Converting cBPF to eBPF for arm 32 bit

From: Daniel Borkmann <[email-masked]>
Date: Wed, 29 Mar 2017 02:00:08 +0200

Hi Shubham,

On 03/28/2017 10:49 PM, Shubham Bansal wrote:
[...]
> Do you have any document to understand the working of tail calls? I
> looked at your presentations but it seemed confusing to me. Anything
> simple would be great, just about the tail calls. I don't think I need
> examples, I can get them from your presentations. I just need a very
> general idea. May be you know the code in kernel where it is
> implemented.

Sure, it's in __bpf_prog_run(), see the JMP_TAIL_CALL (kernel/bpf/core.c +1019).
That's effectively what JITs implement. [1] page 3 has a high-level description
as well, hope that helps.

Thanks,
Daniel

   [1] http://www.netdevconf.org/1.1/proceedings/papers/On-getting-tc-classifier-fully-programmable-with-cls-bpf.pdf