Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Mar 1996 07:09:03 +1100
From:      Bruce Evans <bde@zeta.org.au>
To:        rgrimes@freefall.freebsd.org, rgrimes@gndrsh.aac.dev.com
Cc:        CVS-committers@freefall.freebsd.org, cvs-all@freefall.freebsd.org, cvs-sys@freefall.freebsd.org
Subject:   Re: cvs commit:  src/sys/i386/isa rc.c
Message-ID:  <199603092009.HAA22595@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help

>Note that this patch really points to a problem in DELAY(X) for X
>smaller than 20.  Right now the DELAY code does an X=-20 and never
>really goes into the DELAY loop.

>It seems that on 133Mhz and faster Pentium systems the assumed overhead
>time of 20uS is no longer valid and something needs to be done to
>correct this.  This is especially true when calling short DELAY's in
>a loop since that all ends up running from the internal cache.

>If you spot DELAY being called in an loop some place with values of
>20 or below I suggest that the code be corrected to do what I did here
>or we are going to see more of these types of problems as system
>speeds increase.

Very short delays should only have been used when the precise delay
isn't critical.  It isn't practical to guarantee a maximum delay
(slow machines take several usec just to call DELAY(), and interrupts
may extend the delay for several thousand usec).  Perhaps DELAY()
should guarantee a minimal delay.  This would make all the stupid
timeout loops with DELAY(SMALL) give huge timeouts on slow machines
:-(.

Bruce



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