From owner-freebsd-hackers Sat Nov 18 03:03:34 1995 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id DAA13846 for hackers-outgoing; Sat, 18 Nov 1995 03:03:34 -0800 Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.freebsd.org (8.6.12/8.6.6) with ESMTP id DAA13828 for ; Sat, 18 Nov 1995 03:03:20 -0800 Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.9/8.6.9) id VAA20290; Sat, 18 Nov 1995 21:58:46 +1100 Date: Sat, 18 Nov 1995 21:58:46 +1100 From: Bruce Evans Message-Id: <199511181058.VAA20290@godzilla.zeta.org.au> To: freebsd-hackers@freebsd.org, hosokawa@mt.cs.keio.ac.jp Subject: Re: DELAY's in syscons Sender: owner-hackers@freebsd.org Precedence: bulk >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