Gilles Chanteperdrix wrote:
> Gilles Chanteperdrix wrote:
>> Philippe Gerum wrote:
>>> Gilles Chanteperdrix wrote:
>>>> Philippe Gerum wrote:
>>>>> Gilles Chanteperdrix wrote:
>>>>>> Hi,
>>>>>>
>>>>>> 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), which is computed though it should have
>> the same value as the timer frequency but is suject to rounding errors.
> 
> The timer frequency is as approximate as the cpu frequency,
> ipipe_request_tickdev does this:
> 
>       freq = (1000000000ULL * evtdev->mult) >> evtdev->shift;
>       *tmfreq = (unsigned long)freq;
> 

Ok. But linux uses the same approximate frequency. So, the error is
somewhere else.

-- 
                                                 Gilles.

_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to