On Fri, Jan 22, 2016 at 05:07:31PM +0200, Ivan Khoronzhuk wrote:
> https://bugs.linaro.org/show_bug.cgi?id=1992
> 
> Signed-off-by: Ivan Khoronzhuk <[email protected]>

Reviewed-and-Tested-by: Stuart Haslam <[email protected]>

> ---
>  platform/linux-generic/odp_timer.c | 14 ++++++++++----
>  1 file changed, 10 insertions(+), 4 deletions(-)
> 
> diff --git a/platform/linux-generic/odp_timer.c 
> b/platform/linux-generic/odp_timer.c
> index 4bab481..01339ad 100644
> --- a/platform/linux-generic/odp_timer.c
> +++ b/platform/linux-generic/odp_timer.c
> @@ -168,6 +168,7 @@ typedef struct odp_timer_pool_s {
>       char name[ODP_TIMER_POOL_NAME_LEN];
>       odp_shm_t shm;
>       timer_t timerid;
> +     int notify_overrun;
>  } odp_timer_pool;
>  
>  #define MAX_TIMER_POOLS 255 /* Leave one for ODP_TIMER_INVALID */
> @@ -239,6 +240,7 @@ static odp_timer_pool *odp_timer_pool_new(
>       tp->num_alloc = 0;
>       odp_atomic_init_u32(&tp->high_wm, 0);
>       tp->first_free = 0;
> +     tp->notify_overrun = 1;
>       tp->tick_buf = (void *)((char *)odp_shm_addr(shm) + sz0);
>       tp->timers = (void *)((char *)odp_shm_addr(shm) + sz0 + sz1);
>       /* Initialize all odp_timer entries */
> @@ -635,10 +637,14 @@ static void timer_notify(sigval_t sigval)
>       int overrun;
>       odp_timer_pool *tp = (odp_timer_pool *)sigval.sival_ptr;
>  
> -     overrun = timer_getoverrun(tp->timerid);
> -     if (overrun)
> -             ODP_ERR("\n\t%d ticks overrun on timer pool \"%s\", timer 
> resolution too high\n",
> -                     overrun, tp->name);
> +     if (tp->notify_overrun) {
> +             overrun = timer_getoverrun(tp->timerid);
> +             if (overrun) {
> +                     ODP_ERR("\n\t%d ticks overrun on timer pool \"%s\", 
> timer resolution too high\n",
> +                             overrun, tp->name);
> +                     tp->notify_overrun = 0;
> +             }
> +     }
>  
>  #ifdef __ARM_ARCH
>       odp_timer *array = &tp->timers[0];
> -- 
> 1.9.1
> 
_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to