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
