Re: [PATCH v5 bpf-next 00/11] bpf: Introduce BPF timers.
From: Martin KaFai Lau <hidden>
Date: 2021-07-09 02:00:12
Also in:
bpf
On Wed, Jul 07, 2021 at 06:18:22PM -0700, Alexei Starovoitov wrote:
From: Alexei Starovoitov <ast@kernel.org> The first request to support timers in bpf was made in 2013 before sys_bpf syscall was added. That use case was periodic sampling. It was address with attaching bpf programs to perf_events. Then during XDP development the timers were requested to do garbage collection and health checks. They were worked around by implementing timers in user space and triggering progs with BPF_PROG_RUN command. The user space timers and perf_event+bpf timers are not armed by the bpf program. They're done asynchronously vs program execution. The XDP program cannot send a packet and arm the timer at the same time. The tracing prog cannot record an event and arm the timer right away. This large class of use cases remained unaddressed. The jiffy based and hrtimer based timers are essential part of the kernel development and with this patch set the hrtimer based timers will be available to bpf programs. TLDR: bpf timers is a wrapper of hrtimers with all the extra safety added to make sure bpf progs cannot crash the kernel.
Looked more closely from 1-6. Left minor comments in patch 4. The later verifier changes make sense to me but I won't be very useful there. lgtm overall, Acked-by: Martin KaFai Lau <redacted>