On Mon, Jun 29, 2020 at 11:28 PM Song Liu <songliubraving@xxxxxx> wrote: > > This set introduces a new helper bpf_get_task_stack(). The primary use case > is to dump all /proc/*/stack to seq_file via bpf_iter__task. > > A few different approaches have been explored and compared: > > 1. A simple wrapper around stack_trace_save_tsk(), as v1 [1]. > > This approach introduces new syntax, which is different to existing > helper bpf_get_stack(). Therefore, this is not ideal. > > 2. Extend get_perf_callchain() to support "task" as argument. > > This approach reuses most of bpf_get_stack(). However, extending > get_perf_callchain() requires non-trivial changes to architecture > specific code. Which is error prone. > > 3. Current (v2) approach, leverages most of existing bpf_get_stack(), and > uses stack_trace_save_tsk() to handle architecture specific logic. > > [1] https://lore.kernel.org/netdev/20200623070802.2310018-1-songliubraving@xxxxxx/ > > Changes v4 => v5: > 1. Rebase and work around git-am issue. (Alexei) > 2. Update commit log for 4/4. (Yonghong) Applied. Thanks I've added /* */ tweak to BPF_FUNC_MAPPER, so we stop having ongoing merge conflicts and preserve better 'git blame' for helpers.