From owner-freebsd-net@FreeBSD.ORG Fri Dec 7 03:43:02 2007 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7EEB416A417 for ; Fri, 7 Dec 2007 03:43:02 +0000 (UTC) (envelope-from sandiegobiker@gmail.com) Received: from rv-out-0910.google.com (rv-out-0910.google.com [209.85.198.191]) by mx1.freebsd.org (Postfix) with ESMTP id 57A1F13C455 for ; Fri, 7 Dec 2007 03:43:02 +0000 (UTC) (envelope-from sandiegobiker@gmail.com) Received: by rv-out-0910.google.com with SMTP id l15so580790rvb for ; Thu, 06 Dec 2007 19:43:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type; bh=RvvMa21v6kZ6rvIsL/i+0E6NAItOIJghE3+LM0yoqlY=; b=WB6Vn9DjK9UStnr1XNWHFwHIY0IoGoWPakQHCh9UnrLndhxw7mQTlOMLj+ijrdcCyEfokVUCQiZzAZphtmpeRQ9xMfMCqd4/tt/F42wqJ3jBY0HSZ4Qbt04l2XF+OMHQoHarf/jcYw6MD3CSFoltr+baPfx5rY6XYrKu1GGVh00= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type; b=YdRDq8j6J3wT/TxuA2YIrJKlN40TFsaOnrnEld63RWPg2bHnj7pszzKrCuwh0qscixG/ibKCFHMOeRoByzyzUB2Y+Y5S2zgWnn+p618CzioQ4sZLhxpPpW17Oe7Q7Q2OulznGBpT3118IG+1AJaWGV2E21I1xSMeViZ0PGULsRo= Received: by 10.140.171.4 with SMTP id t4mr2404524rve.1196997269722; Thu, 06 Dec 2007 19:14:29 -0800 (PST) Received: by 10.141.35.8 with HTTP; Thu, 6 Dec 2007 19:14:29 -0800 (PST) Message-ID: <27cb3ada0712061914g4aff5a7eq7d5cc64ba3d493ed@mail.gmail.com> Date: Thu, 6 Dec 2007 19:14:29 -0800 From: "Len Gross" To: "freebsd-net@freebsd.org" MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: TDMA / Interrupts / Pre-emptible X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Dec 2007 03:43:02 -0000 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 important. 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. --Len