From owner-cvs-all Mon Sep 16 3:43:34 2002 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9C90337B400; Mon, 16 Sep 2002 03:43:33 -0700 (PDT) Received: from mailhub.fokus.gmd.de (mailhub.fokus.gmd.de [193.174.154.14]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1281E43E3B; Mon, 16 Sep 2002 03:43:32 -0700 (PDT) (envelope-from brandt@fokus.gmd.de) Received: from beagle (beagle [193.175.132.100]) by mailhub.fokus.gmd.de (8.11.6/8.11.6) with ESMTP id g8GAhMh19173; Mon, 16 Sep 2002 12:43:22 +0200 (MEST) Date: Mon, 16 Sep 2002 12:43:22 +0200 (CEST) From: Harti Brandt To: Poul-Henning Kamp Cc: Harti Brandt , Bruce Evans , Josef Karthauser , "David O'Brien" , , Subject: Re: cvs commit: src/sys/kern kern_timeout.c In-Reply-To: <13968.1032172299@critter.freebsd.dk> Message-ID: <20020916123330.R92332-100000@beagle.fokus.gmd.de> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Mon, 16 Sep 2002, Poul-Henning Kamp wrote: PK>In message <20020916122355.N92332-100000@beagle.fokus.gmd.de>, Harti Brandt wri PK>tes: PK> PK>>In case of the xl driver it is a problem with DELAY(). One xl_mii_readreg PK>>needs 184 DELAY(1) calls, each of which takes around 9usecs. The mii_tick PK>>needs several readregs. Just for testing I have converted all these DELAYs PK>>to use busy wait on the TSC. This cuts down the readreg() time to PK>>350usecs! PK> PK>I have a point on my TODO list about improving DELAY(), but nobody PK>has picked it up yet. Well, Mike Silbersack has pointed me to that TODO entry. Although I have an oscilloscope and a couple of different machines, its a matter of time. Its also not a matter of indirecting the DELAY() function to one or two function pointers - when I used the 'correct' DELAY for the entire xl driver it failed to attach. The problem is that a number of DELAY(1) calls assume that the delay is actually larger (see also the hackers discussion in january) - one would need to go through all DELAY() calls with small values and check what they are really used for. harti -- harti brandt, http://www.fokus.gmd.de/research/cc/cats/employees/hartmut.brandt/private brandt@fokus.gmd.de, brandt@fokus.fhg.de To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message