also need to put Fixes https://bugs.linaro.org/show_bug.cgi?id=2552
Into the patch description, maybe that can happen as it is pushed ? On 13 October 2016 at 17:46, Bill Fischofer <[email protected]> wrote: > Since this is a bug fix, please open a Bug for it so that this can be > tracked as a defect closure. > > On Thu, Oct 13, 2016 at 4:18 PM, Brian Brooks <[email protected]> > wrote: > > > A timer pool's tick starts at t0 (zero). Once the first period has > passed, > > the timer pool is scanned for any timers that have expired since t0 + 1. > > > > Current code does an atomic fetch increment on the tick, but uses the > > previous tick during timer expiration processing. What is needed is the > > previous tick + 1. > > > > The observable effect without this patch is that timers are expired one > > tick > > period (timer resolution) later than they should be. > > > > Signed-off-by: Brian Brooks <[email protected]> > > > > Reviewed-by: Bill Fischofer <[email protected]> > > > > --- > > platform/linux-generic/odp_timer.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/platform/linux-generic/odp_timer.c > > b/platform/linux-generic/odp_timer.c > > index becea9d..b26ac6b 100644 > > --- a/platform/linux-generic/odp_timer.c > > +++ b/platform/linux-generic/odp_timer.c > > @@ -691,7 +691,7 @@ static void timer_notify(odp_timer_pool *tp) > > prev_tick = odp_atomic_fetch_inc_u64(&tp->cur_tick); > > > > /* Scan timer array, looking for timers to expire */ > > - (void)odp_timer_pool_expire(tp, prev_tick); > > + (void)odp_timer_pool_expire(tp, prev_tick + 1); > > > > /* Else skip scan of timers. cur_tick was updated and next itimer > > * invocation will process older expiration ticks as well */ > > -- > > 2.7.4 > > > > > -- Mike Holmes Program Manager - Linaro Networking Group Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs "Work should be fun and collaborative, the rest follows"
