Created attachment 253221 [details] test case Hi. Attached test-case demonstrates the problem. Compile it and run under vc (can be KMS or text console). It will print the keypresses, and the console switching will work normally. Then edit the source and change the SHOW_BUG macro to 1. It removes the small sleep between VT_ACTIVATE and VT_RELDISP. Recompile it and run again. But beware: your console will lock up without any ability to recover it (SAK helps though). The problem is that VT_ACTIVATE only does schedule_work(), and if your code does VT_RELDISP quickly, it all hangs.
Forgot to mention: use 'esc' key to exit the test-case. There is no other way to stop it.