From owner-freebsd-current Fri Feb 23 08:17:27 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id IAA18403 for current-outgoing; Fri, 23 Feb 1996 08:17:27 -0800 (PST) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id IAA18379 Fri, 23 Feb 1996 08:17:05 -0800 (PST) Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.12/8.6.9) id DAA19724; Sat, 24 Feb 1996 03:13:53 +1100 Date: Sat, 24 Feb 1996 03:13:53 +1100 From: Bruce Evans Message-Id: <199602231613.DAA19724@godzilla.zeta.org.au> To: joerg_wunsch@uriah.heep.sax.de, olah@cs.utwente.nl Subject: Re: Keyboard lockout on 2.x.x Cc: freebsd-current@FreeBSD.org, sos@FreeBSD.org Sender: owner-current@FreeBSD.org Precedence: bulk >> > > Just FYI, specifying ASYNCH apparently fixed the lockups for me. >> > >> > So far me too. >> >> Søren, time to make it the default? Time to rewrite the keyboard driver? >I'm not sure that everyone would like it, because a virtual console >switch takes now a few 10th's of a second during which the system >seems to be halted (at least the HD stops grinding). I'm still The delay is because ASYNCH is less asynchronous than !ASYNCH. kbd_cmd() is always called at spltty(), so keyboard interrupts are blocked, so `kbd_reply' is as nonvolatile as it looks in the ASYNCH spinloop in kbd_cmd(), so the spinloop always times out. The keyboard reply is received and discarded some time later. Perhaps this sort of works by waiting for a few thousand times as long as necessary instead of a few microseconds shorter than necessary. Bruce