Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Sep 2002 13:10:48 +0200
From:      Poul-Henning Kamp <phk@critter.freebsd.dk>
To:        Harti Brandt <brandt@fokus.gmd.de>
Cc:        Bruce Evans <bde@zeta.org.au>, Josef Karthauser <joe@FreeBSD.ORG>, "David O'Brien" <obrien@FreeBSD.ORG>, cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG
Subject:   Re: cvs commit: src/sys/kern kern_timeout.c 
Message-ID:  <14465.1032174648@critter.freebsd.dk>
In-Reply-To: Your message of "Mon, 16 Sep 2002 12:43:22 %2B0200." <20020916123330.R92332-100000@beagle.fokus.gmd.de> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <20020916123330.R92332-100000@beagle.fokus.gmd.de>, Harti Brandt wri
tes:
>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.

Well, I would probably rather introduce a new nanosleep(unsigned)
function, and convert existing DELAY calls as I go, and retain DELAY
to have whatever broken behaviour people expect it to.

Then further down the road we can start to bitch about DELAY calls
or possibly bulk convert them and deal with the fallout.

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk@FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




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