In article <20111223013511.ga10...@panix.com>, Thor Lancelot Simon <t...@panix.com> wrote: >On Thu, Dec 22, 2011 at 03:46:34PM -0500, Mouse wrote: >> >> ptrace can support this too. It can let sbrk/mmap through, but tell >> the usermode kernel as it does so. Or it can consult with the usermode >> kernel first, and then let them through in a possibly modified form. > >I still don't see how this allows for regions shared between usermode, >user-space processes. The user-space code in the shared processes would >have to periodically poll to see if any new shared regions were available >to it, or something -- ugh.
There are many ways to achieve the result needed. One would be to compile the usermode kernel process with a different emulation, one where regular system calls do something else (notify the usermode kernel), and the usermode kernel uses a different mechanism to do syscalls. Another would be for the usermode kernel to translate the syscall code during mapping. etc. A third one would be to add kevent_syscall and enable it per lwp, and have usermode kernel userland processes run in a different thread. They all have their own sets of problems. christos