DragonFly kernel List (threaded) for 2003-07
Re: Annoucning DragonFly BSD!
Matthew Dillon wrote:
Well, I don't expect expect messages to ever get 'big' per say, auxillary
data will still be passed with pointer references from user->kernel
though anything that goes deeper into the kernel will likely be converted
into an iovec-like array of VM Objects.
I assume that anything large (blocks of data being written, etc) will be
passed by reference rather than as part of the message, and only be
marshalled into some kind of structured object that needs to be copied
when they're passed into a domain (like over a network, or even in some
cases to a file system running in user mode) where accessing them
through a reference would be expensive.
That would also resolve non-uniform memory maps: you'd just pass the
reference around in the message and copy it later. If it becomes
necessary to use some analog of "MEMF_PUBLIC" for efficiency that could
be hidden in the emulation layer... and it should be possible to manage
access to this memory so there's no potential compromises, assuming you
don't actually grant access to this address space for untrusted servers.