Gilles Chanteperdrix wrote:
> Philippe Gerum wrote:
>> Gilles Chanteperdrix wrote:
>>> Philippe Gerum wrote:
>>>> Gilles Chanteperdrix wrote:
>>>>> I run clocktest on a system here, not running NTP, using
>>>>> CONFIG_GENERIC_CLOCKEVENT, with a systematic drift of 3us/s. How can
>>>>> this happen? Does it come from the error due to the multiply and shift
>>>>> used for tsc to/from ns conversions ?
>>>> - ipipe_request_tickdev() returning a timer freq we don't like?
>>> Well, I would expect ipipe_request_tickdev() to return the same
>>> frequency as the one used by Linux.
>> Yes it does. But this value is used by Xenomai code.
> It turns out that the frequency used to convert tsc to ns is the cpu
> frequency (which is kind of a misnomer, since your emulated tsc on arm
> does not run at cpu frequency),
Yes, that's bad. We have a timebase frequency that applies to our clock readings
for calculating delays, and a timer frequency used to rescale those delays for
programming timer shots. The CPU frequency has no relevance here. The fact that
x86 once assumed CPU freq == TSC freq is an unfortunate legacy that goes down
deep to the I-pipe as well.
which is computed though it should have
> the same value as the timer frequency but is suject to rounding errors.
Xenomai-core mailing list