Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 01 Oct 2001 10:42:57 +0930 (CST)
From:      "Daniel O'Connor" <doconnor@gsoft.com.au>
To:        Bart Kus <bsd@shell-server.com>
Cc:        hackers@freebsd.org
Subject:   RE: precise timing
Message-ID:  <XFMail.20011001104257.doconnor@gsoft.com.au>
In-Reply-To: <200109301010.07784@EO>

next in thread | previous in thread | raw e-mail | index | archive | help

On 30-Sep-2001 Bart Kus wrote:
>       Right now, I use for() as a timing loop.  I calibrate it on program
start 
>  and can then get very precise timing.  There are, of course, the
>  intermittent 
>  interruptions of the multitasker.  So this solution is not ideal by any 
>  means.  In fact, the for() loop approach is really meant for the DOS port of
>  this software.  I'm wondering if there is any way I can access a more
>  precise 
>  interrupt-driven (or blocking) timing source.  I know I can do a select() 
>  with supposedly microsecond accuracy, but I doubt that it is in fact that 
>  accurate in practice (doesn't the kernel only use a 100Hz clock or 
>  something?).  Is there any way to get at the system timers on the 
>  motherboard?  Those can provide precise timing, no?

I suspect the only way you could achieve this in FreeBSD at the moment is to
write a kernel driver.

That way you can disable interrupts while you frob your board.. (And get quick
access when you need it).

---
Daniel O'Connor software and network engineer
for Genesis Software - http://www.gsoft.com.au
"The nice thing about standards is that there
are so many of them to choose from."
  -- Andrew Tanenbaum

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20011001104257.doconnor>