linux-bl808/kernel/bpf
Jesper Dangaard Brouer c8996c98f7 bpf: Add BPF-helper for accessing CLOCK_TAI
Commit 3dc6ffae2d ("timekeeping: Introduce fast accessor to clock tai")
introduced a fast and NMI-safe accessor for CLOCK_TAI. Especially in time
sensitive networks (TSN), where all nodes are synchronized by Precision Time
Protocol (PTP), it's helpful to have the possibility to generate timestamps
based on CLOCK_TAI instead of CLOCK_MONOTONIC. With a BPF helper for TAI in
place, it becomes very convenient to correlate activity across different
machines in the network.

Use cases for such a BPF helper include functionalities such as Tx launch
time (e.g. ETF and TAPRIO Qdiscs) and timestamping.

Note: CLOCK_TAI is nothing new per se, only the NMI-safe variant of it is.

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
[Kurt: Wrote changelog and renamed helper]
Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de>
Link: https://lore.kernel.org/r/20220809060803.5773-2-kurt@linutronix.de
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2022-08-09 09:47:13 -07:00
..
preload bpf: iterators: Build and use lightweight bootstrap version of bpftool 2022-07-15 12:01:30 -07:00
arraymap.c bpf: remove obsolete KMALLOC_MAX_SIZE restriction on array map value size 2022-07-19 09:45:34 -07:00
bloom_filter.c
bpf_inode_storage.c
bpf_iter.c bpf, iter: Fix the condition on p when calling stop. 2022-08-09 09:12:00 -07:00
bpf_local_storage.c
bpf_lru_list.c
bpf_lru_list.h
bpf_lsm.c bpf: fix lsm_cgroup build errors on esoteric configs 2022-07-19 09:40:41 -07:00
bpf_struct_ops.c bpf: Remove is_valid_bpf_tramp_flags() 2022-07-11 21:04:58 +02:00
bpf_struct_ops_types.h
bpf_task_storage.c
btf.c btf: Add a new kfunc flag which allows to mark a function to be sleepable 2022-08-09 09:11:17 -07:00
cgroup.c bpf: implement BPF_PROG_QUERY for BPF_LSM_CGROUP 2022-06-29 13:21:52 -07:00
core.c bpf: Add BPF-helper for accessing CLOCK_TAI 2022-08-09 09:47:13 -07:00
cpumap.c
devmap.c bpf, devmap: Compute proper xdp_frame len redirecting frames 2022-07-26 16:26:19 +02:00
disasm.c
disasm.h
dispatcher.c
hashtab.c bpf: Make non-preallocated allocation low priority 2022-07-12 17:44:27 -07:00
helpers.c bpf: Add BPF-helper for accessing CLOCK_TAI 2022-08-09 09:47:13 -07:00
inode.c
Kconfig
link_iter.c
local_storage.c bpf: Make non-preallocated allocation low priority 2022-07-12 17:44:27 -07:00
lpm_trie.c bpf: Make non-preallocated allocation low priority 2022-07-12 17:44:27 -07:00
Makefile
map_in_map.c
map_in_map.h
map_iter.c
mmap_unlock_work.h
net_namespace.c
offload.c
percpu_freelist.c bpf: avoid grabbing spin_locks of all cpus when no free elems 2022-06-11 14:25:35 -07:00
percpu_freelist.h
prog_iter.c
queue_stack_maps.c
reuseport_array.c
ringbuf.c
stackmap.c
syscall.c bpf: reparent bpf maps on memcg offlining 2022-07-12 15:59:12 -07:00
sysfs_btf.c
task_iter.c
tnum.c
trampoline.c bpf: Remove unneeded semicolon 2022-07-29 15:34:11 -07:00
verifier.c bpf: Cleanup check_refcount_ok 2022-08-09 09:43:31 -07:00