Rob Wheeler wrote:
> Gilles,

Rob,

please do not drop the list from the CC, the conversation may interest
other people.

> 
> Thanks for the FAST response.  I'm currently calling gettimeofday()
> and clock_settime() one time just prior to creating my realtime
> thread.
> 
> My goal is to have a thread that wakes up every 1ms and performs some
> work and goes back to sleep until the next 1ms interval.  My current
> implementation calls clock_gettime() initially, and then sits in a
> while (1) loop that does some work and then calls
> clock_nanosleep(CLOCK_REALTIME, TIMER_ABSTIME, ...) with a timespec
> exactly 1ms since the last sleep.
> 
> Given my application, is your recommendation that I switch to using
> the CLOCK_MONOTONIC in my realtime loop and then have a non-realtime
> thread which basically does:
> 
> while (1) {
>   gettimeofday()
>   clock_settime(CLOCK_REALTIME)
>   sleep for a bit
> }
> 
> so that I can get close to synchronized time in my realtime code?

Yes.

> 
> Also, just for my education, is 50us/s a typical clock drift value?
> What exactly is the source of this drift and can anything be done to
> reduce the amount of drift?

I have no idea if this is normal. Xenomai uses the tsc as a clock
source. Linux may choose to use something else than the tsc (you should
see messages in the logs if it does), it may correct the tsc clock drift
if you use NTP, and since Xenomai does not correct the drift, you
observe a difference.

-- 
                                            Gilles.

_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to