From owner-freebsd-net@FreeBSD.ORG Tue Sep 20 18:41:51 2005 Return-Path: X-Original-To: freebsd-net@freebsd.org Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 86E0916A41F for ; Tue, 20 Sep 2005 18:41:51 +0000 (GMT) (envelope-from vaibhave@cs.utah.edu) Received: from mail-svr1.cs.utah.edu (brahma.cs.utah.edu [155.98.64.200]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3813243D46 for ; Tue, 20 Sep 2005 18:41:51 +0000 (GMT) (envelope-from vaibhave@cs.utah.edu) Received: from localhost (localhost [127.0.0.1]) by mail-svr1.cs.utah.edu (Postfix) with ESMTP id 8B2C8346ED; Tue, 20 Sep 2005 12:41:50 -0600 (MDT) Received: from mail-svr1.cs.utah.edu ([127.0.0.1]) by localhost (mail-svr1.cs.utah.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 05919-10; Tue, 20 Sep 2005 12:41:50 -0600 (MDT) Received: from trust.cs.utah.edu (trust.cs.utah.edu [155.98.65.28]) by mail-svr1.cs.utah.edu (Postfix) with ESMTP id 3BF33346EC; Tue, 20 Sep 2005 12:41:50 -0600 (MDT) Received: by trust.cs.utah.edu (Postfix, from userid 4969) id 16F953F6C; Tue, 20 Sep 2005 12:41:50 -0600 (MDT) Received: from localhost (localhost [127.0.0.1]) by trust.cs.utah.edu (Postfix) with ESMTP id 07C2B3F6B; Tue, 20 Sep 2005 12:41:50 -0600 (MDT) Date: Tue, 20 Sep 2005 12:41:50 -0600 (MDT) From: Vaibhave Agarwal To: rizzo@icir.org Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Virus-Scanned: amavisd-new at cs.utah.edu Cc: freebsd-net@freebsd.org Subject: options Hz=100000, scheduling at 10 microseconds 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: Tue, 20 Sep 2005 18:41:51 -0000 hi, Just a little background - I want to fire events at 10 microsecond granularity in FreeBSD, and it was suggested to use Hz=100000 in the kernel config file. This is a good approach, only if I schedule events every 10 us ( which i am not doing ). Due to this high frequency interrupts, I am incurring a lot of overheads and deviations in firing events. I came across this other way of firing events at micro-seconds granularity, which uses "local APIC timer", by writing a us value into a register and generating the event when timer reaches zero. The implementation I know of is only in Linux. http://www.oberle.org/apic_timer.html and the technical paper is: http://stillhq.com/pdfdb/000522/data.pdf The paper shows that mean deviation of this approach is less than 3 us. But I can't find any such support for FreeBSD. Do you guys know of any such implementation for FreeBSD? Thanks for help, vaibhave