Hello Thomas,
This is a known problem. If you want more information about it take a
look at this posting I did a while ago:
http://www.rtlinux.org/mailing_list/rtl.w5archive/0008/msg00239.html
One can't use use do_gettimeoday from real-time kernel modules because
it uses normal Linux locks to ensure exclusive access to xtime_lock.
Changing the Linux locks to real-time locks fixes the problem. This is
done in the LTT patch for RTAI and works great. It provides accurate
timing and enables hard-real-time tasks to access do_gettimeofday without
problems.
Cheers,
Karim
Thomas Folkers wrote:
>
> Victor,
> How come I can't get the time of day from the kernel? If I use
> do_gettimeofday(), eventually the system will hang. It may not happen
> right away, but it will hang. I'm trying to time external events and
> record the exact time an interrupt comes in and the only way to compare
> that time to other events and to other systems is to have the exact
> system time. The clock_gettime() routine returns something close to
> the real system clock time, but then proceeds to gain time at the rate of
> 35,000 nsecs/sec. That's probably due to a miss calibration in the cpu HZ
> value. I have looked over the rtl_time.c file and can see where you 'sync'
> the CLOCK_REALTIME to the results of a do_gettimeofday() call, but then
> there doesn't seem to be any other 'tweeks' to the time to keep it in
> sync. So, while the clock_gettime() produces a nice monotonic clock, it
> bear little resemblance to actual time.
> So, how do I get the time of day from the kernel?
>
> Thanks for you help,
> Tom
>
> --
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> _/_/_/_/ _/_/ _/_/ _/_/_/_/_/ _/_/_/_/ Thomas W. Folkers
> _/ _/ _/ _/ _/ _/ _/ _/ Telescope Operations Mgr.
> _/_/_/_/ _/ _/ _/ _/ _/ _/ Sub-Millimeter Telescope
> _/ _/ _/ _/ _/ _/ Kitt Peak 12M Radio Telescope
> _/ _/ _/ _/ _/ _/ 933 N. Cherry Ave. Rm. 486
> _/_/_/_/ _/ _/ _/ _/_/_/_/ Tucson, Arizona 85721
> ------------------------------------------- email: [EMAIL PROTECTED]
> ------------------------------------------ Voice: (520) 626-7837
> -- http://maisel.as.arizona.edu:8080/ --- Fax: 621-5554 Pager: 446-0760
> -- http://kp12m.as.arizona.edu/ --- Mobil: 909-1113 Home: 742-9279
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> -- [rtl] ---
> To unsubscribe:
> echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> --
> For more information on Real-Time Linux see:
> http://www.rtlinux.org/rtlinux/
--
===================================================
Karim Yaghmour
[EMAIL PROTECTED]
Embedded and Real-Time Linux Expert
===================================================
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/