linux/Documentation
Qais Yousef 6939f4ef16 trace: bpf: Allow bpf to attach to bare tracepoints
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@arm.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Yonghong Song <yhs@fb.com>
Link: https://lore.kernel.org/bpf/20210119122237.2426878-2-qais.yousef@arm.com
2021-01-20 14:13:59 -08:00
..
ABI More power management updates for 5.11-rc1 2020-12-22 14:12:10 -08:00
accounting
admin-guide xen: branch for v5.11-rc4 2021-01-15 10:52:00 -08:00
arm ARM updates for 5.11: 2020-12-22 13:34:27 -08:00
arm64 ARM: 2020-12-20 10:44:05 -08:00
block
bpf trace: bpf: Allow bpf to attach to bare tracepoints 2021-01-20 14:13:59 -08:00
cdrom
core-api atomic: remove further references to atomic_ops 2020-12-31 15:51:33 -07:00
cpu-freq
crypto
dev-tools Merge branch 'akpm' (patches from Andrew) 2020-12-22 13:38:17 -08:00
devicetree dt-binding: net: ti: k3-am654-cpsw-nuss: update bindings for am64x cpsw3g 2021-01-19 17:32:34 -08:00
doc-guide Documentation: doc-guide: fixes to sphinx.rst 2020-12-31 15:49:51 -07:00
driver-api RTC for 5.11 2020-12-20 10:12:06 -08:00
fault-injection
fb
features ARM updates for 5.11: 2020-12-22 13:34:27 -08:00
filesystems Various bug fixes and cleanups for ext4; no new features this cycle. 2020-12-24 14:16:02 -08:00
firmware_class
firmware-guide Documentation: ACPI: EINJ: Fix error type values for PCIe errors 2021-01-14 13:11:25 +01:00
fpga
gpu
hid Merge branch 'for-5.11/core' into for-linus 2020-12-16 11:38:38 +01:00
hwmon hwmon: (sbtsi_temp) Fix Documenation kernel-doc warning 2020-12-30 08:05:20 -08:00
i2c
ia64
ide
iio
infiniband
input
isdn
kbuild Documentation: kbuild: Fix section reference 2021-01-11 05:14:38 +09:00
kernel-hacking docs: Fix reST markup when linking to sections 2020-12-31 15:44:47 -07:00
leds Changes for 5.11-rc1. Small cleanups/fixes mostly thanks to Marek, 2020-12-16 14:56:29 -08:00
litmus-tests
livepatch
locking
m68k
maintainer
mhi
mips
misc-devices
netlabel
networking docs, bpf: Add minimal markup to address doc warning 2021-01-20 14:10:35 -08:00
nios2
nvdimm
openrisc
parisc
PCI
pcmcia
power
powerpc
process docs: remove mention of ENABLE_MUST_CHECK 2021-01-07 14:41:38 -07:00
RCU docs: Fix reST markup when linking to sections 2020-12-31 15:44:47 -07:00
riscv
s390
scheduler Power management updates for 5.11-rc1 2020-12-15 16:30:31 -08:00
scsi
security
sh
sound sound fixes for 5.11-rc4 2021-01-13 11:55:14 -08:00
sparc
sphinx Kbuild updates for v5.11 2020-12-22 14:02:39 -08:00
sphinx-static
spi
staging
target
timers
trace Kbuild updates for v5.11 2020-12-22 14:02:39 -08:00
translations Networking updates for 5.11 2020-12-15 13:22:29 -08:00
usb
userspace-api
virt KVM/arm64 fixes for 5.11, take #1 2021-01-08 05:02:40 -05:00
vm mm/lru: revise the comments of lru_lock 2020-12-15 14:48:04 -08:00
w1
watchdog
x86
xtensa
.gitignore
asm-annotations.rst
atomic_bitops.txt
atomic_t.txt
Changes
CodingStyle
conf.py
COPYING-logo
docutils.conf
dontdiff
index.rst
Kconfig
logo.gif
Makefile
memory-barriers.txt
SubmittingPatches
watch_queue.rst