TDMA / Interrupts / Pre-emptible

Len Gross sandiegobiker at
Thu Dec 6 19:43:02 PST 2007

I have built a "user land" prototype of a custom network protocol for an RF
network.  It is based on Netgraph and using Ethernet rather than real RF.

Eventually, all the code will go into a special piece of hardware, but the
first hardware really will look like an Ethernet card that puts messages out
N microsends after they are put into its memory. Since the protocol employs
some TimeDivisionMultipleAccess (TDMA), "precise" feeding of the board is

In "userland" I seem to have about 1 ms of "delay"/variability from when I
schedule a timer and when it wakes up a thread.  I think this is pretty much
expected behavior and is fine for algorithm testing.

When I move my userland code to "driver/kernel-land" and set a timer to send
a packet to some hardware how much delay / variability will I see in that
timer?  I think the question is more/less equivalent to the pre-emptibility
of driver code and interrupts in general.

(If this should go to another forum, please advise.)

Thanks in advance.


More information about the freebsd-net mailing list