We (Vcolo.com, formerly pdxcolo.net) have been running with a variation on the attached patch from day one. I figure it's probably time to see if it should be included in the main distribution finally, especially since the API has now changed enough that moving it to 2.6.16 is going to get interesting. The premise is simple: mconsole should be SOCK_STREAM. In our case, this is used to detect the shutdown of the machine by simply polling for the control socket to close. It's saved us from all kinds of potentially bizarre polling modes, so it's been well worth it. The patch has worked fine so far, but I've never been satisfied with the way I kinda had to hack it into place without *fully* understanding the whole channel IRQ setup. Since 2.6.16 changed how that works, I'm now at the point where I need more expert advise, hopefully along the way to putting this into the mainstream UML kernel. Also attached is a version of uml_mconsole.c, forked who knows back when (~3yrs ago) so I'll have to dig out a file later to diff it against. The only changes that should be in that file are switching to SOCK_STREAM and read()/write() instead of recv()/sendto(). Whether this is something that belongs in the main UML kernel or not, I would much appreciate it if someone has the time to help me to make sure the soft-IRQ handling is sane while moving it to the 2.6.16 codebase. The patch is against 2.6.15.6 with uml-2.6.15-bs3-tls.patch. There might be some minor line offset fuzz from some other local patches. TIA, Omega aka Erik Walthinsen omega@vcolo.com