[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

BOUNCE rtl@rtlinux.org: Approval required: Non-member submission from [Karim Yaghmour <karym@opersys.com>] (fwd)



>From owner-rtl Thu May  3 12:01:48 2001
Received: from relay04.valueweb.net (relay04.valueweb.net [216.219.253.238])
	by hq.fsmlabs.com (8.11.2/8.11.2) with ESMTP id f43I1lJ17924
	for <rtl@fsmlabs.com>; Thu, 3 May 2001 12:01:48 -0600
Received: from thor.valueweb.net ([216.219.254.23]:24334 "EHLO thor.valueweb.net") by relay04.valueweb.net with ESMTP id <S166400AbRECR5f>; Thu, 3 May 2001 13:57:35 -0400
Received: from modemcable015.42-200-24.mtl.mc.videotron.ca ([24.200.42.15]:39687 "EHLO opersys.com") by thor.valueweb.net with ESMTP id <S183026AbRECR51>; Thu, 3 May 2001 13:57:27 -0400
Sender: root@thor.valueweb.net
Message-ID: <3AF19D99.2B3107F9@opersys.com>
Date: 	Thu, 03 May 2001 14:04:09 -0400
From: Karim Yaghmour <karym@opersys.com>
X-Mailer: Mozilla 4.75 [en] (X11; U; Linux 2.2.14 i686)
X-Accept-Language: en, French/Canada, French/France, fr-FR, fr-CA
MIME-Version: 1.0
To: rtl@fsmlabs.com
CC: yodaiken@fsmlabs.com, tfolkers@hamms.as.arizona.edu
Subject: Re: [rtl] do_gettimeofday().
References: <200105022112.f42LC0417422@hamms.as.arizona.edu>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit


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: tfolkers@as.arizona.edu
> ------------------------------------------  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 majordomo@rtlinux.org OR
> echo "unsubscribe rtl <Your_email>" | mail majordomo@rtlinux.org
> --
> For more information on Real-Time Linux see:
> http://www.rtlinux.org/rtlinux/

-- 
===================================================
                 Karim Yaghmour
               karym@opersys.com
      Embedded and Real-Time Linux Expert
===================================================