A wild curiosity question. Would syslets have avoided changing the process ID if M:N threading had been adopted? I'm thinking here that if you return on a different kernel thread via M:N threading, it can still map to the same userspace thread, whereas 1:1 mapping obviously couldn't.
I remember the arguments against M:N - added complexity, it's not as optimal, etc - but should I actually not be so totally out in left-field on this, syslets + M:N might be more efficient than other AIO solutions.
(Of course, if it were that simple, it would have already been done. The core kernel crew catch chaotic coding quirks like that. It follows I'm likely not just out on left-field but about to step off the edge of the world. I'll let you know if there any elephants holding it up.)