]> git.ipfire.org Git - thirdparty/linux.git/commit
Merge branch 'net-timestamp-bpf-extension-to-equip-applications-transparently'
authorMartin KaFai Lau <martin.lau@kernel.org>
Thu, 20 Feb 2025 21:07:22 +0000 (13:07 -0800)
committerMartin KaFai Lau <martin.lau@kernel.org>
Thu, 20 Feb 2025 22:30:16 +0000 (14:30 -0800)
commit68b92ac494eb767cff5826372328c10e24b2e25a
tree5a8d58615af649ddc8416ef380aaaafd5448b388
parent09bc97bcf868af16a2cc78a1b8b6c9d31cbabd23
parentf4924aec58dd9e14779f4bc11a6bf3a830a42a6c
Merge branch 'net-timestamp-bpf-extension-to-equip-applications-transparently'

Jason Xing says:

====================
net-timestamp: bpf extension to equip applications transparently

"Timestamping is key to debugging network stack latency. With
SO_TIMESTAMPING, bugs that are otherwise incorrectly assumed to be
network issues can be attributed to the kernel." This is extracted
from the talk "SO_TIMESTAMPING: Powering Fleetwide RPC Monitoring"
addressed by Willem de Bruijn at netdevconf 0x17).

There are a few areas that need optimization with the consideration of
easier use and less performance impact, which I highlighted and mainly
discussed at netconf 2024 with Willem de Bruijn and John Fastabend:
uAPI compatibility, extra system call overhead, and the need for
application modification. I initially managed to solve these issues
by writing a kernel module that hooks various key functions. However,
this approach is not suitable for the next kernel release. Therefore,
a BPF extension was proposed. During recent period, Martin KaFai Lau
provides invaluable suggestions about BPF along the way. Many thanks
here!

This series adds the BPF networking timestamping infrastructure through
reusing most of the tx timestamping callback that is currently enabled
by the SO_TIMESTAMPING.. This series also adds TX timestamping support
for TCP. The RX timestamping and UDP support will be added in the future.
====================

Link: https://patch.msgid.link/20250220072940.99994-1-kerneljasonxing@gmail.com
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>