On Wed, Jul 07, 2021 at 06:18:22PM -0700, Alexei Starovoitov wrote: > From: Alexei Starovoitov <ast@xxxxxxxxxx> > > 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 <kafai@xxxxxx>