Thanks Dave!!!.
I could see precision was indeed the problem. I think it is because the
slots are missed due to below check in tw_timer_expire_timers_internal(...)
when now time is behind the calculated next_run_time.
* /* Shouldn't happen */*
* if (PREDICT_FALSE (now < tw->next_run_time))*
*
Probably due to the vpp process sitting in an epoll_pwait(). See
.../src/vlib/unix/input.c:linux_epoll_input_inline(...).
The tw_timer code does its best, but if you don’t call the
tw_timer_expire_timers_XXX(...) method precisely it won’t yield the sort of
precision you’re looking for.
If you