On 7/4/07, Robert Watson <[EMAIL PROTECTED]> wrote:
What do you mean by a network allocator?  How do you plan to use these pages?

First I just want to access a local copy of a distant buffer.
After the goal is to share memory between hosts (no concurrent access).

If you haven't already, you should look at the zero-copy socket code in
uipc_cow.c.  The main criticism of this approach has been that it uses
copy-on-write, leading to potential IPIs for VM shootdowns, etc.  An
alternative, more along the lines of IO-Lite, would be to allow user space to
explicitly abandon the page on send, then map a new page to replace it.  In
which case you might consider a variation on the send system call that accepts
only page-aligned arguments and has the effect of unmapping the pages that are
sent.  In neither case, on the transmit side, does this require an
modification to the kernel memory allocator.

The receive side has always been more tricky to deal with...


Ok I will take a look at uipc_cow.c,
Thank you
--
Nicolas Cormier
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to