> -----Original Message----- > From: Sarosh Arif <sarosh.a...@emumba.com> > Sent: Monday, August 3, 2020 6:21 AM > To: Carrillo, Erik G <erik.g.carri...@intel.com>; rsanf...@akamai.com > Cc: dev@dpdk.org; Sarosh Arif <sarosh.a...@emumba.com> > Subject: [PATCH] doc: announce API change in timer > > If the user tries to reset/stop some other timer in it's callback function, > which > is also about to expire, using rte_timer_reset_sync/rte_timer_stop_sync the > application goes into an infinite loop. This happens because > rte_timer_reset_sync/rte_timer_stop_sync loop until the timer resets/stops > and there is check inside timer_set_config_state which prevents a running > timer from being reset/stopped by not it's own timer_cb. Therefore > timer_set_config_state returns -1 due to which rte_timer_reset returns -1 > and rte_timer_reset_sync goes into an infinite loop > > To to prevent this rte_timer_reset_sync and rte_timer_stop_sync should > have int return types, so that -1 can be returned if the above condition > occurs > > Signed-off-by: Sarosh Arif <sarosh.a...@emumba.com> > --- > doc/guides/rel_notes/deprecation.rst | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/doc/guides/rel_notes/deprecation.rst > b/doc/guides/rel_notes/deprecation.rst > index ea4cfa7a4..ed93a707d 100644 > --- a/doc/guides/rel_notes/deprecation.rst > +++ b/doc/guides/rel_notes/deprecation.rst > @@ -151,3 +151,9 @@ Deprecation Notices > Python 2 support will be completely removed in 20.11. > In 20.08, explicit deprecation warnings will be displayed when running > scripts with Python 2. > + > +* timer: Since timer can get stuck in an infinite loop if the > +application tries to > + reset/stop some other timer in it's callback function, which is also > +about to > + expire. The function ``rte_timer_stop_sync`` and
It looks like this should be rte_timer_reset_sync. Maybe something like: timer: Timers can get stuck in an infinite loop if their callback tries to synchronously reset/stop some other timer that is also about to expire. The functions ``rte_timer_reset_sync`` and ``rte_timer_stop_sync`` will updated with an int return type so that an error code can be returned when this condition occurs. Thanks, Erik > +``rte_timer_stop_sync`` will > + have a int return type in order to return with -1 in when this > +condition > + occures. > -- > 2.17.1