On 10 November 2015 at 15:40, Ivan Khoronzhuk <[email protected]>
wrote:

> If tick is late then application should be warned about this.
> It means that actual timer resolution is worse than expected.
> The default timer resolution is set 10ms, that is equal to jiffy
> on most systems. The default resolution is set bearing in mind
> that on a CPU runs maximum two threads that ideally fits in 10ms.
> But user can change it to be smaller, in case if CPU0 is isolated
> and it handles only the timer ticks. This patch helps user to set
> correct timer resolution.
>
> Signed-off-by: Ivan Khoronzhuk <[email protected]>
> ---
>  platform/linux-generic/odp_timer.c | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/platform/linux-generic/odp_timer.c
> b/platform/linux-generic/odp_timer.c
> index e8f0267..917ee5a 100644
> --- a/platform/linux-generic/odp_timer.c
> +++ b/platform/linux-generic/odp_timer.c
> @@ -632,7 +632,13 @@ static unsigned
> odp_timer_pool_expire(odp_timer_pool_t tpid, uint64_t tick)
>
>  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\tlow resolution!, overrun ticks: %d\n",
> overrun);
>
Actually the timer resolution isn't too low (low resolution <=> long
period) but too high (too short period for the system to handle).

"Ticks lost on timer %s, timer resolution too high\n", tpid->name



> +
>  #ifdef __ARM_ARCH
>         odp_timer *array = &tp->timers[0];
>         uint32_t i;
> --
> 1.9.1
>
> _______________________________________________
> lng-odp mailing list
> [email protected]
> https://lists.linaro.org/mailman/listinfo/lng-odp
>
_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to