Sorry for getting into the middle of the discussion, but...
Can you imagine how many userland APIs are needed to make userspace C/R?
Do you really want APIs in user-space which allow to:
- send signals with siginfo attached (kill() doesn't work...)
- read inotify configuration
- insert SKB's into socket buffers
- setup all TCP/IP parameters for sockets
- wait for AIO pending in other processes
- setting different statistics counters (like netdev stats etc.)
and so on...
For every small piece of functionality you will need to export ABI and maintain it forever.
It's thousands of APIs! And why the hell they are needed in user space at all?
BTW, HPC case you are talking about is probably the simplest one. Last time I looked into it, IBM Meiosis c/r
didn't even bother with tty's migration. In OpenVZ we really do need much more then that like
autofs/NFS support, preserve statistics, TTYs, etc. etc. etc.
On Nov 19, 2010, at 17:04 , Tejun Heo wrote: