Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 Nov 1995 21:58:46 +1100
From:      Bruce Evans <bde@zeta.org.au>
To:        freebsd-hackers@freebsd.org, hosokawa@mt.cs.keio.ac.jp
Subject:   Re: DELAY's in syscons
Message-ID:  <199511181058.VAA20290@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>Hmm.. Does anyone remember that the conclusion of last thread about
>the DELAY's in syscons?

>I said a few months ago that the DELAY's of syscons may be
>insufficient for some combinations of fast machine like Pentium over
>100MHz and slow keyboards.

>I heard that some people has the same problem and I told them to
>increase all the DELAY's of syscons ten times.  And they reported me
>that this problem never happen.

DELAY(n) only delays n-20 usec on an infinitely fast machine so it
shouldn't be called with n <= 20 unless the precise delay doesn't matter.
Syscons and pcvt call it with delays <= 10 usec when the precise delay
does matter.

If this is the only problem, then increasing all the delays by a factor
of 10 (so that each delay is significantly larger than 20) and reducing
all the repeat counts by a factor of slightly less than 10 should work
until someone fixes DELAY(), but is ugly and usually wastes time.
Syscons and pcvt shouldn't use DELAY() in loops.

This isn't the only problem.  Large DELAY()s are reported to be
inaccurate on some PCI systems.  This is apparently because getit()
accesses the 8254 clock registers too fast.  Random errors of up
to 10 msec would defeat any reasonable keyboard delays.

Bruce



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