On 02/11/2012 07:34 PM, Gilles Chanteperdrix wrote:

Hi,

I found this out a long time ago on AT91 and worked around it but am
starting to see the same issue on hardware which hardware timer does not
wrap as fast: when xenomai calls ipipe_request_tickdev, the clockevent
structure max_delta_ns member is set to ULONG_MAX, but on most ARM
platforms, the reason for max_delta_ns is not only the timer hardware
limit, it is also necessary to call eg. update_sched_clock at least once
every max_delta_ns in order to avoid the hardware counter wrapping
without the system noticing it.

What do you think is the best way to avoid this issue? I would propose
simply removing the line which does:
        evtdev->max_delta_ns = ULONG_MAX;

Assuming we never go through clockevents_program_event() to program the next real-time shot, I don't see any issue killing this line in the current pipeline implementation. This said, it is unlikely that we would want to program delays larger than what the kernel defined as the maximum for the clock chip anyway.

in ipipe_request_tickdev, but maybe someone else sees a better solution.



--
Philippe.

_______________________________________________
Adeos-main mailing list
[email protected]
https://mail.gna.org/listinfo/adeos-main

Reply via email to