Hi, Alexei On Thu, May 20, 2021 at 11:52 PM Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> wrote: > > From: Alexei Starovoitov <ast@xxxxxxxxxx> Why do you intentionally keep people in the original discussion out of your CC? Remember you are the one who objected the idea by questioning its usefulness no matter how I hard I tried to explain? I am glad you changed your mind, but it does not mean you should forget to credit other people. > > Introduce 'struct bpf_timer' that can be embedded in most BPF map types > and helpers to operate on it: > long bpf_timer_init(struct bpf_timer *timer, void *callback, int flags) > long bpf_timer_mod(struct bpf_timer *timer, u64 msecs) > long bpf_timer_del(struct bpf_timer *timer) Like we discussed, this approach would make the timer harder to be independent of other eBPF programs, which is a must-have for both of our use cases (mine and Jamal's). Like you explained, this requires at least another program array, a tail call, a mandatory prog pinning to work. So, why do you prefer to make it harder to use? BTW, I have a V2 to send out soon and will keep you in CC, which still creates timers from user-space. Thanks.