kern/103498: momentary system "pauses" when switching VTYs
Rick C. Petty
rick-freebsd at kiwi-computer.com
Fri Sep 22 12:30:32 PDT 2006
>Synopsis: momentary system "pauses" when switching VTYs
>Arrival-Date: Fri Sep 22 19:30:21 GMT 2006
>Originator: Rick C. Petty
FreeBSD hostname.hidden 6.2-PRERELEASE FreeBSD 6.2-PRERELEASE #0: Fri Sep 22 14:13:49 UTC 2006 root at hostname.hidden:/usr/obj/usr/src/sys/GENERIC i386
>From the stock install of a 6.1-RELEASE DVD, I noticed that whenever I switched the virtual console to a different screen (e.g. alt-F4 for the shell during install), it would take almost 2 whole seconds before switching. I tried the same thing with various RELENG_6 sups including 6.2-PRERELEASE as of today. The only difference with 6.2-PRE was the pause is down to about 250ms.
During these pauses, it seems the entire kernel blocks during the switching operation, then resumes as if nothing went wrong. This was noticed because during the install, the ATA light would turn off the instant I hit the keys to switch and would come back on immediately as the console switches. This behavior was more obvious when the delay was two seconds but it still happens for a quarter of a second with 6.2-PRE.
This behavior is 100% repeatable for me. The same machines, running 5.1-R or 5.4-R, don't experience this delay-- the console switch is instantaneous. Nothing suspicious is showing in "systat -vms" or top. Nothing out of the ordinary appeared in any logs or dmesg.
Strangely, this problem doesn't exist on all my systems, just a few. I tried both GENERIC and SMP kernels. A dmesg output can be provided if necessary.
One thing which may be affecting this is all my systems which experience this behavior, I'm using kbdmux with no PS/2 keyboard attached. I suspect this problem appeared about the time kbdmux was added. However, I use the same USB keyboards (w/o PS/2) on other systems which work just fine.
1). Be unfortunate enough to have hardware similar to some of my machines (amd32 asus nforce2 boards, or p4 dell boards).
2). Connect a USB keyboard, disconnect any PS/2 keyboards.
3). Throw in a stock 6.1-RELEASE iso (or upgrade to 6.2-PRERELEASE).
4). When available, try switching the virtual console to another screen (e.g. alt-F2 for debug).
5). Observe 0.25 to 2.0 second delay.
More information about the freebsd-bugs