[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2e63b638-1500-c323-0fec-1aecfef5f033@fb.com>
Date: Sat, 16 Jan 2021 18:03:37 -0800
From: Yonghong Song <yhs@...com>
To: Qais Yousef <qais.yousef@....com>, <netdev@...r.kernel.org>,
<bpf@...r.kernel.org>
CC: Alexei Starovoitov <ast@...nel.org>,
Andrii Nakryiko <andrii@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>,
Steven Rostedt <rostedt@...dmis.org>,
"Peter Zijlstra (Intel)" <peterz@...radead.org>,
<linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2 bpf-next 1/2] trace: bpf: Allow bpf to attach to bare
tracepoints
On 1/16/21 10:21 AM, Qais Yousef wrote:
> Some subsystems only have bare tracepoints (a tracepoint with no
> associated trace event) to avoid the problem of trace events being an
> ABI that can't be changed.
>
> From bpf presepective, bare tracepoints are what it calls
> RAW_TRACEPOINT().
>
> Since bpf assumed there's 1:1 mapping, it relied on hooking to
> DEFINE_EVENT() macro to create bpf mapping of the tracepoints. Since
> bare tracepoints use DECLARE_TRACE() to create the tracepoint, bpf had
> no knowledge about their existence.
>
> By teaching bpf_probe.h to parse DECLARE_TRACE() in a similar fashion to
> DEFINE_EVENT(), bpf can find and attach to the new raw tracepoints.
>
> Enabling that comes with the contract that changes to raw tracepoints
> don't constitute a regression if they break existing bpf programs.
> We need the ability to continue to morph and modify these raw
> tracepoints without worrying about any ABI.
>
> Update Documentation/bpf/bpf_design_QA.rst to document this contract.
>
> Signed-off-by: Qais Yousef <qais.yousef@....com>
Acked-by: Yonghong Song <yhs@...com>
Powered by blists - more mailing lists