On Thu, 2007-04-05 at 16:40 -0400, Steven Rostedt wrote: > Glauber noticed long delays between hitting a key, and seeing data come > up on the virtual console. Looking into this, I found that the > wake_parent routine that reads from all devices was actually starving > out the parent after sending the parent a signal to wake up. > > The thing is, the child which takes the console input is recognized by > the scheduler as an interactive process. The parent, doesn't do so > much, so it is recognized more as a CPU hog. So the child easily gets a > higher priority than the parent. Hmm, I changed the prio of the waker from "nice(19)" to "nice(5)" after Andi complained (he still isn't happy tho). I'll change it back for the moment. Unfortunately we need to keep sending signals to the parent, in order to avoid the race between unblocking SIGUSR1 and the read() on /dev/lguest. This is the nature of Unix signals, unfortunately. I've been pondering restoring the original /dev/lguest interface, which handed an fd directly into the kernel. Then the child would just use this fd and not send signals. It could well improve performance, too... Thanks for the bug report, Rusty. _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization