[dpdk-dev] Stopping DPDK Timer [RTE-Timers]
Suraj R Gupta
surajrgupta at iith.ac.in
Tue Sep 3 06:51:17 CEST 2019
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.richardson at 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.richardson at 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.richardson at intel.com
>
--
Thanks and Regards
Suraj R Gupta
More information about the dev
mailing list