Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Mar 1996 02:56:36 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        pst@shockwave.com (Paul Traina)
Cc:        hackers@FreeBSD.org
Subject:   Re: real time interrupts in FreeBSD?
Message-ID:  <199603210956.CAA29454@phaeton.artisoft.com>
In-Reply-To: <199603210330.TAA12579@precipice.shockwave.com> from "Paul Traina" at Mar 20, 96 07:30:14 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> I've got a need for a kernel driver to go to sleep for a number of MS
> and then be awoken by an interrupt.  Timing is critical, so I can't just
> tsleep and get rescheduled later, and I don't have hardware of my own to
> generate the interrupt.
> 
> Therfore, I need to get a free CTC register, program it up, and have it
> generate an interrupt that I can service in the device driver.
> 
> Does anyone have any suggestions/ideas/help/pointers on how to do this.
> I've never done this kind of stuff with PC hardware before, so I don't
> even know where to start looking.

Rewrite the timer code to provide reschedulable one-shots.

This means moving the TOD clock (lbolt/HZ) to 64 or 128 and taking
over the RT clock for use in the one-shot.

The fix was first described in 1994 (by me)  8-).


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



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