* [Adeos-main] ipipe_request_tickdev issue
@ 2012-02-11 18:34 Gilles Chanteperdrix
2012-02-20 16:40 ` Philippe Gerum
0 siblings, 1 reply; 2+ messages in thread
From: Gilles Chanteperdrix @ 2012-02-11 18:34 UTC (permalink / raw)
To: Adeos
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;
in ipipe_request_tickdev, but maybe someone else sees a better solution.
--
Gilles.
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [Adeos-main] ipipe_request_tickdev issue
2012-02-11 18:34 [Adeos-main] ipipe_request_tickdev issue Gilles Chanteperdrix
@ 2012-02-20 16:40 ` Philippe Gerum
0 siblings, 0 replies; 2+ messages in thread
From: Philippe Gerum @ 2012-02-20 16:40 UTC (permalink / raw)
To: Gilles Chanteperdrix; +Cc: Adeos
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.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-02-20 16:40 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-11 18:34 [Adeos-main] ipipe_request_tickdev issue Gilles Chanteperdrix
2012-02-20 16:40 ` Philippe Gerum
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.