On Tue, May 27, 2008 at 02:28:26PM -0700, Maksim Yevmenkin wrote: > > well, i just took a brief look at atkbd(4). specifically one function > - wait_while_controller_busy(). this function polls status every > KBDC_DELAYTIME (20) usec with retry count of 5000. so, just this > function alone can give up to 100 msec delay. keep in mind that > wait_while_controller_busy() is apparently called every time driver > need to talk to the hardware. i can see how we could delay kernel for > 400 msec or even more.
I'm not sure why we retry 5000 times. 100ms seems like a long time to block the entire kernel. Is there any reason we can't spawn a kernel thread to deal with the waits? I recommend that we also reduce the timeouts to at most twice what the spec states. How come this doesn't happen when other keys are pressed? Just when the console is flipped. Perhaps because it tries to set the LEDs first? -- Rick C. Petty _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"