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]"