These are the links to Timers documentation. https://doc.dpdk.org/api/rte__timer_8h.html https://doc.dpdk.org/guides/prog_guide/timer_lib.html
As per my understanding of the documentation, PENDING means timer is scheduled to run but not started.(in a list) RUNNING means timer is presently running. STOPPED means timer has stopped and callback processed. rte_timer_stop() can be used from callbacks for stopping the timer even in case of periodical(multishot timers) my use case is for a single shot , where i have to stop the timer in middle. On Mon, Sep 2, 2019 at 8:44 PM Bruce Richardson <bruce.richard...@intel.com> wrote: > On Mon, Sep 02, 2019 at 05:12:36PM +0530, Suraj R Gupta wrote: > > Hi, > > If I am right, rte_timer_stop() stops the timer after the call back > > execution. > > It is said that if rte_timer_stop() is called during timer running, > > function will fail. > > I want to know if timer can be stopped in middle abruptly? i.e If I > > have timer started for 500 ms and i want to stop it in 100ms > > Thanks > > > > IIRC when a timer has been configured but the time has not yet expired > it is in the PENDING state, where is can be safely stopped. I believe the > running state is for timers which have expired and are about to have their > callbacks processed, or are currently having their callbacks processed on > another core. Therefore, in the normal case, using stop will do what > you want. If this is not the case, it seems like something we should fix. > > Regards, > /Bruce > > > On Mon, Sep 2, 2019 at 4:52 PM Bruce Richardson > > <[1]bruce.richard...@intel.com> wrote: > > > > On Mon, Sep 02, 2019 at 11:02:16AM +0530, Suraj R Gupta wrote: > > > Hi all, > > > I am working with DPDK timers. > > > In the documentation of timers, it has been said that dpdk based > > rte-timers > > > cannot stopped while running. I would like to know if there is any > > way to > > > stop it in middle or any workaround is possible. > > > > > > For e.g.: If I have timer started for 500 ms and i want to stop > > it in 100 > > > ms due to an event/interrupt. > > > > > > Note:I am not talking of stopping timer after callback execution, > > before > > > timer expiry in middle > > > Thanks in advance. > > > > > I think rte_timer_stop() is what you are looking for. > > /Bruce > > > > -- > > > > Thanks and Regards > > Suraj R Gupta > > > > References > > > > 1. mailto:bruce.richard...@intel.com > -- Thanks and Regards Suraj R Gupta