Message ID | 20220407192552.2343076-1-kuifeng@fb.com (mailing list archive) |
---|---|
Headers | show |
Series | Attach a cookie to a tracing program. | expand |
On 4/7/22 9:25 PM, Kui-Feng Lee wrote: > Allow users to attach a 64-bits cookie to a bpf_link of fentry, fexit, > or fmod_ret. > > This patchset includes several major changes. > > - Define struct bpf_tramp_links to replace bpf_tramp_prog. > struct bpf_tramp_links collects bpf_links of a trampoline > > - Generate a trampoline to call bpf_progs of given bpf_links. > > - Trampolines always set/reset bpf_run_ctx before/after > calling/leaving a tracing program. > > - Attach a cookie to a bpf_link of fentry/fexit/fmod_ret. The value > will be available when running the associated bpf_prog. > > The major differences from v2: > > - Move the allocations of run_ctx (struct bpf_tramp_run_ctx) out of > invoke_bpf_prog(). > > - Move hlist_node out of bpf_link and introduce struct bpf_tramp_link > to own hlist_node. > > - Store cookies at struct bpf_tracing_link. > > - Use SIB byte to reduce the number of instructions to set cookie > values. (Use RSP directly) > > v1: https://lore.kernel.org/all/20220126214809.3868787-1-kuifeng@fb.com/ > v2: https://lore.kernel.org/bpf/20220316004231.1103318-1-kuifeng@fb.com/ Kui-Feng, would be great if you have a chance to rebase, so that the set can also go through BPF CI. Thanks a lot, Daniel
On Fri, 2022-04-08 at 23:33 +0200, Daniel Borkmann wrote: > On 4/7/22 9:25 PM, Kui-Feng Lee wrote: > > Allow users to attach a 64-bits cookie to a bpf_link of fentry, > > fexit, > > or fmod_ret. > > > > This patchset includes several major changes. > > > > - Define struct bpf_tramp_links to replace bpf_tramp_prog. > > struct bpf_tramp_links collects bpf_links of a trampoline > > > > - Generate a trampoline to call bpf_progs of given bpf_links. > > > > - Trampolines always set/reset bpf_run_ctx before/after > > calling/leaving a tracing program. > > > > - Attach a cookie to a bpf_link of fentry/fexit/fmod_ret. The > > value > > will be available when running the associated bpf_prog. > > > > The major differences from v2: > > > > - Move the allocations of run_ctx (struct bpf_tramp_run_ctx) out > > of > > invoke_bpf_prog(). > > > > - Move hlist_node out of bpf_link and introduce struct > > bpf_tramp_link > > to own hlist_node. > > > > - Store cookies at struct bpf_tracing_link. > > > > - Use SIB byte to reduce the number of instructions to set cookie > > values. (Use RSP directly) > > > > v1: > > https://lore.kernel.org/all/20220126214809.3868787-1-kuifeng@fb.com/ > > v2: > > https://lore.kernel.org/bpf/20220316004231.1103318-1-kuifeng@fb.com/ > > Kui-Feng, would be great if you have a chance to rebase, so that the > set can > also go through BPF CI. > > Thanks a lot, > Daniel Yes, just sent new patches out.