On Sat, Sep 26, 2020 at 02:32:43AM +0300, Dmitry Kozlyuk wrote: > Implementation is based on waitable timers Win32 API. When timer is set, > a callback and its argument are supplied to the OS, while timer handle > is stored in EAL alarm list. When timer expires, OS wakes up the > interrupt thread and runs the callback. Upon completion it removes the > alarm. > > Waitable timers must be set from the thread their callback will run in, > eal_intr_thread_schedule() provides a way to schedule asyncronuous code > execution in the interrupt thread. Alarm module builds synchronous timer > setup on top of it. > > Windows alarms are not a type of DPDK interrupt handle and do not > interact with interrupt module beyond executing in the same thread. > > Signed-off-by: Dmitry Kozlyuk <dmitry.kozl...@gmail.com> > --- > lib/librte_eal/rte_eal_exports.def | 2 + > lib/librte_eal/windows/eal_alarm.c | 219 +++++++++++++++++++++++++++++ > lib/librte_eal/windows/meson.build | 1 + > 3 files changed, 222 insertions(+) > create mode 100644 lib/librte_eal/windows/eal_alarm.c >
Acked-by: Narcisa Vasile <navas...@linux.microsoft.com>