> On Apr 5, 2021, at 4:49 PM, Cong Wang <xiyou.wangcong@xxxxxxxxx> wrote: > > On Fri, Apr 2, 2021 at 4:31 PM Song Liu <songliubraving@xxxxxx> wrote: >> >> >> >>> On Apr 2, 2021, at 1:57 PM, Cong Wang <xiyou.wangcong@xxxxxxxxx> wrote: >>> >>> Ideally I even prefer to create timers in kernel-space too, but as I already >>> explained, this seems impossible to me. >> >> Would hrtimer (include/linux/hrtimer.h) work? > > By impossible, I meant it is impossible (to me) to take a refcnt to the callback > prog if we create the timer in kernel-space. So, hrtimer is the same in this > perspective. > > Thanks. I guess I am not following 100%. Here is what I would propose: We only introduce a new program type BPF_PROG_TYPE_TIMER. No new map type. The new program will trigger based on a timer, and the program can somehow control the period of the timer (for example, via return value). With this approach, the user simply can create multiple timer programs and hold the fd for them. And these programs trigger up to timer expiration. Does this make sense? Thanks, Song