timer: remove unnecessary list insertion
authorHiroyuki Mikita <h.mikita89@gmail.com>
Sun, 17 Jul 2016 17:35:50 +0000 (02:35 +0900)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Mon, 25 Jul 2016 15:55:12 +0000 (17:55 +0200)
When timer_set_running_state() fails in rte_timer_manage(),
the failed timer is put back on pending-list.
In this case, another core tries to reset or stop the timer.
It does not need to be on pending-list.

Fixes: a4b7a5a45cf5 ("timer: fix race condition")

Signed-off-by: Hiroyuki Mikita <h.mikita89@gmail.com>
Acked-by: Robert Sanford <rsanford@akamai.com>
lib/librte_timer/rte_timer.c

index 7457d32..3f21f2d 100644 (file)
@@ -564,10 +564,9 @@ void rte_timer_manage(void)
                        pprev = &tim->sl_next[0];
                } else {
                        /* another core is trying to re-config this one,
-                        * remove it from local expired list and put it
-                        * back on the priv_timer[] skip list */
+                        * remove it from local expired list
+                        */
                        *pprev = next_tim;
-                       timer_add(tim, lcore_id, 1);
                }
        }